计算机网络——第三章 数据链路层
文章目录
数据链路层属于计算机网络的低层。数据链路层使用的信道主要有以下两种类型:
(1)点对点信道:这种信道使用一对一的点对点通信方式。
( 2)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道车接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
本章最重要的知识:
(1)数据链路层的点对点信道和广播信道的特点,以及这两种信道所使用的协议(PPP协议以及CSMA/CD协议)的特点。
(2)数据链路层的三个基本问题:封装成帧、透明传输和差错检测。
(3)以太网 MAC层的硬件地址。
(4)适配器、转发器、集线器、网桥、以太网交换机的作用以及使用场合。
1.数据链路的几个重点问题
1.1数据链路和帧
- 链路(link):是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分
- 数据链路(datalink):除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
1.2三个基本问题
-
封装成帧
封装成帧(framing):就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
首部和尾部的一个重要作用就是进行帧定界。 -
透明传输
- 如果数据中的某个字节的二进制代码恰好和SOH或EOT一样,数据链路层就会错误地“找到帧的边界”。
- 解决方法:字节填充(byte stuffing)或字符填充(characterstuffing)发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ ESC”( 其十六进制编码是 1B)。
- 接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。如果转义字符也出现在数据当中,那么应在转义字符前面插入一个转义字符 ESC。当接收端收到连续的两个转义字符时,就删除其中前面的一个。
- 差错控制
- 在传输过程中可能会产生比特差错:1 可能会变成而 0 也可能变成1
- 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER(Bit Error Rate)。误码率与信噪比有很大的关系
- 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施
- 在数据链路层传送的帧中,广泛使用了循环冗余检验CRC 的检错技术 。
var code = "cf63ed2d-e405-4556-8eca-662b6ca32267"
循环冗余检测的原理:
1.在发送端,先把数据划分为组。假定每组 k个比特。
2.在每组 M 后面再添加供差错检测用的 n 位冗余码然后一起发送出去。
3.用二进制的模 2运算进行2乘M的运算,这相当于在M面添加n个0
4.得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数P,得出商是0而余数是R,余数R比除数P少位,即R是n位。
5.将余数 R作为冗余码拼接在数据M后面,一起发送出去。
冗余码的计算举例
1.现在 k=6,M=101001
2.设 n=3,除数 P=1101
3.被除数是 2M=101001000
4.模 2运算的结果是:商Q=110101,余数R=001。
5.把余数 R作为冗余码添加在数据M的后面发送出去。发送的数据是:2"M+R,即:101001001,共(k+n)位
2.使用广播信道的数据链路层
广播信道可以进行一对多的通信。下面要讨论的局域网使用的就是广播信道。局域网是在20世纪70年代末发展起来的。局域网技术在计算机网络中占有非常重要的地位。
2.1局域网的数据链路层
2.1.1局域网的基本概念
局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的一些优点:
- 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变
- 提高了系统的可靠性、可用性和残存性
局域网的拓扑结构
2.1.2共享信道的问题
使用一对多的广播通信方式。
问题:若多个设备在共享的广播信道上同时发送数据,则会造成彼此干扰,导致发送失败。
媒体共享技术:
- 静态划分信道
- 频分复用
- 时分复用
- 波分复用
- 码分复用
- 动态媒体接入控制(多点接入)
- 随机接入:随机接入的特点是所有的用户可随机地发送信息。但如果恰巧有两个随机接入或更多的用户在同一时刻发送信息,那么在共享媒体上就要产生碰撞(即发生了冲突),使得这些用户的发送都失败。因此,必须有解决碰撞的网络协议。
- 受控接入(使用较少) ,如多点线路探询(polling),或轮询
2.1.3以太网
- 以太网的两个协议
DIX Ethernet V2 是世界上第一个局域网产品(以太网)的规约
IEEE 802.3 是第一个 IEEE 的以太网标准
数据链路的两个子层:
为了使数据链路层能更好地适应多种局域网标准,IEEE802委员会就将局域网的数据链路层拆成两个子层:
- 逻辑链路控制 LLC(Logical Link Control)子层
- 媒体接入控制MAC(Medium Access Control)子层。
与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关。
不管采用何种协议的局域网,对LLC子层来说都是透明的。
- 适配器的作用
网络接口板又称为通信适配器(adapter)或网络接口卡 NIC(Network Interface Card),或“网卡”。
适配器的重要功能:
- 进行串行/并行转换。
- 对数据进行缓存。
- 在计算机的操作系统安装设备驱动程序
- 实现以太网协议。
2.2CSMA/CD协议
2.2.1以太网提供的服务
- 最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
- 为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中仅当数据帧中的目的地址与适配器的硬件地址一致时,才能接收这个数据帧
- 总线也有缺点。若多台计算机或多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。
为了通信的简便,以太网采取了两种重要的措施:、
(1)采用较为灵活的无连接的工作方式
不必先建立连接就可以直接发送数据。
对发送的数据帧不进行编号,也不要求对方发回确认。
这样做的理由是局域网信道的质量很好,因信道质量产生差错的率是很小的。
(2)以太网发送的数据都使用曼彻斯特(Manchester)编码
以太网提供的服务是不可靠的交付,即尽最大努力的交付。当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送
2.2.2CSMA/CD协议
如何避免同时发送产生的碰撞?采用CSMA/CD
CSMA/CD 含义:载波监听多点接入 / 碰撞检测(CarrierSense Multiple Access with Collision Detection)。
- 多点接入:表示许多计算机以多点接入的方式连接在一根总线上。
- 载波监听:是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。总线上并没有什么“载波”。因此**"载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。**
- 碰撞检测:就是计算机边发送数据边检测信道上的信号电压大。在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
为什么要进行碰撞检测?因为信号传播时延对载波监听产生了影响。
最短有效桢长
- 如果发生冲突,就一定是在发送的前64字节之内
- 由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。
- 以太网规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常中止的无效帧。
CSMA/CD协议的重要特性 - 使用CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率 。
2.2.3用集线器的星形拓扑
- 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便官和更灵活的双绞线。
- 采用双绞线的以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)。
星形以太网 10BASE-T - 使用无屏蔽双绞线,采用星形拓扑
- 每个站需要用两对双绞线,分别用于发送和接收
- 双绞线的两端使用 RJ-45 插头。
- 集线器使用了大规模集成电路芯片,因此集线器的可靠性提高。
- 10BASET 的通信距离稍短,每个站到集线器的距离不超过100m。
集线器的一些特点 - 集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。
- 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。
- 集线器很像一个多接口的转发器,工作在物理层。
- 集线器采用了专门的芯片,进行自适应串音回波抵消,减少了近端串音。
2.4以太网的 MAC 层
2.4.1MAC 层的硬件地址
在局域网中,硬件地址又称为物理地址,或MAC地址。
48 位的 MAC 地址
IEEE802标准规定MAC地址字段可采用6字节(48位)或2字节(16 位)这两种中的一种。
IEEE 的注册管理机构 RA负责向厂家分配地址字段6个字节中的前三个字节(即高位 24 位),称为组织唯一标识符。
地址字段 6个字节中的后三个字节(即低位 24位)由厂家自行指派称为扩展唯一标识符,必须保证生产出的适配器没有重复地。
适配器检查 MAC 地址
适配器从网络上每收到一个 MAC 帧就首先用硬件检查MAC帧中的 MAC 地址。
1.如果是发往本站的帧则收下,然后再进行其他的处理
2.否则就将此帧丢弃,不再进行其他的处理
发往本站的帧”包括以下三种帧:
1 单播(unicast)帧(一对一)
2 广播(broadcast)帧(一对全体)
3 多播(multicast)帧(一对多)
2.4.2MAC 帧的格式
- 常用的以太网 MAC 帧格式有两种标准:
- DlX Ethernet V2 标准
- lEEE 的 802.3 标准
- 最常用的 MAC 帧是以太网 V2的格式。
无效的 MAC 帧
- 数据字段的长度与长度字段的值不一致
- 帧的长度不是整数个字节
- 用收到的帧检验序列 FCS 查出有差错
- 数据字段的长度不在46~1500字节之间
- 有效的 MAC帧长度为64~1518 字节之间。
3.扩展以太网
3.1在物理层扩展以太网
使用光纤扩展
- 主机使用光纤(通常是一对光纤)和一对光纤调制解调器连接到集线器
- 很容易使主机和几公里以外的集线器相连接。
使用集线器扩展:
将多个以太网段连成更大的、多级星形结构的以太网。
优点: - 使原来属于不同碰撞域的以太网上的计算机能够进行跨碰撞域的通信。
- 扩大了以太网覆盖的地理范围。
缺点 - 碰撞域增大了,但总的吞吐量并未提高。
- 如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
碰撞域(collision domain) 又称为冲突域,是指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络。碰撞域越大,发生碰撞的概率越大。
3.2在数据链路层扩展以太网
3.2.1网桥与交换机
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发和过滤。
当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检査此帧的目MAC 地址,然后再确定将该帧转发到哪一个接口,或把它丢弃。
1990 年问世的交换式集线器(switching hub)可明显地提高以太网的性能。
交换式集线器常称为以太网交换机(switch)或第二层交换机(L2)
3.2.2以太网交换机的特点
- 以太网交换机实质上就是一个多接口的网桥,通常都有十几个或更多的接口。
- 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式。
- 以太网交换机具有并行性:能同时连通多对接口,使多对主机能同时通信。
- 相互通信的主机都是独占传输媒体,无碰撞地传输数据。
![[Internet3_15.png]] - 以太网交换机的接口有存储器,,能在输出端口繁忙时把到来的帧进行缓存。
- 以太网交换机是一种即插即用设备,其内部的帧交换表(又称址表)是通过自学习算法自动地逐渐建立起来的。
- 以太网交换机使用了专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多。
- 以太网交换机的性能远远超过普通的集线器,而且价格并不贵。
以太网交换机的优缺点
- 用户独享带宽,增加了总容量
- 从共享总线以太网转到交换式以太网时,所有接入设备的软件和硬件、适配器等都不需要做任何改动。
- 以太网交换机一般都具有多种速率的接口,方便了各种不同情况的用户。
以太网交换机的交换方式:
存储转发方式:
- 把整个数据帧先缓存后再进行处理。
直通(cut-through)方式: - 接收数据帧的同时就立即按数据帧的目的MAC地址决定该帧的转发接口,因而提高了帧的转发速度。
- 缺点是它不检查差错就直接将帧转发出去,因此有可能也将一些无效帧转发给其他的站。
3.2.3以太网交换机的自学习功能
3.2.4交换机使用生成树协议
IEEE 802.1D 标准制定了一个生成树协议 STP(SpanningTree Protocol).
其要点是:不改变网络的实际拓扑,但在逻辑上则切断某些链路使得从一台主机到所有其他主机的路径是无环路的树状结构,从而消除了兜圈子现象。
3.3 虚拟以太网
- 利用以太网交换机可以很方便地实现虚拟局域网VLAN(VirtualLAN)
- IEEE 802.10 对虚拟局域网 VLAN 的定义:
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN。 - 虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。
虚拟局域网(VLAN)技术具有以下主要优点:
- 改善了性能
- 简化了管理
- 降低了成本
- 改善了安全性
虚拟局域网使用的以太网帧格式:
EEE 批准了802.3ac标准,该标准定义了以太网的格式的扩展,以支持虚拟局域网。
虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记(tag),用来指明该属于哪一个虚拟局域网。
插入 VLAN 标记得出的帧称为802.10帧或带标记的以太网帧。