OSI参考模型数据传输原理把TCP/IP模型的数据传输原理分成几个步骤: (1)当应用进程A的数据传送到应用层时,应用层为数据加上本层的控制报头后,将其组织成应用层的数据服务单元,然后向下传输到传输层
(2)传输层收到该数据单元后,加上本层的控制报头,构成传输层的数据服务单元,该数据服务单元被称为报文(message)
(3)传输层将报文传送到网络层时,由于网络层数据单元的长度有限制,因此,传输层的长报文将被分为若干个较短的数据段
每个数据段再加上网络层的控制报头,就构成了网络层的数据服务单元,它被称为分组
(4)网络层的分组传送到数据链路层时,加上数据链路层的控制信息后构成数据链路层的数据服务单元,它被称为帧
(5)数据链路层的帧传送到物理层后,物理层将以比特流的方式通过传输介质传输出去
当比特流到达目的结点主机B时,再从物理层依层上传,每层对其对应层的控制报头进行处理,将用户数据交给高层,最终将进程A的数据送给主机B的进程B,实现了数据的透明传输
在OSI参考模型中数据的传输和TCP/IP模型原理是完全一样的,只不过OSI参考模型在前面说的第二和第三步骤中还要加上对表示层和会话层数据单元的封装
实际上,不管是OSI参考模型还是TCP/IP模型,都是数据发送方的各层相当于将各自的控制信息添加到上层传来的数据上,然后一起打包继续向前传递,而数据接收方的各层则是将接到的数据包进行解压,去掉发送方对等层添加在数据上的控制信息,然后传递给上层,最终实现数据的传输
在数据传输原理上二者是没有太大区别的,但OSI模型会话层在大多数应用中很少用到,表示层几乎是窄的
在数据链路层与网络层之间有很多的子层插入,每个子层有不同的功能
OSI模型将“服务”与“协议”的定义结合起来,使得参考模型变得格外复杂,使它的实现是困难的
同时,寻址、流控与差错控制在每一层里都重复出现,必然降低系统效率
而TCP/IP在服务、接口与协议的区别上不清楚
一个好的软件工程应该将功能与实现方法区分开来,TCP/IP恰恰没有很好地做到这点,这就使得TCP/IP模型对于使用新技术的指导意义不够
另外,TCP/IP的丰机一网络层本身并不是实际的一层,它定义了网络层与数据链路层的接口
物理层与数据链路层的划分是必要和合理的,一个好的参考模型应该将它们区分开来,而TCP/IP参考模型却没有做到这点
以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。