现在以下图的方式进行两个应用程序之间的数据传递。 首先了解一个概念,协议拥有水平特性,即协议是控制对等实体(如应用层1与应用层2)之间的通信规则,而服务是垂直特性,即服务是由下层向上层通过层间结构提供的,上层使用下层所提供的服务必须通过与下层交换一些命令,即服务原语实现的。 注**:每一层次有不同的PUD(Protocal Datapram Unit,协议数据单元)。** 1:应用层 APP1(主机1)将自己的应用进程数据先传输到应用层去,并加上应用层的首部,使这段数据变为应用层数据段 2:传输层 应用层PDU传输到传输层,加上传输层首部,变为传输层报文(数据报) 3:网络层 传输层报文再传送到网络层,加上网络层首部,成为IP数据报(分组/包) 4:数据链路层 IP数据包再传送到数据链路层,加上链路层首部和尾部,成为数据帧 5:物理层 数据链路层帧再传送到物理层,之后物理层将**比特流(bit)**传送到物理媒体 6:物理媒体 电信号(或光信号(使用光纤))再物理媒体中传播,从发送端物理层传送到接收端物理层 上图为应用进程1最后发送的比特流的状况,即将每一上层再数据上添加上的帧头或帧尾合起来打包以比特流的情况发送给主机二对应的物理节点。 7:物理层(皆为应用进程2的各层) 物理层接收到比特流,上交给数据链路层
8:数据链路层 数据链路层剥去帧首部和帧尾部,取出数据部分,上交给网络层
9:网络层 网络层剥去首部,取出数据部分,上交给传输层
10:传输层 传输层剥去首部,取出数据部分上交给应用层
11:应用层 应用层剥去首部,取出应用程序数据上交给应用进程 12:应用进程 应用进程成功接收另一应用进程发送的数据
|