模块 14-15:传输层 应用层
第四次课
一、网络服务与传输层协议¶
-
客户端和服务器的关系
- 核心交互逻辑:大多数 Internet 应用依赖服务器与客户端的交互,二者需遵循统一标准和协议以保障通信正常。
- 定义:
- 服务器:安装特殊软件,为网络中其他主机提供信息或服务的主机(如 Web 服务器)。
- 客户端:安装特殊软件,向服务器请求信息并显示的主机(如 Web 浏览器)。
- 关键特征:客户端发起请求,服务器通过执行特定功能响应(如返回信息)。
- 典型实例:Web 浏览器与 Web 服务器的组合是最常用的客户端/服务器(C/S)系统。
- 参考资源:4.03 版教材动画 6.1.1.2 或 7.02 版教材 15.3.1 四步图。
-
常用网络服务简介
- 域名服务器(DNS):提供网站的 IP 地址或域名解析服务,使主机能与目标网站连接,对应 4.03 版 6.2 节、7.02 版 15.4 节,关联实验三。
- Web 服务器:基于超文本传输协议(HTTP),用于 Web 客户端与服务器间的信息传输,大部分网页通过 HTTP 访问,对应 4.03 版 6.2 节、7.02 版 15.3 节,关联实验三。
- 文件传输协议(FTP)服务器:支持客户端与服务器间的文件下载、上传操作,对应 4.03 版 6.2 节、7.02 版 15.5 节,关联实验三。
- 动态主机配置协议(DHCP)服务器:为客户端分配 IP 地址、子网掩码、默认网关等网络配置信息,对应 4.03 版 5.3 节、7.02 版 15.4 节,详见第六次课内容。
- Telnet 服务器:允许管理员从远程登录主机,以本地操作方式控制主机,典型示例为浙江大学海纳百川 BBS(telnet bbs.zju.edu.cn)、飘渺水云间 BBS,模块 2&10 曾提及 Telnet/SSH。
- 注意:Win7、8、10、11 等系统的 Telnet 客户端默认未启用,需通过“控制面板→程序和功能→启用或关闭 Windows 功能”勾选启用。
- 电子邮件服务器:使用简单邮件传输协议(SMTP)、邮局协议(POP3)或 Internet 邮件访问协议(IMAP),实现电子邮件的发送与接收,收件人地址格式为 user@xyz,对应 4.03 版 6.2 节、7.02 版 15.3 节。
-
协议在客户端服务器通信中的作用
- 协议层级:服务器与客户端通信遵循 TCP/IP 协议栈,自上而下分为应用层协议、传输层协议、互联网层协议、网络接入层协议(与 TCP/IP 模型一致)。
- 应用层(模块 15):与用户接近,协议如 Telnet、DHCP、DNS、SMTP、HTTP、FTP,定义交互规则(如 HTTP 规定请求与响应格式)。
- 传输层(模块 14):协议为 TCP、UDP,管理会话(如 TCP 格式化数据段、提供流量控制)。
- 互联网层(模块 8):核心协议为 IP,负责分配 IP 地址、封装数据段为数据包并路由。
- 网络接入层(模块 4、6、7):以以太网为代表,负责将数据包封装为数据帧,定义比特传输规则与物理介质标准。
- Web 通信示例:
- HTTP(应用层):指定网页请求与响应格式。
- TCP(传输层):管理会话,提供流量控制和确认机制。
- IP(互联网层):标识源和目的 IP,路由数据包。
- 以太网(网络接入层):封装数据帧并通过介质传输。
- 协议层级:服务器与客户端通信遵循 TCP/IP 协议栈,自上而下分为应用层协议、传输层协议、互联网层协议、网络接入层协议(与 TCP/IP 模型一致)。
-
传输层的 TCP 协议
- 核心特性:可靠传输,需接收方确认,类似挂号信或电话通话(先建立连接)。
- 数据处理流程:
- 发送端:将报文分割为带有序号的数据段并传输。
- 接收端:按序号重组数据段,恢复原报文并向上层应用传递,同时返回确认。
- 重传机制:发送方未在规定时间内收到确认,会重传丢失的数据段(仅重传丢失部分,非整个报文)。
- 典型应用:FTP、HTTP(依赖 TCP 确保数据无误传输)。
- TCP 连接建立(三次握手):
- 客户端 A 发送 SYN 标志数据段(SEQ=100),请求建立会话。
- 服务器 B 返回 SYN+ACK 标志数据段(SEQ=300,ACK=101),确认客户端请求并发起服务器到客户端的会话请求。
- 客户端 A 发送 ACK 标志数据段(SEQ=101,ACK=301),确认服务器请求,连接建立。
- 参考:7.02 版教材 14.5.2 三步图。
- TCP 会话终止(四次挥手):
- 客户端 A 发送带 FIN 标志的数据段,请求终止会话。
- 服务器 B 返回 ACK,确认收到 FIN。
- 服务器 B 发送带 FIN 标志的数据段,终止服务器到客户端的会话。
- 客户端 A 返回 ACK,确认收到 FIN,会话关闭。
- 参考:7.02 版教材 14.5.3 四步图。
- 可靠性与流量控制:
- 窗口大小:16 位 TCP 报头字段,指目的设备一次可接收和处理的字节数,建立会话时商定初始值,会话中可调整(滑动窗口),MSS(最大段大小)为数据段最大长度(如 1460 字节)。
- 拥塞避免:源设备通过发送速度与确认接收速度的差异判断网络拥塞,拥塞时减少发送字节数(非调整窗口大小),避免重传加剧拥塞。
-
传输层的 UDP 协议
- 核心特性:无确认、无重传机制,效率高,类似平信(不保证送达但可能性极高)。
- 数据处理:不跟踪数据段序号,不重组数据,仅按接收顺序向上层应用传递。
- 典型应用:音频流、视频流、IP 语音(VoIP)、Internet 广播等对延迟敏感、可容忍少量数据丢失的场景(丢失少量数据包仅导致轻微中断,若用 TCP 重传会造成明显暂停)。
- 与 TCP 的关系:IP 协议仅负责数据包结构、寻址和路由(不可靠),TCP/UDP 定义主机间数据传输方式,IP 依赖二者实现通信;TCP 属于可靠传输协议,UDP 属于简单不可靠传输协议。
- 层级归属:IP 协议属于 OSI 模型第 3 层(网络层),TCP/UDP 属于 OSI 模型第 4 层(传输层)。
-
TCP/IP 端口号(重要概念)
- 核心作用:标识 TCP/UDP 传输中所需的协议和服务,跟踪特定会话与目标服务,每个数据段包含源端口和目的端口信息。
- 端口分类:
- 目的端口:客户端告知服务器所需服务,不同服务对应唯一端口(避免冲突),如 FTP 21、HTTP 80。
- 源端口:发送方随机生成,用于标识两台设备间的会话。
- 示例:
- FTP 连接:源 192.168.1.5(源端口 1305)→ 目的 192.168.1.7(目的端口 21)。
- Web 连接:源 192.168.1.5(源端口 1099)→ 目的 192.168.1.7(目的端口 80)。
- 套接字(socket):源 IP+源端口或目的 IP+目的端口的组合;套接字对(源套接字+目的套接字)用于标识客户端与所请求的服务器及服务,区分互联网上同时进行的大量会话。
- 端口号范围与分类(16 位字段,范围 1-65535):
- 公认端口(1-1023):与通用服务关联,如 HTTP 80、FTP 21。
- 注册端口(1024-49151):可作为源端口或目的端口,用于注册网络应用(如即时消息)。
- 私有端口(49152-65535):多作为源端口,又称动态/临时端口,供任意网络应用使用。
- 管理机构:Internet 名称与数字地址分配机构(ICANN)。
二、各种应用层服务介绍¶
-
域名服务(DNS)
- 核心功能:通过 DNS 协议将域名与 IP 地址关联,提供域名解析服务(主机需通过 IP 地址访问目标,域名仅便于记忆),使用 53 端口。
- 解析机制:DNS 服务器存储域名与 IP 地址的对应表,客户端使用域名访问网站时,会自动向 DNS 服务器请求解析(对用户透明)。
- 参考资源:4.03 版教材动画 6.2.1.2 或 7.02 版教材 15.4.1 五步图,对应 7.02 版 15.4 节、实验三。
- 域名结构:
- 分层树状结构:根域→顶级域(一级域名,如.com、.edu、.cn)→二级域→子域→主机名,用句点“.”分隔,层次与书写顺序相反(如 speedtest.zju.edu.cn)。
- 完全资格域名(FQDN):定位主机的完整域名(如 www.zju.edu.cn),类似文件系统的绝对路径(如 C:\WINDOWS\System32\calc.exe)。
- 区域(zone):存储单个 DNS 域名的数据库,是域名称空间的一部分,DNS 服务器以区域为单位管理域名,一个服务器可管理多个区域,一个区域可由多个服务器管理。
- DNS 故障案例:
- 2014 年 1 月 21 日:国内 DNS 根服务器故障,导致大量.com、.net 域名指向美国 IP。
- 2016 年 10 月:美国 DNS 服务商 Dyn 遭物联网设备 DDoS 攻击,引发东部大规模互联网瘫痪。
- 国内案例:2013 年上海联通 DNS 故障、.CN 根域名服务器故障;2014 年浙江大学 DNS 服务器故障。
- 故障解决方案:手动设置公共 DNS 服务器,如 114DNS(114.114.114.114、114.114.114.115)、DNSPod DNS+(119.29.29.29、182.254.116.116)、阿里 AliDNS(223.5.5.5、223.6.6.6);IPv6 DNS(240c::6666、240c::6644)。
- 根服务器现状:
- IPv4:13 台,1 台主根+9 台辅根在美国,欧洲 2 台、日本 1 台,原由美国控制,2016 年管理权移交 ICANN(由美国国际互联网协会主导)。
- IPv6:“雪人计划”部署 25 台,国内 4 台(1 主 3 辅),打破无根服务器历史;2016 年 8 月后,.cn 域名解析无需通过美国根服务器。
- 通俗比喻:DNS 服务器类似班主任,存储“同学姓名(域名)-电话号码(IP 地址)”对照表,网关(如看门大爷)通过 DNS 获取目标 IP 后建立连接。
- 测试方法:
- 方法一:cmd 中输入“ping 完整主机域名”(如 ping www.zju.edu.cn),成功则显示域名解析后的 IP 地址。
- 方法二:cmd 中输入“nslookup 待解析的域名”(如 nslookup www.baidu.com),可指定 DNS 服务器(如 nslookup www.baidu.com 10.10.2.21),支持反向解析(如 nslookup 10.10.0.21)。
-
Web 服务
- 核心功能:在 Web 客户端(浏览器)与 Web 服务器间传输信息,对应 7.02 版 15.3 节、实验三。
- 核心协议与端口:
- HTTP(超文本传输协议):默认端口 80(网址中可省略),非 80 端口需显式指定(如 http://xxx:nnn),非安全协议。
- HTTPS:安全版 HTTP,基于 SSL 协议,默认端口 443(网址以 https://开头),用于网上银行、加密用户服务等场景。
- 网页编码:网页内容通过标记语言编码,HTML(超文本标记语言)是最常用类型。
- 安全漏洞:2014 年曝光 OpenSSL“心脏滴血”漏洞,可能泄露加密密钥,需升级至 OpenSSL 1.0.1g;建议漏洞曝光后修改电商、支付平台密码。
- 通信过程参考:4.03 版教材动画 6.2.2.1 或 7.02 版教材 15.3.1 四步图。
-
FTP 服务
- 核心功能:实现客户端与服务器间的文件上传、下载及远程管理,对应 7.02 版 15.5 节、实验三。
- 协议与端口:
- 控制端口:默认 21(建立连接、发送控制命令),可修改(如 111)。
- 数据端口:默认 20(传输数据),由 FTP 软件自动选择。
- FTPS(安全 FTP):使用 990 端口。
- 访问方式:
- 命令行:Windows cmd 中输入“ftp”,支持 open、dir、get、put、quit 等命令(如 ftp>open 10.71.72.84 111)。
- 系统内置客户端:Windows 资源管理器/此电脑(输入 ftp://xxx 或 ftp://xxx:nnn)。
- 专用 GUI 客户端:FlashFXP、FileZilla、Total Commander 等,支持被动模式传输。
- 模式示例:
- 主动模式:客户端发起控制连接,服务器主动发起数据连接。
- 被动模式:客户端同时发起控制连接和数据连接(类似浏览器),需在客户端软件中勾选设置。
-
电子邮件服务
- 核心功能:在服务器用户信箱中发送、接收、存储邮件,服务器软件支持与客户端或其他邮件服务器交互。
- 地址格式:user@公司.域(如 xxx@zju.edu.cn)。
- 核心协议与端口:
- SMTP(简单邮件传输协议):发送邮件,默认端口 25,安全加密端口 465、587、994。
- POP3(邮局协议):收取邮件,默认端口 110,安全加密端口 995;默认下载邮件后服务器不保留副本。
- IMAP4(Internet 邮件访问协议):收取邮件,默认端口 143,安全加密端口 993;邮件保留在服务器,可仅下载主题,需查看时再下载内容(节省流量和时间)。
- 协议应用场景:
- SMTP:客户端向本地邮件服务器发送邮件,邮件服务器间传输邮件。
- POP3:适用于大多数邮件服务器,客户端下载邮件后本地存储。
- IMAP4:适用于 Gmail、网易 163、新浪等邮箱,支持多设备同步邮件状态。
- 注意:使用网页版邮箱无需关注协议;使用 Outlook、Foxmail 等客户端或手机/平板邮件 App 时,需配置对应协议和端口。
-
IM 服务
- 核心功能:通过即时消息软件实现 Internet 实时通信/聊天。
- 关键特性:
- 协议与端口:不同 IM 服务可能使用不同协议和目的端口,需安装兼容软件才能通信。
- 配置要求:极少配置即可使用,各类主机均可下载安装客户端软件。
-
语音服务
- 核心技术:IP 语音(VoIP=Voice over IP),通过 IP 数据包传输数字化语音数据。
- 实现方式:
- 客户端软件:采用点对点技术(类似 IM)。
- 呼叫普通电话(座机/手机):需通过网关访问公共交换电话网(PSTN)。
-
小结 1:常用端口号
- Telnet:默认 23(如 telnet bbs.zju.edu.cn=telnet bbs.zju.edu.cn 23)。
- POP3:默认 110,加密端口 995。
- SMTP:默认 25,加密端口 465、587、994。
- HTTP:默认 80。
- HTTPS:默认 443。
- FTP:控制端口 21,数据端口 20,FTPS 端口 990。
- DNS:53。
- IMAP4:默认 143,加密端口 993。
- Telnet over SSL:992 端口。
- 常用工具:netstat -b 命令(查看当前网络连接的端口号及关联程序)、CurrPorts 软件(查看应用程序占用端口情况)。
-
小结 2:使用 TCP 的应用层网络服务
- 核心服务:FTP、SMTP、HTTP、Telnet。
- 底层依赖:TCP 协议提供可靠传输,IP 协议提供路由支持。
-
小结 3:使用 UDP 的应用层网络服务
- 核心服务:DNS、DHCP、VoIP、IPTV、SNMP(简单网络管理协议)、TFTP(简单文件传输协议)。
- 适用场景分类:
- 实时视频/多媒体应用:可容忍部分数据丢失,要求低延迟(如 VoIP、实时流视频)。
- 简单请求/应答应用:处理简单事务,无需必收应答(如 DNS、DHCP)。
- 自行处理可靠性的应用:无需传输层提供流量控制、错误监测等,或应用自身可处理(如 SNMP、TFTP)。
- 特殊说明:DNS 和 SNMP 默认使用 UDP,当请求/响应大于 512 字节时改用 TCP。
-
总结
- 服务器定义:运行特定软件,为网络中其他主机提供服务的主机。
- 协议作用:
- 应用服务协议:决定服务器与客户端的交互和信息交换方式。
- 传输协议(TCP/UDP):定义端口号,管理服务器与客户端间的每次会话。