网络服务与实施
同学们好!欢迎来到“网络服务与实施”的学习笔记。你有没有想过,为什么你可以在手机上即时观看视频、与同学分享项目文件,甚至只是连接到家中的 Wi-Fi?本章将揭示这一切的运作奥秘!
我们会探讨电脑如何“沟通”(客户端-服务器模型),然后学习如何架设一个简单的网络,并实践应用,分享文件、打印机和网络应用程序等资源。这听起来可能很专业,但我们会用简单的例子来逐一说明。让我们开始吧!
第一部分:电脑如何“沟通”—— 客户端-服务器通讯
互联网和大部分网络的核心,是一个简单的理念:一台电脑提出请求,另一台电脑则提供服务。这就是客户端-服务器模型。
1.1 客户端与服务器:餐厅类比
想象一下,你在一间餐厅里。你是顾客,想点餐。服务生和厨房就是为你服务的。
• 客户端:这就是你!在电脑世界里,客户端是你的设备 (你的电脑、手机、平板电脑),它运行着一个程序来请求服务或信息。例如,当你在浏览器中输入网站地址时,你的浏览器程序正充当客户端。
• 服务器:这就是服务生和厨房。服务器是一台运行专用软件的电脑,它存储信息或提供客户端所需的服务。它会持续监听传入的请求、处理它们,并透过发送数据来回应。你想浏览的网站就存储在服务器上。
所以,角色很简单:
客户端 = 请求东西 (发出请求)
服务器 = 提供东西 (发送回应)
1.2 套接字 (Socket)、端口号与请求-回应周期
当客户端与服务器通讯时,两个网络进程 (程序) 会使用称为套接字 (Socket) 的端点进行连接,它是 IP 地址与端口号的组合 (例如 192.168.1.10:80)。
TCP 端口号 (Port Number):找到正确的“部门”
想象一下,服务器就像一栋巨大的办公大楼。服务器的 IP 地址就像大楼的街道地址。但你如何找到里面正确的“部门”呢?这就是端口号 (Port Number) 的作用!端口号是一个 16 位的数值,附在连接请求中,用以将请求导向服务器上运行的正确服务。
• 网页浏览 (HTTP):端口号 80
• 安全网页浏览 (HTTPS):端口号 443
• 发送电邮 (SMTP):端口号 25
• 接收电邮 (POP3):端口号 110 / (IMAP):端口号 143
• 文件传输协议 (FTP):端口号 20 (数据) / 端口号 21 (控制)
• 安全文件传输协议 (SFTP / SSH):端口号 22
你知道吗?TCP 端口号总共有 \(2^{16} = 65\text{,}536\) 个,编号由 \(0\) 到 \(65\text{,}535\)。端口号 \(0\) 到 \(1023\) 被称为“熟知端口号”,预留给标准系统服务使用。
HTTP 请求:GET 与 POST
网页客户端与网页服务器透过 HTTP 请求和回应进行沟通:
• GET 请求:用于从服务器获取数据。数据参数会直接附加在 URL 查询字符串中 (例如 search?query=hkdse)。它会显示在浏览器历史记录中并可加入书签,但不适合用于传输敏感数据。
• POST 请求:用于发送或提交数据到服务器进行处理 (例如提交密码、用户注册或上传文件)。数据在 HTTP 消息主体中传输,因此更安全,且能携带更大的数据量。
记忆小提示:想想 GET = “去给我拿些东西!”和 POST = “把我装在信封里发给你的这些信息拿走!”。
1.3 超级服务器:认识团队成员!
网络依赖不同类型的服务器,各有专责:
• DHCP 服务器 (Dynamic Host Configuration Protocol):“地址派发者”。当客户端设备连接到网络时,自动为其分配动态 IP 地址、子网掩码、默认网关及 DNS 服务器地址。
• 域控制器 (Domain Controller):“保安人员”。在域网络中集中管理用户账户身份验证、密码管理和访问控制策略 (例如允许学生使用相同的凭据登录学校的任何一台电脑)。
• 文件服务器 (File Server):“中央金库”。集中存储文件,让获授权的网络用户可以透过网络文件共享协议 (例如 SMB/CIFS 或 NFS) 来共享、存储和备份文件。
• FTP / SFTP 服务器:“文件运输员”。专门用于跨网络上传和下载文件。标准 FTP 以明文传输凭据和文件,而 SFTP 则透过 SSH 加密指令和数据,以进行安全的文件远程传输。
• 打印服务器 (Print Server):“队列管理员”。将打印机连接到网络,管理暂存区/队列中的传入打印作业,无需每台客户端电脑都以实体线路连接到打印机。
• 邮件服务器 (Mail Server):“邮局”。负责电邮传递,使用 SMTP (简单邮件传输协议) 在服务器之间发送邮件,并使用 POP3 (邮局协议) 或 IMAP (互联网消息访问协议) 供客户端下载或同步邮件。
• 代理服务器 (Proxy Server):“中间人”。拦截客户端的网页请求,以提供网页缓存 (加速热门网页的访问)、URL 过滤 (封锁受限网站),并隐藏内部客户端 IP 地址以提高安全性。
• 网络服务器与数据库服务器:“黄金搭档”。网络服务器 (例如 Apache、Nginx、IIS) 托管网页文件 (HTML、CSS、JavaScript、PHP) 并将其传送给浏览器。数据库服务器 (例如 MySQL、PostgreSQL、MariaDB) 则存储和检索结构化记录,供动态网页应用程序使用。
• 网关 (Gateway):“翻译员/出口”。连接两个使用不同协议和子网的相异网络,例如在本地家庭网络 (LAN) 与更广阔的互联网 (WAN) 之间路由流量。
第二部分:建立你的网络——基本实施
既然我们已经了解了理论知识,让我们看看如何实际地组建网络并安全地共享资源。
2.1 连接方式:以太网 (Ethernet) vs. 无线 (Wireless)
• 以太网 (有线):使用物理线缆 (例如 Cat 5e/Cat 6 UTP 双绞线) 将电脑连接到交换机或路由器。它提供高带宽、低延迟,并能抵抗无线电干扰。
• 无线 (Wi-Fi):透过无线接入点 (WAP) 或无线路由器以无线电频率连接设备,为笔记本电脑和移动设备提供流动性。
• 对等网络 (Ad hoc network):一种分散式的点对点无线连接,直接在两台或多台设备之间建立,无需透过中介的路由器或接入点 (适用于快速的本地文件交换)。
2.2 资源共享与文件共享协议
网络允许用户共享重要的硬件和数据资源:
• 共享文件夹 (操作系统层级 / SMB):操作系统内置的文件夹共享功能,让网络用户可以在局域网 (LAN) 上实时浏览和编辑文件,就像使用本地文件一样。
• FTP / SFTP 服务:非常适合透过互联网批量传输大型文件,或更新远程托管服务器上的网页文件。
• 网络打印机:多个用户透过局域网将打印作业发送到由打印服务器管理的共享打印机,从而优化硬件使用。
• 互联网共享:路由器充当默认网关和 NAT (网络地址转换) 设备,在多个私有 LAN 设备之间共享单一公共 IP 宽带连接。
2.3 谁可以做什么?权限与访问控制
为了保护共享文件夹和文件免受未授权访问或意外删除,网络管理员会根据最低权限原则 (仅给予用户执行工作所需的最低限度访问权限) 来设定权限。
标准权限类型:
• 读取:允许查看文件夹内容、打开文件及查看属性,但不能修改它们。
• 写入:允许创建新文件、修改现有文件内容及覆盖数据。
• 执行:允许运行可执行程序或脚本文件。
• 完全控制/修改:结合了读取、写入、执行、删除以及更改访问权限的能力。
用户组与权限继承:
管理员不会为每位学生单独分配权限,而是创建用户组 (例如 Administrators、Teachers、Students、Guests) 并为整个组分配权限。放置在共享文件夹中的文件通常会从父文件夹获得继承权限。
2.4 设定简单网络服务 (网页与数据库)
对于学校实作项目或本地测试,学生可以设定本地网页和数据库服务:
• 本地网络服务器:在本地机器上运行服务器软件 (例如 Apache、Nginx 或 Node.js),以便在公开发布前,透过 http://localhost 或本地 IP 地址在本地测试网页和服务器端脚本。
• 本地数据库服务器:在同一台主机或局域网内的另一台机器上设定数据库服务 (例如 MySQL 或 MariaDB),使网页应用程序能够执行 SQL 查询以存储和管理动态数据。
第二部分重点总结:网络能够透过有线 (以太网) 和无线媒介共享文件、打印机和互联网连接。透过套用适当的文件权限 (读取、写入、执行)、用户组以及安全协议 (如 SFTP 和 HTTPS),网络资源得以保持可访问、井井有条且安全。