【计算机网络学习笔记】第三章 数据链路层
数据链路层
数据链路层研究的是在同一个局域网中,分组怎样从一个主机传送到另一个主机(不经过路由器)
数据链路不等于链路:链路是指从一个结点到相邻结点的一段物理线路(有线或无线),而中间没有任何其他的交换结点。而数据链路则是链路加上必要的通信协议。
1. 点对点信道和广播信道
-
点对点信道
这种信道采用一对一的点对点通信方式
-
帧
数据链路层的协议数据单元
数据链路层将网络层下发的数据构成帧发送到链路上,以及把接收到的帧中的数据取出来上交给网络层。
通信时的主要步骤:
- 结点A的数据链路层将网络层下发的IP数据报添加首部和尾部封装成帧
- 结点A的数据链路层把封装好的帧发送给结点B的数据链路层
- 结点B的数据链路层对收到的帧进行校验,若无差错就提取出IP数据报上交给网络层,否则将丢弃这个帧
-
PPP协议(point-to-point protocol)
PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议
1 . PPP协议的组成
一个将IP数据报封装到串行链路的方法。
一个用来建立、配置和测试数据链路连接的链路控制协议LCP。
一套网络控制协议NCP,其中的每一个协议支持不同的网络层协议。
2 . PPP协议的帧格式
PPP帧的首部和尾部分别为4个字段和2个字段,信息字段的长度是可变的,但不能超过1500字节。
PPP首部的第一个字段和尾部的第二个字段(最后一个)都是标志字段F(Flag),规定都是0x7E,符号0x用来表示它后面的字符都是十六进制表示的,7E则是(01111110),标志着一个字段的开始或结束。(其实就是上文提到的定界符)
首部的第二个字段A规定为0xFF,首部的第三个字段C规定为0x03(00000011).这两个字段的值的意义至今没有被给出。
首部的第四个字段则是协议字段,占据两个字节。
如果是0x0021,表示信息字段是IP数据报。
如果是0xC021,说明是PPP链路控制协议LCP的数据。
如果是0x9021,说明是网络层的控制信息。
尾部的第一个字段(2个字节)是使用CRC的帧校验序列FCS
-
PPP协议的字节填充
当信息字段中出现和标志字段一样的(0x7E)时,会使用字节填充,当PPP使用异步传输(逐个字符地传送)时,它把转义方法定义为(0x7D)
-
PPP协议的零比特填充
当PPP协议用在SONET/SDH链路时,使用同步运输(一连串地连续发送)
-
-
-
广播信道
这种信道使用一对多的广播通信方式。过程比较复杂,连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。
局域网:网络为一个单位所拥有且地理范围和站点数目均有限。
以太网几乎成为了局域网的同义词
- CSMA/CD协议
- 准备发送:适配器从网络层获得一个分组,加上以太网的首部和尾部,组成以太网帧,放入适配器的缓存中。但在发送之前必须先检测信道
- 检测信道:若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在96比特时间内信道保持空闲,就发送这个帧
- 在发送过程中不断检测信道,即网络适配器边发送边监听。
- 这里会出现两种情况:1. 发送成功,未检测到冲突,则什么都不做,返回1
-
- 发送失败,在争用期检测到碰撞,这时候立刻停止发送数据并按规定发送干扰信号。
- CSMA/CD协议
2. 三个基本问题
封装成帧
在网络层下发的数据的前后添加首部和尾部,这样就构成了一个帧
首部(SOH,十六进制编码为01)和尾部(EOT,十六进制编码为04)有一个重要的作用就是进行帧定界(确定帧的界限),SOH和EOT在传输出现错误时可以有效进行矫正,每一种数据链路层协议都规定了所能传送的帧的数据部分长度上限——最大传送单位(MTU)
透明传输
透明:某一个实际存在的事物看起来却好像不存在一样。
由于前文提到的SOH和EOT本质上也是一种数据,为了避免来自网络层的数据中出现与SOH与EOT相同的部分从而导致出错。
我们在数据段出现SOH和EOT的时候,在SOH与EOT的前面加入一个转义字符,而如果存在一个转义字符,那就再加一个。这样就保证了数据再数据链路层中传输的时候是“透明”的。
差错检测
比特在传输过程中可能会出现差错,比如1变成0或者0变成1,这叫做比特差错。
误码率表示传输错误的比特占所有比特总数的比率为误码率BER
目前在数据链路层广泛使用了循环冗余校验CRC的检错技术
3. 以太网MAC层的物理地址
MAC层地硬件地址:又称为物理地址或者MAC地址(这种地址用在MAC中)
MAC地址:局域网中地每一台计算机固化在适配器的ROM中的地址
4. 适配器、转发器、集线器、网桥、以太网交换机的作用及其使用场合
-
适配器:
计算机与外界局域网通过适配器进行连接,又称为网络接口卡(网卡)
作用:进行数据串行运输和并行运输的转换,实现以太网的协议,接受和发送各种帧
-
转发器
特点与集线器类似,但是只有两个接口。
-
集线器
当以太网采用星型拓扑结构,在星型的中心增加了一个可靠性非常高的设备,这个设备就是集线器。
特点:
- 使用集线器的以太网在逻辑上仍是一个总线网,各站共享逻辑上的总线,实用的还是CSMA/CD。各站中的适配器执行CSMA/CD协议,各站必须竞争对传输媒体的控制,并且在同一时刻之多只允许一个站发送数据;
- 一个集线器有许多接口,从工作原理上来说,集线器很像一个多接口的转发器;
- 集线器工作在物理层,每个接口仅仅进行简单的比特转发,不进行碰撞检测。
- 集线器采用了专门的芯片,进行自适应串音回拨抵消。
-
网桥
-
网桥的每个端口与一个网段相连,网桥从端口接收网段上传送的各种帧。
-
每当收到一个帧时,就先暂存在其缓冲中。若此帧未出现差错,且欲发往的目的站MAC地址属于另一网段,则通过查找站表,将收到的帧送往对应的端口转发出去。
-
若该帧出现差错,则丢弃此帧。网桥过滤了通信量,扩大了物理范围,提高了可靠性,可互连不同物理层、不同MAC子层和不同速率的局域网。但同时也增加了时延,对用户太多和通信量太大的局域网不适合。
网桥与转发器不同:
(1)网桥工作在数据链路层,而转发器工作在物理层;
(2)网桥不像转发器转发所有的帧,而是只转发未出现差错,且目的站属于另一网络的帧或广播帧;
(3)转发器转发一帧时不用检测传输媒体,而网桥在转发一帧前必须执行CSMA/CD算法;
(4)网桥和转发器都有扩展局域网的作用,但网桥还能提高局域网的效率并连接不同MAC子层和不同速率局域网的作用。
-
-
以太网交换机
实质上是一个多接口的网桥。