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

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



