数据链路层协议有许多种,但是有三个基本问题则是共同的:封装成帧、透明传输和差错检测。
(1)封装成帧
所有在因特网上传送的数据都是以IP数据报为传送单位的,网络层的IP数据报传送到数据链路层就成为帧的数据部分,在帧的数据部分的前面和后面添加上首部和尾部,构成一个完整的帧。
每一种链路层协议都规定了帧的数据部分的长度上线——最大传送单元MTU(Maximum Transfer Unit)。
(2)透明传输
透明传输,即无论什么样的比特流都能够通过数据链路层传输。
帧的开始和结束标记是专门指明的控制字符,因此,所传输的数据中的任何8比特组合一定不允许和这些控制字符的编码相同,否则就会出现帧的定界错误。
解决这种矛盾的方法是,将数据中可能出现的控制字符的前面插入转义字符“ESC”,而在接收端再删除该转义字符,这种方法被称为字节填充。
(3)差错检测
现实的通信线路都不会是理想的,比特在传输过程中可能会产生差错:1可能会变成0,0也可能会变成1。为了保证数据传输的可靠性,必须采用各种差错检测措施。目前在数据链路层广泛使用的是循环冗余检验CRC(Cyclic Redundancy Check)。
点对点协议PPP
对于点对点的链路,PPP(Point-to-PointProtocol)是目前使用最广泛的数据链路层协议。
我们知道,因特网用户通常都要连接到某个ISP才能接入到因特网。PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。
PPP协议由三个部分组成:
(1) 一个将IP数据报封装到串行链路的方法。
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)。
(3)一套网络控制协议NCP(Network Control Protocol)。
当用户拨号接入ISP后,就建立了一条从用户PC机到ISP的物理连接。这时,用户PC机向ISP发送一系列的LCP分组(封装成多个PPP帧),以便建立LCP连接。这些分组及其响应选择了将要使用的一些PPP参数。接着还要进行网络层配置,NCP给新接入的用户PC机分配一个临时的IP地址。这样,用户PC机就成为一个拥有IP地址的主机了。
当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。