目录
数据链路层基本概念
数据链路层讨论的是如何把网络层的数据封装成帧,有效的进行通信传输。
链路是指:一个结点到另一个结点的具体的物理线路。
数据链路是指:在链路上加之实现通信协议的软件和硬件。
实现数据链路层的硬件和软件主要是网卡(但适配器工作在物理层和数据链路层)。
此层的协议数据单元——帧。这是将数据报加之首部和尾部形成的。
数据链路层不考虑物理层的实现细节。
数据链路层的三个基本问题
三个基本问题
封装成帧
指将数据报加之首部和尾部形成帧。首部(SOH)和尾部(EOT)是必要的,主要作用是帧定界、添加控制信息,以及差错控制。
透明传输:
透明是指无论什么样的比特组合的数据,都能够按照原样没有差错的通过这个数据链路层。(帧定界是以SOH和EOT当做控制符,当文本中出现这两个控制符时,在前面加上‘ESC’)
差错检测:
奇偶检测、循环冗余CRC等。
采用CRC,采用n+1位除数(由生成多项式得到),得到n位余数,称作帧检验序列FCS。
点对点信道的数据链路层
由三个部分组成:
1一个将数据报封装成帧的方法
2 一个用来建立、配置和据除以同一个除数,若余数0,则可以说无差错。
若有差错,直接丢弃,除此之外,不做任何操作。
故差错检测只是检测了bit错误,并不能解决帧失序、丢失、重复等问题。
也就是说,数据链路层实现的是尽最大努力的交付,即不可靠的传输。
测试数据链路连接的链路控制协议LCP。
3一套网络控制协议。
PPP帧的格式如下:
F是标志字段。A是地址,C无意义
PPP 有一个 2 个字节的协议字段。
当协议字段为 0x0021 时,PPP 帧的信息字段就是IP 数据报。
若为 0xC021, 则信息字段是 PPP 链路控制数据。
若为 0x8021,则表示这是网络控制数据。
使用广播信道的数据链路层
适配器的作用
网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。
适配器的重要功能:
- 进行串行/并行转换。
- 对数据进行缓存。
- 在计算机的操作系统安装设备驱动程序。
- 实现以太网协议。
CSMA/CD 协议
意思是:载波监听多点接入/碰撞检测
“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。一旦发现总线上出现了碰撞,就要立即停止发送。
使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)
最短有效帧长
规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。
以太网的 MAC 层
在局域网中,硬件地址又称为物理地址,或 MAC 地址。
MAC 帧格式
扩展的局域网
在物理层扩展局域网
主机使用光纤和一对光纤调制解调器连接到集线器,用多个集线器可连成更大的局域网。
优点
使原来属于不同碰撞域的局域网上的计算机能够进行跨碰撞域的通信。
扩大了局域网覆盖的地理范围。
缺点
碰撞域增大了,但总的吞吐量并未提高。
如果不同的碰撞域使用不同的数据率,那么就不能用集线器将它们互连起来。
在数据链路层扩展局域网
在数据链路层扩展局域网是使用网桥。
网桥工作在数据链路层,它根据 MAC 帧的目的地址对收到的帧进行转发。
网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的接口转发此帧,而是先检查此帧的目的 MAC 地址,然后再确定将该帧转发到哪一个接口。
网桥转发表的建立
若从 A 发出的帧从接口 x 进入了某网桥,那么从这个接口出发沿相反方向一定可把一个帧传送到 A。(逆向学习)
网桥每收到一个帧,就记下其源地址和进入网桥的接口,作为转发表中的一个项目。
在建立转发表时是把帧首部中的源地址写在“地址”这一栏的下面。
在转发帧时,则是根据收到的帧首部中的目的地址来转发的。这时就把在“地址”栏下面已经记下的源地址当作目的地址,而把记下的进入接口当作转发接口。
工作原理:
-网桥刚启动时,地址/端口对应表为空,采用洪泛(flooding)方法转发帧;
-在转发过程中采用逆向学习(backward learning)算法收集MAC地址。网桥通过分析帧的源MAC地址得到MAC地址与端口的对应关系,并写入地址/端口对应表