1、数据链路层的信道主要有:点对点信道、广播信道。
本章主要内容:
(1 点对点信道、广播信道特按点,所使用协议----PPP和CSMA/CD 的特点。
(2 数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
(3 以太网MAC层的硬件地址
(4 适配器、转发器、集和线器、网桥、以太网交换机的作用以及使用场合。
3.1点对点信道的数据链路层
3.1.1数据链路和帧
链路:从一个结点到相连结点的一段物理线路。
数据链路:链路+通信协议
帧:点对点信道的数据链路层的协议单元——帧
下图为通信时的主要步骤
3.1.2三个基问题——封装成帧、透明传输、差错检测
1、封装成帧
封装成帧就是在一段数据的前后添加首部和尾部。——来自网络层的IP数据报就是这一段数据。
接收端只有当帧界定符成对出现时才收下,否则丢弃。
2、透明传输
3、差错检测——比特差错,使用循环冗余检测CRC的检错技术
注意:除数P是双方商定好的。
步骤:1、商定除数P,n位:
2、在被除数后面加n-1个o:
3、模2运算。
3.2点对点协议PPP
一、PPP特点:
1、简单 我们上述提到的,现数据链路层协议不要求向上提供可靠的传输服务,因此实际数据链路层的功能首要要求就是简单:接收方接收到一个数据帧,进行CRC检测,正确则收下这个帧,反之则丢弃这个帧。简单的设计可以使得不同产商对协议的不同实现的互操作性提高了。
2、封装成帧 PPP协议必须规定特殊的字符作为帧定界符,以便接收端可以从收到的比特流中准确找出帧的开始和结束位置
3、透明性 PPP必须保证数据传输的透明性(具体见上文透明传输的相关内容)
4、多种网络层协议 PPP协议必须能够在同一条物理链路上同时支持多种网络层协议的运行。
5、多种类型链路 PPP协议还必须能够在多种类型的链路上运行。
差错检测 PPP协议必须能够对接收端收到的帧进行检测,并丢弃有差错的帧。
6、检测连接状态 PPP协议必须具有一种机制能够及时自动检测出链路是否处于正常工作状态。
7、最大传送单元 PPP协议必须对每一种类型的点对点链路设置最大传送单元MTU的标准默认值。若高层协议发送的分组过长并超过MTU的值,PPP则丢弃这样的帧,并返回差错。MTU指的是数据链路层的帧可以载荷的数据部分的最大长度,而不是帧的总长度。
8、网络层地址协商 PPP协议必须提供一种机制使通信的两个网络层(例如,两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。这对拨号连接的链路特别重要,因为仅仅在链路层建立了连接而不知道对方网络层地址时,则还不能够保证网络层能够传送分组。
9、数据压缩协商 PPP协议必须提供一种方法来协商使用数据压缩算法。但PPP协议并不要求将数据压缩算法进行标准化。
PPP协议不需要的功能
1、纠错 ——PPP协议是不可靠传输协议
2、流量控制——在TCP/IP协议族中,端到端的流量控制由TCP负责。
3、序号 —— 多点线路 PPP协议不知道多点线路(即一个主站轮流和链路上的多个从站进行通信),只支持点对点的链路通信
半双工或单工链路 PPP协议只支持全双工链路
二、PPP协议的组成
PPP协议主要由三部分组成:
一个将IP数据报封装到串行链路的方法。
一个用来建立、配置和测试数据链路连接的链路控制协议LCP。
一套网络控制协议NCP,能够支持不同的网络层协议,如IP、OSI的网络层、DECnet,以及AppleTalk等。
三、PPP协议的帧格式
如图所示,PPP协议的帧格式主要由三部分组成:首部,信息字段,尾部。
首部字段由五个字节构成。
标志字段F,占一个字节,规定为0x7E,表示一个帧的开始或结束。此标志字段就是PPP帧的定界符。连续两帧之间只需要用一个标志字段。若出现连续两个标志字段,则表示这是一个空帧,应当丢弃。
地址字段A,占一个字节,规定为0xFF
控制字段C,占一个字节,规定为0x03
协议字段,表示信息字段数据所使用的协议。当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示这是网络层的控制数据。
信息字段
信息字段的长度是可变的,但不超过1500个字节。
尾部
尾部由三个字节构成
使用CRC的帧检验序列FCS,占两个字节
标志字段F,占一个字节(首部标志字段)
四、字节填充
就是说当我们需要传输控制字符时,我们可以在控制字符前面插入一个转义字符“ESC”,而在接收端将数据送往网络层前删除此转义字符。若是转义字符也出现在数据当中,解决方法仍然是在转义字符中插入转义字符(如下图)五、零比特填充
在PPP协议中,除了使用字节填充的方法来保证透明传输外,还有一种零比特填充同样也可以保证透明传输。零比特填充的具体做法是:在发送端,先扫描整个信息字段,只要发现连续5个1,则立即插入一个0。经过这种零比特填充后的数据,可以保证在信息字段不会出现6个连续的1。接收端再收到一个帧时,先找到标志位F确定帧的边界,接着就对帧的信息字段进行扫描,当发现连续5个1时,就把5个连续1后面的0删除,还原成原来的数据比特流。这样就可以保证透明传输。大致过程如下:六、PPP协议的工作状态
一开始,PPP链路处于“链路静止”状态。当用户PC机通过调制解调器呼叫路由器时,路由器检测到调制解调器发出来的载波信号。双方建立了物理层连接。PPP链路进入了“链路建立”的状态。
接着,LCP开始协商一些配置选项,即发送LCP的配置请求帧。这个LCP配置请求帧是一个PPP帧,其协议字段置为LCP对应的代码,信息字段包含特定的配置请求。链路另一端可以发送以下几种响应中的一种: