云计算大数据——数据链路层、网络层与传输层原理详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
一、数据链路层与交换机
1.1 数据链路层
1.1.1数据链路层的主要功能
数据链路层是OSI模型中的第二层,位于物理层和网络层之间,主要负责将网络层的数据封装成帧并通过物理介质传输。其核心功能包括以下几个方面:
建立连接
在面向连接的服务中建立、维护和释放数据链路(如PPP协议)。无线网络中的关联、认证过程也属于链路管理范畴。。
帧同步与封装
数据链路层将网络层传递的数据包封装为帧(Frame),添加帧头(包含目标地址、源地址等控制信息)和帧尾(通常为校验序列)。帧同步机制确保接收方能准确识别帧的开始和结束位置。
差错控制
采用校验机制(如CRC循环冗余校验)检测传输过程中的比特错误。部分协议支持ARQ(自动重传请求)机制,通过确认和重传纠正错误帧。
流量控制
调节发送方的数据传输速率,避免接收方因缓冲区溢出导致数据丢失。常见方法包括停等协议、滑动窗口协议(如Go-Back-N、选择性重传)。
1.1.2 以太网的发展历程
以太网的发展历程是一部计算机网络技术不断演进的历史,从最初的实验室概念发展成为当今应用最广泛的局域网技术。以下是其主要发展阶段:
起源与奠基阶段(1970-1980 年):1973 年,施乐 PARC 的罗伯特・梅特卡夫和 David Boggs 设计了首个以太网系统,连接多台 Alto 计算机与激光打印机,传输速率为 2.94Mbps,并于同年 5 月 22 日正式将其命名为 “以太网”。1980 年,DEC、英特尔、施乐联合发布 DIX Ethernet V2 标准,定义了 10Mbps 同轴电缆传输和 MAC 帧格式,为以太网的商业化奠定了基础。
标准化与局域网普及阶段(1980-1990 年):1983 年,IEEE 成立 802.3 工作组,发布了 IEEE 802.3 标准,支持 10Mbps 同轴电缆(10BASE5),采用 CSMA/CD 协议解决冲突。1985 年,细缆以太网(10BASE2)标准发布,使用更轻便的 RG-58 同轴电缆,成本大幅降低。1990 年,IEEE 802.3i 标准发布,引入非屏蔽双绞线(UTP),配合 RJ-45 接口,传输距离达 100 米,推动以太网从总线型向星型拓扑转型。
高速以太网时代(1990-2000 年):1995 年,IEEE 802.3u 标准发布,定义了快速以太网(100BASE-T),速率提升至 100Mbps,支持 100BASE-TX(两对 5 类 UTP)和 100BASE-FX(光纤传输)等介质标准。1998 年和 1999 年,IEEE 分别发布了千兆以太网标准 IEEE 802.3z(1000BASE-X,基于光纤)和 IEEE 802.3ab(1000BASE-T,基于双绞线),实现了 1Gbps 的传输速率。
从局域网到广域延伸阶段(2000-2010 年):2002 年,IEEE 802.3ae 标准发布,定义了万兆以太网(10GBASE-X),支持光纤长距传输,首次将以太网带入城域网骨干,同时采用全双工模式,取消了 CSMA/CD 协议。2006 年,IEEE 802.3an 标准发布,实现了铜缆万兆(10GBASE-T),使用六类 UTP 实现 100 米内万兆传输。
持续创新与未来演进阶段(2010 年至今):2010 年,IEEE 802.3az 标准发布,定义了节能以太网(EEE),在链路空闲时降低功耗。2012 年,IEEE 802.3ba 标准发布,支持 40G/100Gbps 以太网,满足数据中心海量数据交换需求。2018 年,400G 以太网标准开始逐步确立,通过 PAM4 调制和并行传输,单通道速率提升至 50Gbps。2022 年,IEEE 802.3 标准新增 2.5G/5G/10GBASE-T1、车载以太网等内容。此外,超以太网联盟(UEC)于 2025 年发布了 UEC 规范 1.0 版本,致力于创建基于以太网的开放高性能通信堆栈,以满足下一代 AI 和高性能计算的需求,同时 IEEE 也在推进 200G/400G/800G/1.6T 以太网等相关标准的制定
典型协议示例
- 以太网(IEEE 802.3):使用MAC地址和CSMA/CD机制。
- Wi-Fi(IEEE 802.11):无线介质访问控制采用CSMA/CA。
- PPP:点对点链路上的简单成帧与差错检测。
- HDLC:面向比特的高级数据链路控制协议。
1.2 MAC地址与帧格式
1.2.1MAC地址
MAC地址的概念
计算机联网必须依赖网卡这一硬件设备。在通信过程中,用于标识主机身份的是一个固化在网卡上的硬件地址。每块网卡出厂时,除了具备基本功能外,都被赋予一个全球唯一的标识号,这个地址就是MAC地址,也就是网卡的物理地址。
定义:MAC 地址(介质访问控制地址)是网络设备的物理地址,由 48 位二进制数(6 组十六进制数)组成,用于数据链路层标识同一网络内的唯一设备,确保数据精准投递。如 00-D0-09-A1-D7-B7,前24位为厂商编号,后24位为网卡序列号。
类型:
单播地址(第8位为0):标识单个设备。
组播地址(第8位为1):标识一组设备。
广播地址(FF-FF-FF-FF-FF-FF):发送给所有设备。
1.2.2以太网帧格式


