数据传输流程
在数据传输的过程中,除物理层之外的其它各层都会向原始数据中添加控制信息。若接收双方通过同一个路由器连接,那么数据在传输过程中的变化将如图1所示。
图1 数据传输过程
由图1可知,两个进程进行通信时,数据传输流程以及数据的变化情况如下:
(1)来自应用进程1的数据递达应用层,应用层根据本层协议在其头部添加相应控制信息h5,之后数据被传向传输层;
(2)传输层接收到来自应用层的信息,经传输协议TCP或UDP添加控制信息h4(TCP首部或UDP首部)后,作为数据段或数据包被传向网络层;
(3)网络层收到来自传输层的数据后,为其添加控制信息h3(IP首部)并封装为IP数据报,传递到链路层;
(4)链路层接收到来自网络层的IP数据报,在其头尾分别添加控制信息h2,封装成数据帧并传递到物理层;
(5)物理层接收到来自链路层的数据帧,将其转化为由0、1代码组成的比特流,再传送到物理传输媒介;
(6)物理传输媒介中的比特流经路由转发,首先递达应用程序2所在的物理传输媒介中,之后按照TCP/IP协议族中的协议,先将比特流格式的数据转换为数据帧,再依次去除链路层、网络层、传输层和应用层添加的控制信息,最后将原始数据传送给应用程序2。
至此,两个进程完成了在网络间的一次数据传递。
由以上数据传输过程可知,体系结构中各层的实现建立在其下一层所提供的服务上,且本层继续向上层提供服务,各层之间的常用协议以及层级关系如图2所示。
图2 协议与体系结构