数据链路层协议
- 停止 - 等待协议:源站发送单个帧后需等待确认才能发送下一个帧,发送窗口和接收窗口大小均为 1。源站配备计时器,超时未收到确认则重发。
- 后退 N 帧协议:发送方可以连续发送帧,发送窗口大小为到,接收窗口大小为。接收方按序接收,不按序则丢弃,采用累计确认。
- 选择重传协议:为提高信道利用率,只对出错的数据帧重传,需加大接收窗口长度以缓存乱序到达的帧,并对每帧逐一确认。发送窗口大小为到,接收窗口大小与发送窗口相关。
- ALOHA 协议:网络中的节点可随时发送数据,接收端成功接收后返回 ACK 信号。包括纯 ALOHA 协议和时隙 ALOHA 协议,纯 ALOHA 不监听信道、不按时间槽发送,随机重发;时隙 ALOHA 把时间分成时间片,冲突时需等到下一个时间片开始再重传。
- CSMA 协议:在 ALOHA 基础上,发送前先监听信道。包括 1 - 坚持 CSMA、非坚持 CSMA 和 p - 坚持 CSMA 三种类型。
- CSMA/CD 协议:适用于总线形网络或半双工网络环境,在 CSMA 基础上增加碰撞检测,遵循 "先听后发,边听边发,冲突停发,随机重发" 原则。
- CSMA/CA 协议:适用于无线网,将碰撞检测改为碰撞避免,通过发送请求传送报文和接收响应报文来降低碰撞概率。
- 令牌传递协议:令牌是特殊的 MAC 控制帧,不含信息,用于控制信道使用,确保同一时刻只有一个节点独占信道,适用于网络负载重、通信量大的网络,令牌环网物理上是星形拓扑结构,逻辑上是环形拓扑结构。
- PPP 协议:是目前使用最广泛的数据链路层协议,用于通过拨号或专线方式建立点对点连接发送数据,提供差错检测但不纠错,支持全双工链路,面向字节,可运行不同网络层协议。
网络层协议
- IP 协议:是 TCP/IP 协议栈的核心协议之一,通过 IP 地址实现网络通信的面向无连接和不可靠传输功能,还能防止数据包环路、实现流量控制、验证数据包完整性、实现数据包分片和组装。
- ARP 协议:用于从网络层的 IP 地址解析出数据链路层的 MAC 地址,主机设有 ARP 高速缓存,存储 IP 与 MAC 地址的映射。
- ICMP 协议:让主机或路由器报告差错和异常情况,分为差错报文和询问报文,如 ping 使用 ICMP 回送请求和回答报文,traceroute 使用 ICMP 时间超过报文。
- DHCP 协议:应用层协议,基于 UDP,用于给主机动态分配 IP 地址,主机启动时向 DHCP 服务器广播发送发现报文,服务器查找可用 IP 地址分配给主机。
- NAT 协议:通过将专用网络地址转换为公用地址,对外隐藏内部管理的 IP 地址,节省 IP 地址消耗,降低内部网络受攻击风险。
- RIP(路由信息协议):一种内部网关协议(IGP),基于距离矢量算法计算和交换路由信息。使用跳数衡量到达目标网络距离,最大跳数为 15,跳数 16 表示不可达。路由器周期性(默认 30 秒)向相邻路由器发送路由表信息,收到更新信息的路由器据此更新自身路由表。RIP v1 是有类路由协议,不支持子网掩码信息传输;RIP v2 是无类路由协议,支持子网掩码且增加认证等功能,适用于小型到中型规模网络,如小型企业网络或校园网络。
- OSPF(开放式最短路径优先):内部网关协议,基于链路状态算法。路由器通过 Hello 协议发现和维护邻居关系,构建并泛洪链路状态数据库(LSDB),再用最短路径优先(SPF)算法计算以自身为根的最短路径树,确定到达目标网络最佳路径。支持区域划分,适用于大型企业网络、园区网络及服务提供商网络等复杂网络环境。
- BGP(边界网关协议):外部网关协议(EGP),用于不同自治系统(AS)的路由器间交换路由信息。通过建立 TCP 连接(端口号 179)交换路径向量信息,包括到达目标网络的完整路径(AS 路径)及相关属性。有 Open、Update、Keep - alive、Notification 四种消息类型。适用于大型互联网服务提供商(ISP)之间互联及企业网络与多 ISP 连接场景。
传输层协议
- TCP 协议:提供面向连接、可靠的字节流传输服务。通过三次握手建立连接,四次握手释放连接,具有流量控制、拥塞控制等机制,确保数据的可靠传输。
- UDP 协议:提供无连接、不可靠的传输服务,数据报格式简单,传输效率高,适用于对实时性要求较高但对数据准确性要求相对较低的应用,如视频会议、实时游戏等。
应用层协议
- DNS 协议:用于将域名转换为 IP 地址,实现域名系统与 IP 地址之间的映射,使用 UDP 或 TCP 协议进行数据传输。
- FTP 协议:用于在网络上进行文件传输,采用客户端 - 服务器模式,建立两个 TCP 连接,一个用于控制连接,一个用于数据连接。
- SMTP 协议:用于发送电子邮件,规定了邮件发送的格式和流程,使用 TCP 协议进行数据传输。
- POP3 协议:用于接收电子邮件,用户通过客户端软件从邮件服务器上下载邮件到本地,使用 TCP 协议进行数据传输。
- HTTP 协议:用于万维网中客户端与服务器之间的信息交互,通过请求 - 响应模式获取网页等资源,使用 TCP 协议进行数据传输。
- IGMP(互联网组管理协议):用于 IP 组播,运行于主机和与其直接相连的组播路由器之间。有三个版本,IGMPv1 主机加入组播组时发送成员关系报告消息,路由器周期性查询;IGMPv2 增加离开组消息;IGMPv3 允许主机指定接收或拒绝某些组播源数据。在视频直播等多媒体组播业务场景广泛应用,能减少网络带宽占用。
- 由 TCP 封装的协议
- FTP(文件传输协议):FTP 协议的数据传输部分(包括控制命令和文件内容)会被封装到 TCP 段中。例如,当客户端发送一个文件下载命令或者服务器传输文件内容时,这些信息首先会被构建成符合 FTP 协议格式的数据单元,然后被 TCP 协议封装,添加上 TCP 头部(包含源端口、目的端口、序列号、确认号等信息),以保证数据的可靠传输。
- SMTP(简单邮件传输协议):在发送电子邮件的过程中,邮件的发送者、接收者、主题、正文等信息按照 SMTP 协议格式组织后,被封装到 TCP 段中。通过 TCP 协议的可靠连接,确保邮件能够从发送方的邮件客户端准确无误地发送到接收方的邮件服务器。
- POP3(邮局协议版本 3):当用户通过 POP3 协议从邮件服务器下载邮件时,邮件相关的数据(如邮件列表请求、邮件内容获取请求以及服务器的响应数据)被封装进 TCP 段。这使得客户端和服务器之间能够以可靠的方式进行通信,保证邮件数据完整地从服务器传输到客户端。
- HTTP(超文本传输协议)/HTTPS(安全的超文本传输协议):浏览器发送的网页请求(如 GET、POST 请求等)以及服务器返回的网页内容(包括 HTML 文件、图片、脚本等)都被封装在 TCP 段中。在 HTTPS 情况下,还会在 TCP 之上进行 SSL/TLS 加密,进一步保证数据的安全性和完整性。这些协议利用 TCP 的特性,保证了网页信息在客户端和服务器之间的可靠传输。
- BGP(边界网关协议):BGP 路由器之间交换的路由信息(如路径向量信息)被封装到 TCP 段中。通过 TCP 的可靠传输机制,确保不同自治系统之间的路由器能够准确地交换路由信息,维持网络的连通性和路由的准确性。
- 由 UDP 封装的协议
- DHCP(动态主机配置协议):DHCP 客户端发送的发现报文、请求报文以及 DHCP 服务器返回的提供报文、确认报文等都是被封装在 UDP 数据报中。由于 DHCP 主要用于网络初始化阶段的配置信息获取,对数据传输的可靠性要求相对较低,UDP 的简单高效特性适合这种快速配置信息交换的场景。
- DNS(域名系统)协议(部分情况):在进行常规的域名查询时,DNS 查询请求和响应信息被封装在 UDP 数据报中。因为域名查询通常数据量较小,对实时性有一定要求,UDP 的低开销和快速传输特点使其成为合适的选择。不过,在一些特殊情况下(如 DNS 响应数据较大或者需要更高的可靠性),也会使用 TCP 封装。
- IGMP(互联网组管理协议):主机发送的组播组成员关系报告消息和离开消息,以及路由器发送的查询消息等都被封装在 UDP 数据报中。这是因为 IGMP 主要关注组播成员关系的动态管理,对单个消息的可靠性要求不高,UDP 能够满足其高效的消息传递需求。
- RIP(路由信息协议)v2(部分情况):RIP v2 路由器发送的路由更新消息(可以是广播或组播形式)被封装在 UDP 数据报中。因为 RIP 协议是基于距离矢量算法,通过周期性地发送路由更新信息来维护路由表,对可靠性要求不是特别高,UDP 的简单性和高效性有助于减少协议开销。
- 直接与 IP 封装相关的协议(网络层)
- IP 协议本身:IP 数据包包含 IP 头部和数据部分,网络层的很多操作都围绕 IP 协议展开。IP 协议负责将上层(如 TCP、UDP)传递下来的数据封装成 IP 数据包,进行寻址和路由选择。
- ARP(地址解析协议):ARP 协议用于将 IP 地址解析为 MAC 地址。ARP 请求和响应报文是直接封装在链路层帧中,但它们是基于 IP 网络环境工作的,主要目的是协助 IP 协议完成数据链路层地址的解析,从而使 IP 数据包能够正确地在本地网络中传输。
- ICMP(互联网控制消息协议):ICMP 协议主要用于主机或路由器之间传递差错和异常情况的消息。ICMP 报文直接被封装在 IP 数据包中,作为 IP 协议的辅助协议,帮助维护网络的正常运行。例如,当 IP 数据包无法到达目标或者出现超时等情况时,通过 ICMP 报文向源端反馈信息。
- OSPF(开放式最短路径优先):OSPF 协议的数据包直接封装在 IP 数据包中,协议号为 89。路由器之间交换的链路状态通告(LSA)包含链路状态信息,如接口的 IP 地址、子网掩码、链路开销等内容。当路由器的链路状态发生变化时,会构建新的 LSA,封装进 IP 数据包并发送给其他路由器。通过这种方式,OSPF 在 IP 网络环境中传递链路状态信息,使每个路由器能够构建网络拓扑图,从而利用最短路径优先算法计算出到达各网络节点的最佳路径。IP 封装使得 OSPF 信息能够在网络层进行有效传播,就像 IP 为其提供了一个运输工具,让链路状态信息能够准确地在网络中流动,保证网络的路由功能正常运作。: