TCP/IP协议栈中,为什么选择IP层负责分片?
2013-12-06 10:06
447 查看
这是知乎上被邀请的一个问题TCP/IP协议栈中,为什么选择IP层负责分片?,我从没思考过这个问题甚至不认为这是个有意义的问题,但是当我研究思考后却发现这么一个小问题也许正是当初设计TCP/IP协议栈时的一种考量。TCP/IP是一个分层协议,协议栈的最底层是链路层,接下来依次是网络层,传输层,应用层。
可以看见链接层负责建立电路连接,是整个网络的物理基础;
网络层负责分配地址和传送二进制数据,主要协议是IP协议;
......
再来看看几个概念PDU:计算机网络各层对等实体间交换的单位信息称为协议数据单元(protocol data unit,PDU),比如分节(segment)是对应于TCP传输层的PDU,IP数据报(IP datagram)对应网络层实体间交换的PDU;
SDU:按照协议与服务之间的关系,除了最低层(物理层)外,每层的PDU通过由紧邻下层提供给本层的服务接口,作为下层的服务数据单元(service data unit,SDU)传递给下层,并由下层间接完成本层的PDU交换。如果本层的PDU大小超过紧邻下层的最大SDU限制,那么本层还要事先把PDU划分为若干个合适的片段让下层分开载送,再在相反方向把这些片段重组为PDU。
帧:链路层实体间交换的PDU称为帧,其长度取决于具体的接口;
MTU:我们进行分片的依据是MTU,而MTU是网络层和链路层之间的接口属性;
我们可以很清楚的看到如果要在最低层的数据链路层做分片,你必须要去对不同的物理网络的驱动程序做更改; 如果要在上层的传输层或者应用层做分片,既然数据都要通过网络层实际上就是各协议对分片功能的重复造轮子,我们有必要付出这种成本去实现分片吗?我想IP层就是我们在软件设计里常用的适配层,着这里做分片是成本最低的选择。参考书籍《UNIX网络编程卷1》
本文出自 “永远的朋友” 博客,请务必保留此出处http://yaocoder.blog.51cto.com/2668309/1337327
可以看见链接层负责建立电路连接,是整个网络的物理基础;
网络层负责分配地址和传送二进制数据,主要协议是IP协议;
......
再来看看几个概念PDU:计算机网络各层对等实体间交换的单位信息称为协议数据单元(protocol data unit,PDU),比如分节(segment)是对应于TCP传输层的PDU,IP数据报(IP datagram)对应网络层实体间交换的PDU;
SDU:按照协议与服务之间的关系,除了最低层(物理层)外,每层的PDU通过由紧邻下层提供给本层的服务接口,作为下层的服务数据单元(service data unit,SDU)传递给下层,并由下层间接完成本层的PDU交换。如果本层的PDU大小超过紧邻下层的最大SDU限制,那么本层还要事先把PDU划分为若干个合适的片段让下层分开载送,再在相反方向把这些片段重组为PDU。
帧:链路层实体间交换的PDU称为帧,其长度取决于具体的接口;
MTU:我们进行分片的依据是MTU,而MTU是网络层和链路层之间的接口属性;
我们可以很清楚的看到如果要在最低层的数据链路层做分片,你必须要去对不同的物理网络的驱动程序做更改; 如果要在上层的传输层或者应用层做分片,既然数据都要通过网络层实际上就是各协议对分片功能的重复造轮子,我们有必要付出这种成本去实现分片吗?我想IP层就是我们在软件设计里常用的适配层,着这里做分片是成本最低的选择。参考书籍《UNIX网络编程卷1》
本文出自 “永远的朋友” 博客,请务必保留此出处http://yaocoder.blog.51cto.com/2668309/1337327
相关文章推荐
- TCP/IP协议栈中,为什么选择IP层负责分片?
- 为什么要选择IT行业
- C语言特点&嵌入式开发为什么选择C语言
- 为什么要选择UniDAC
- 为什么如今超过一半的IT经理选择使用DCIM?
- 为什么要选择react
- 回答为什么“接口和抽象类大部分情况可以互相代替,一般情况接口优先选择'”?
- 为什么选择多域名通配符SSL?
- 为什么下一个5年java后台开发你该选择Spring Boot?
- 我们为什么选择了Cassandra而没有用Hbase
- 为什么选择Spring Boot作为微服务的入门级微框架
- 第一炮:我为什么选择csdn写blog
- 我的安卓开发学习系列零:为什么选择安卓
- 经验分享:为什么唱吧iOS 6.0选择了Mantle
- 为什么选择Nginx
- 为什么选择Sqoop1
- 为什么选择Qt?
- 79 1.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
- 现在的大学生,我为什么不选择你 推荐
- fortify的应用案例(美国军队部署)第二篇战略-为什么选择fortify SCA