前导码(7字节):同步时钟。
帧起始定界符(1字节):标记帧的开始。
目标/源MAC地址(各6字节):标识收发双方。
类型(2字节):上层协议类型(如IP或ARP)。
数据(46~1500字节):有效载荷。
FCS(4字节):校验和,确保数据完整性。
1.3交换机的工作原理(重点)
1.3.1 工作流程
学习MAC地址:记录源MAC地址与接口的映射关系。
查表转发:
已知目标MAC:直接转发到对应接口。
未知目标MAC:广播泛洪。
单播通信:目标设备响应后,更新MAC地址表。交换机会记录它的MAC地址,下次直接送,不再广播。
1.3.2 工作模式
单工:单向通信(如对讲机)。
半双工:交替收发(如步话机)。
全双工:同时收发(如电话通话)。
二、网络层
2.1 网络层的功能
核心功能:实现跨网络的端到端数据分组传输,解决不同网段间的路由选择和寻址问题。
核心功能要点
地址管理:定义三层逻辑地址(如 IP 地址),标识跨网络的主机位置,与数据链路层的 MAC 地址(二层物理地址)配合使用。
路由选择:通过路由协议(如 OSPF、RIP)计算最优传输路径,选择合适的下一跳设备转发分组。
分组转发:接收数据链路层的帧并提取分组,根据路由表将分组转发至目标网络或下一跳路由器。
分段与重组:当分组超过目标网络的 MTU(最大传输单元)时,将其分段传输,到达目标主机后再重组为完整数据。
拥塞控制:通过流量管控机制(如 TCP 滑动窗口、ICMP 源抑制)缓解网络过载,避免分组丢失。
关键作用
跨网段通信:打破局域网限制,实现不同子网、不同类型网络间的互联互通。
独立于底层链路:屏蔽物理层和数据链路层的差异,无论底层是以太网、光纤还是无线链路,均能统一传输分组。
2.2 路由器的工作原理(重点)
路由器的核心原理是基于 IP 地址转发数据包,实现跨网络的路由选择与互联,是网络层的核心设备。
一句话总结:路由器根据目标IP选择最佳路径到达对端。
2.3 IP数据包格式
IP数据包就像快递包裹,里面装着你要传输的数据(比如网页、视频)。它的“包装信息”分为头部(Header)和数据(Data)两部分,头部用来告诉网络设备这个包裹该怎么送。
版本(4比特)
比如 IPv4 (写的是 4 )或 IPv6 (写的是 6 ),这里显然是IPv4。
首部长度(4比特)
表示IP头有多长(单位是4字节),一般最小是 5 (即20字节,没有可选字段时)。
优先级与服务类型(8比特)
用来区分包裹的“紧急程度”,比如视频通话的包优先级比普通网页高。
总长度(16比特)
整个IP包的长度(头部+数据),最大能到 65535 字节。
标识符、标志、段偏移量(共32比特)
标识符:给数据包编号,方便分片后重组(比如大文件拆成多个小包)。
标志:比如 不要分片(DF) 或 还有更多分片(MF) 。
段偏移量:告诉接收方“这个分片在原数据中的位置”。
如果数据太大(比如超大文件),IP层会把它切成多个小包(分片),接收方再拼回去。
通过 标识符 、 标志 、 段偏移量 这三个字段控制分片和重组。
TTL(8比特)
“存活时间”,每经过一个路由器就减1,到0就丢弃(防止包在网络上无限转圈)。
协议号(8比特)
说明数据部分是什么“快递公司”的货(比如 6=TCP 、 17=UDP )。
首部校验和(16比特)
检查头部是否在传输中出错(如果错了就丢掉)。
源地址 & 目标地址(各32比特)
就是发件人(你的IP)和收件人(服务器IP)的地址。
可选项(可选)
额外功能,比如安全标签,一般不用。
数据
上层(比如TCP/UDP)传下来的内容,IP层只负责搬运,不关心里面具体是啥。
2.4 ICMP协议
ICMP(Internet Control Message Protocol)即网际控制报文协议,
用于传递网络状态、错误报告与诊断信息(如 ping、tracert就用它)
2.4.1 ping命令的用法
常见 Ping 参数:
-t 在 Windows 操作系统中,默认情况下发送 4 个 ping 包,如果在 ping 命令后面加上参数“-t”,系统将会一直不停地 ping 下去
-a 显示主机名
-l 一般情况下,ping 包的大小为 32 字节,有时为了检测大数据包的通过情况,可以使用参数改变ping 包的大小
在linux 系统下为 -s
-n 指定发送包的个数
在linux 系统下为 -c
-S 指定源IP去ping
在linux 系统下为 -l
2.5.1 ARP工作原理(重点)
2.5 ARP协议(IP → MAC 的翻译官)
ARP(Address Resolution Protocol)是地址解析协议,它的作用是将一个已知的IP地址解析成MAC地址。
2.5.1 ARP工作原理(重点)
1.PC1想发送数据给PC2, 会先检查自己的ARP缓存表。
2.如果发现要查找的MAC地址不在表中,就会发送一个ARP请求广播,用于发现目的地的MAC地址。ARP请求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此时为广播MAC地址FF-FF-FF-FF-FF-FF)。
3.交换机收到广播后做泛洪处理,除PC1外所有主机收到ARP请求消息,PC2以单播方式发送ARP应答, 并在自己的ARP表中缓存PC1的IP地址和MAC地址的对应关系,而其他主机则丢弃这个ARP请求消息。
4.PC1在自己的ARP表中添加PC2的IP地址和MAC地址的对应关系,以单播方式与PC2通信。
2.5.2 ARP相关命令
- 查看 ARP 缓存表:arp -a
- 添加静态 ARP 表项:arp -s IP地址 MAC地址
- 删除 ARP 表项:arp -d IP地址
2.5.3 ARP攻击与防御
攻击原理:伪造ARP响应,劫持流量(中间人攻击)。
防御措施:
静态ARP绑定:手动配置IP-MAC映射。
加密通信:使用HTTPS/SSH避免数据泄露。
三、传输层(TCP vs UDP)
3.1 TCP协议
3.1.1 特点
面向连接:通过三次握手建立可靠连接。
可靠传输:丢包重传、数据排序。
流量控制:动态调整窗口大小。
3.1.2 TCP报文段
端口号:标识收发进程(如HTTP默认80端口)。
序号/确认号:确保数据有序传输。
控制标志:如SYN(连接请求)、FIN(断开连接)。
窗口大小:通告接收缓冲区剩余空间。
校验和:检查包裹是否损坏(计算数据完整性,发现错误就丢弃)。
控制标志位:
URG:紧急数据(比如快递包裹上贴“加急”标签)。
ACK:确认有效(相当于“我已收到你的消息”)。
PSH:催促对方立刻处理(类似“尽快拆包”)。
RST:强制断开连接(突然拒收包裹,终止交易)。
SYN:发起连接请求(“你好,我要寄快递”)。
FIN:礼貌结束连接(“我的包裹发完了,再见”)。
记忆口诀:URGENT加急,ACK要确认,PSH快处理,RST断连接,SYN打招呼,FIN说再见 。
3.1.3 连接管理(重点)
3.1.3.1 三次握手(建立连接):
客户端→服务器:发送SYN报文(Seq序列号=x(x为随机),SYN=1(表示发送连接请求))。
服务器→客户端:发送SYN+ACK报文(Seq序列号=y,Ack确认号=x+1,SYN=1,,ACK=1)。
客户端→服务器:发送ACK报文(Seq序列号=x+1,Ack确认号=y+1,ACK=1)。
3.1.3.2 四次挥手(断开连接):
主动方→被动方:发送FIN/ACK报文(FIN=1,ACK=1)。
被动方→主动方:发送ACK报文(ACK=1)。
被动方→主动方:发送FIN/ACK报文(FIN=1,ACK=1)。
主动方→被动方:发送ACK报文(ACK=1)。
3.1.3.3为什么要三次握手
核心结论:三次握手是 TCP 协议建立可靠连接的必要流程,本质是双向确认通信双方的收发能力正常、同步初始序列号,避免无效连接或数据丢失,为后续可靠传输打基础。
一、三次握手的核心目的
验证双向可达性:确保发送方能收到接收方的应答,接收方也能收到发送方的请求,双方收发功能均正常。
同步初始序列号(ISN):TCP 通过序列号保证数据有序、不重复,三次握手过程中,双方会交换各自的初始序列号并确认,为后续数据传输的编号规则达成一致。
避免 “失效连接请求” 干扰:防止历史残留的无效连接请求报文突然到达接收方,导致错误建立连接。
二、为什么不能是两次或四次
两次握手:仅能确认 “发送方能发、接收方能收”,无法确认 “接收方能发、发送方能收”,且接收方无法验证发送方是否收到自己的序列号确认,可能导致连接建立后数据传输失败。
四次握手:三次握手已完成双向验证和序列号同步,第四次握手属于冗余操作,不会提升可靠性,反而增加网络开销和连接建立时间。
3.1.4 TCP常见应用
网页(HTTP/HTTPS,端口 80/443)
文件传输(FTP,端口 21 )
邮件(SMTP,端口 25)
远程登录(TELNET,23)
邮件的接收(POP3 110)
dns–域名服务 (53)
mysql数据库 (3306)
3.2 UDP协议
3.2.1 特点
无连接:直接发送数据,无需握手。
不可靠:不保证数据到达或有序。
高效:适合实时应用(如视频通话、在线游戏)。
3.2.2 UDP常见应用
NTP–网络时间协议 123
DHCP–动态主机配置协议 67
SNMP–简单网络管理协议161
TFTP–简单文件传输协议 69
RPC–远程调用协议 111
3.3 TCP与UDP对比
以下是TCP与UDP的详细对比图。TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)都是互联网传输层协议,但它们在设计目标和使用场景上有显著差异。我将从连接方式、可靠性、速度和适用场景四个维度进行对比,帮助您清晰理解。
TCP与UDP对比表
| 特征 | TCP (传输控制协议) | UDP (用户数据报协议) |
|---|---|---|
| 连接方式 | 面向连接(需要三次握手建立连接,四次挥手终止连接) | 无连接(直接发送数据包,无需预先建立连接) |
| 可靠性 | 高可靠性(通过确认机制、重传、错误检测和流量控制保证数据完整有序) | 低可靠性(无确认机制,数据可能丢失、重复或乱序) |
| 速度 | 较慢(因连接建立、确认和重传机制引入额外开销) | 较快(无连接开销,传输延迟低,适合实时应用) |
| 适用场景 | 需可靠传输的应用: - 文件传输(如FTP) - 网页浏览(HTTP/HTTPS) - 电子邮件(SMTP) | 实时性优先的应用: - 视频流媒体(如直播) - 语音通话(VoIP) - 在线游戏(低延迟需求) |
关键差异解释
- 连接方式差异:TCP的面向连接确保通信双方同步状态,而UDP的“即发即忘”模式简化了传输。
- 可靠性影响:TCP的可靠性机制(如序列号和ACK)使其适合关键数据,但UDP的轻量化更适合容忍少量丢失的场景。
- 速度权衡:UDP的速度优势来自其低开销,但TCP的慢速是可靠性的代价。
- 场景选择:选择协议时,需权衡数据完整性(选TCP)与实时性(选UDP)。例如,在线视频会议用UDP减少延迟,而银行交易用TCP保证安全。
总结
网络世界的探索永无止境,这三层核心技术作为网络通信的基石,不仅是理解现有网络架构的关键,更是把握未来网络技术发展的重要起点。唯有深入洞悉其原理与协作逻辑,才能更好地应对网络演进带来的新挑战,解锁更高效、更智能的网络应用新可能。
更多推荐


所有评论(0)