TCP/IP的工作过程——以FTP为例

来源:互联网 发布:日本网络电视在线直播 编辑:程序博客网 时间:2024/05/16 00:39

(1)在信源上,FTP将所需传输数据流传送给信源上的传输层。

(2)信源上的传输层将应用层的数据流分组,并加上TCP首部形成TCP报文段,送交给信源上的网络层。

(3)信源上的网络层给TCP报文段封装上包括源、目的主机的IP地址的IP首部,生成一个IP数据报,并将IP数据报送交给信源的链路层。

(4)信源的链路层给IP数据报封装上包括源、目的主机的MAC地址的MAC帧头和帧尾,生成一个MAC帧,并将MAC帧送交给信宿或者中间路由器。

(5)路由器收到IP数据报后,根据IP数据报中的目的IP地址进行传输路径的选择,并根据所选择的路径进行IP数据报的转发。

(6)当数据传输到信宿,链路层将MAC帧的帧头和帧尾去掉,并将IP数据报送交信宿的网络层。

(7)信宿网络层检查IP数据报首部,假如首部中校验和和计算结果不一致,则丢弃该IP数据报;若校验和正确,则去掉IP首部,将TCP报文送交信宿的传输层。

(8)信宿传输层检查TCP报文的序列号,判断序列号是否正确,然后检查TCP首部数据。若正确,则向信源发确认信息;若不正确或丢包,则向信源要求重发信息。

(9)信宿传输层去掉TCP首部,将排好序的分组组成应用数据流送交信宿上的应用程序。

 

可以看到,下层把传送给它的上层信息作为自己的数据部分,再加上自己的首部,就形成了本层的信息,这就是封装。上层接受到下层传送给它的信息后,去掉本层的首部,把剩下的数据部分向更上一次传送,这就是拆封。每层的数据格式、接口、处理等都是规定好的,数据流就可以在网络上透明的传输,这就是协议的作用。

(文中大部分内容引自书籍,并加上了自己的体会)