标签:
本文是建立在已经掌握了计算机网络基本分层及各层主要功能和实现后的进阶整理。如果基础还没有掌握牢固请自行复习。
下图显示了一个网络服务器向客户端传输的过程:
来回顾一下之前的网络基础。User Data是网络服务器的HTML页面;
应用层的HTTP协议将HTTP头添加到HTML数据之前,并将其发送给传输层;
传输层的TCP协议用于管理网络服务器和客户端之间的会话,并提供可靠传输;
网络的的IP协议将IP信息添加到TCP信息之前,指定适当的源和目的IP地址,这些信息就构成了IP报文;
数据链路层的以太网协议将IP报文封装成帧,就形成了数据链路帧;
数据链路帧通过物理层提供的通道发送至最近的一个路由器。路由器移除以太网信息,观察IP报文,判定最佳路径,将报文插入一个新的帧,并发送至目标路径上下一个相邻路由器。每一个路由器在转发之前都会移除并添加新的数据链路层信息;
客户端接受到包含数据的数据链路帧,处理掉各层的协议头后,将网页信息传递给客户端网页浏览器软件。
一个网页在网络中的完整传输过程就是这样子。
封装是指在传输之前为数据添加额外的协议头信息的过程。在绝大多数数据通信过程中,源数据在传输前都会封装数层协议。
以网络服务器为例,HTTP应用层协议发送HTML格式网页数据到传输层,应用层数据被分为TCP分段,各分段被打上标签,称为头,表明接收方哪一个进程应当接收此消息,同时也包含使得接收方能够按照原有的格式来重组数据的信息。
传输层将分段发送至网络层,执行IP协议,整个TCP分段分别封装成IP报文,添加IP头,IP头包括源和目的IP地址,以及发送报文至目的地址所必须的信息。
网络层将IP报文发送至数据链路层,封装以帧头和帧尾。每个帧头都包含源和目的的物理地址。帧尾包含差错校正信息。
最后,网卡将比特编码传输给物理层介质。
IP地址包含两个部分:网络前缀和主机。路由器使用网络前缀部分讲报文转发给适当的网络,在同一网络中,网络前缀是相同的,只有主机设备地址部分不同。
MAC地址的物理植入网卡的48比特地址。
在网络传输过程中,发送方必须知道接受方的物理和逻辑地址。对与IP地址而言很简单,发送方可以通过DNS(域名系统)来获取,那么MAC地址如何识别呢?这就用到了网络层的ARP(地址解析)协议。将IP地址对应的MAC地址查询出。
标签:
原文地址:http://blog.csdn.net/mevicky/article/details/46489549