- 首先区分链路与数据链路的概念
链路只是从一个节点到相邻节点的一段物理线路,中间没有任何其他的交换节点。所以说链路只是一条路径的组成部分。
数据链路:是必要的物理线路和必要的通信协议构成数据链路。
数据链路层的协议数据单元——-帧
类似在网络层协议数据单元是IP数据报
路由器的协议栈只有三层:网络层,链路层,物理层
数据链路层的任务是:把网络层交下来的数据发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。
当两个主机进行通信时:应用进程将数据从应用层逐层往下传,经过传输层再到网络层,网络层将数据组成IP数据报,下传到数据链路层,数据链路层将其封装成帧到物理层,在物理层形成比特流后进入通信网络。
经过路由器,每一个路由器的物理层在收到比特流后,先由数据链路层将比特流恢复成帧,再从帧中提取出IP数据报,在路由表中找到下一跳的地址,路由器在转发IP数据报时,又再将其封装成另一个新的帧,然后交给物理层发送给下一个路由器。用这样的方式,经过许多路由器的转发,数据最后到达目的主机的物理层,逐层往上传最后交给远程的应用进程。
三个基本问题:帧定界,透明传输,差错检测。
帧定界:是指一个帧首部和尾部都加入了标记,使得接收端接收到的时候可以识别帧的开始和结束,以及帧里面装入的数据部分的准确位置。
中间帧的数据部分的长度上限——MTU(最大传送单元)
透明传输:帧的开始标识和结束标识是控制字符的名称,SOH和EOT,十六进制编码为01和04,但是当传输中二进制代码恰好和这两种的一样,就会错误的找到帧的边界
会错误的认为前面是一个帧,而因为后面找不到开始标记,将后面的丢弃。
为了解决透明传输,必须将数据中可能出现的控制字符SOH和EOT转换成另外一个字符,这个字符不被解释为控制字符。称为字节插入。
数据中出现的控制字符 | 经字节插入后发送的字符 |
---|---|
SOH | ESCx |
EOT | ESCy |
ESC | ESCz |
在接收端只要进行相应的逆变换就可以很方便的还原出原来的数据,使用这种字节插入法可实现透明传输。
差错检测:
比特在传输过程中可能会产生差错,所以在数据链路传输层都广泛的使用了循环冗余检验CRC技术,但是CRC只能做到无差错接受(不包括丢弃的帧)。
传输到接收端帧无差错,无丢失,无重复,同时还按发送的顺序接受,必须加上确认和重传机制。
- 点对点协议PPP是数据链路层中使用的较多的协议。
PPP协议的组成:
将IP数据报封装到串行线路的方法,IP数据报在PPP帧中就是其信息部分。
用来建立配置和测试数据链路连接的链路控制协议LCP(通信的双方可协商的一些选项)
一套网络控制协议NCP,其中每一个协议支持不同的网络层协议。
因特网服务提供者ISP是一个提供用户拨号入网的经营机构,ISP的路由器与因特网通过高速专线相连,并且和电信公司的市话交换机也有专线相连。
PPP协议的工作状态:
当用户拨号接入ISP后,就建立了一条从用户PC机到ISP的物理连接,这时用户PC机向ISP的路由器发送一系列的LCP分组(封装成多个PPP帧)。这些分组及响应选择了将要使用的一些PPP参数,接着就进行网络配置,NCP给新接入的用户PC机分配一个临时的IP地址,这样用户PC机就成为因特网上的一个主机了。当通信完毕后,NCP释放网络层连接收回原来分配出去的iP地址,接着LCP释放数据链路层连接。最后释放的是物理层的连接。
用户PC机通过调制解调器呼叫路由器时,路由器就能够检测到条直接掉漆发出的载波信号。在双方建立了物理层连接后,PPP就进入了链路建立的状态,目的是建立链路层的LCP连接。
此时LCP开始协商一些配置选项,即发送LCP的配置请求帧。
协商结束后就进入鉴别状态,若鉴别身份失败,则转到链路终止状态,若鉴别成功,则进入网络层协议状态
在网络层协议状态,ppp链路的两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组。如果PPP链路上运行的是IP协议,则对PPP链路的每一端配置IP协议模块(分配IP地址)使就要使用NCP中支持IP的协议—–IP控制协议(IPCP)。
当网络层配置完毕后,链路就进入可进行数据通信的链路打开状态。链路的两个PPP端点可以彼此向对方发送分组。
数据传输结束后,可以由链路的一端发送终止请求LCP分组(Terminate-Request)请求终止链路连接,在收到对方发来的终止确认LCP分组(Terminate-ack)后,转到链路终止状态。
当调制解调器的载波停止后,则回到链路静止状态。
摘自:
计算机网络第五版.谢希仁
版权声明:本文为博主原创文章,未经博主允许不得转载。