6.4.2 TCP/IP协议数据传输的原理

TCP/IP协议中,两台主机之间的数据交换可能需要经过若干中间节点,节点之间的数据传输通过存储转发的方式实现。因此,两台主机之间的数据处理是多组相近节点直接依托MAC地址实施数据交换的结果。其详细过程如下:

首先,用户在一台主机上发出自己的访问请求,比如访问Web服务器的Http请求,文件下载的Ftp请求,或者是发送Email的SMTP请求。

其次,计算机根据请求的类型对数据打包,然后把数据提交给传输层;

第三,传输层根据高层服务的类型确定采用TCP协议还是UDP协议,然后制作TCP包或UDP数据报。并把数据包排列在传输层的对应队列中(即使用哪个网络端口);然后把制作好的TCP包和UDP数据报提交给IP协议;

第四,IP协议根据数据包中的目标主机的IP地址寻求发送路径(路由)。在此路径中,从源主机到目标主机可能需要经历多个中间节点,对每个路由器来讲,只需在其路由表中记下它的下级节点的IP地址,这样当路由器收到的此种数据包时就知道应该转发给谁了。基于这一思路,两台主机之间的数据传输就变成了多次相邻节点之间的数据交换;

第五,在两个相邻节点实施数据交换过程中,ARP协议负责把IP地址转化为两个具体的网络设备的物理地址(MAC),由MAC地址负责真正的数据交换;

第六,物理链路层把IP包变成适合传输介质发送的数据帧,然后根据两个设备的MAC地址真正地实施传输。

上一小节 下一小节