网络数据传输与协议解析
1. 数据报分片
数据报在传输过程中可能会进行分片,分片后的报头会有一些变化。如果存在更多分片,“更多分片”标志会被设置,并且每个分片的偏移量会改变,以防止数据覆盖。
例如,一个 4000 字节的 IP 数据报可能会被分片成三个以太网帧,其中两个帧包含最大数据量,第三个帧包含剩余数据。在接收端,这些分片会被重新组装成原始数据报并进行处理。
网络的最大传输单元(MTU)各不相同。当数据包从 MTU 较大的网络发送到 MTU 较小的网络(或反之)时,网关负责重新格式化数据包以符合每个网络的规范。例如,一个具有以太网接口和令牌环接口的网关,以太网的 MTU 为 1500 字节,令牌环网络的 MTU 可能更大或更小,网关需要在不同网络间重新格式化和分片数据包。
不过,一旦为适应较小的 MTU 进行分片,数据包在到达目的地之前不会重新组装。这可能会导致一定的效率问题,但好处是网关无需存储或重建数据包分片,数据包可以选择最佳路径传输,而无需担心接收节点的重新组装问题。
2. 协议分层
在网络通信中,很难创建一个单一协议来处理所有可能遇到的问题,如安全、数据包丢失、硬件故障、网络拥塞和数据损坏等。因此,采用协议分层的方式,让互补的协议各自处理特定任务,并以标准化的方式协同工作。
想象不同的网络通信协议像堆叠的层一样,这就是协议栈。每个层负责网络信息收发的特定方面,各层协同工作。发送信息时,信息“向下”通过发送方的协议栈,经过网络,再“向上”通过接收方的协议栈。接收方发送响应时,过程相反。每个节点的对应层协议是相同的,即发送方第 n 层的协议与接收方第 n 层的协议相同,虽然数据报中的一些
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



