数据链路使用的信道主要分两种类型:
数据链路层的简单模型
主机H1向主机H2发送信息,数据从应用层向下流动,到达物理层变成比特流,经过路由器转发,通过检查MAC地址,查看IP地址,然后选择路由,找到下一个地址,再向下到物理层,这样经过路由器转发,到达主机H2。
而本章只专门研究数据链路层的问题,我们只关心协议栈中水平方向的各数据链路层,我们想象数据链路层是从左到右沿水平方向传输的。
现在常用的适配器(网卡)来实现这些协议的软硬件,一般的适配器都包括数据链路层和物理层两层的功能。
将一段数据前后分别添加首部和尾部,这样就构成了一个帧,首部和尾部一个重要作用就是进行帧定界。
帧数据部分的长度上限——最大传送单元MTU
帧定界可以使用特殊的帧定界符:
控制字符SOH(Start Of Header):放在帧最前面,表示帧的首部
控制字符EOT(End Of Transmission):表示帧的结束。
当我们传输的数据部分出现了EOT或者SOH这样的帧定界控制字符时,可能导致数据被意外丢弃,这时就需要透明传输。
透明传输指数据中可能实际存在帧界定字符,但是却不被我们处理,就好像透明的一样,我们采用的方法是在发送端的数据链路层在数据中长线控制字符时在前面插入转义字符“ESC”,而在接收端的数据链路层在把数据传送往网络层之前删除插入的转义字符,这种方法称为字节填充或字符填充。(如果转义字符也出现在数据当中,同样将转义字符前插入转义字符)。
传输中可能产生比特差错,1变成0,0变成1。在一段时间内,传输错误的比特占所用传输比特总数的比率称为误码率BER。
数据链路层广泛使用循环冗余检验CRC:
原理:当发送端发送数据帧,会将数据进行CRC运算,将尾部加上余数,接收端接收数据后,进行CRC校验,如果运算的余数为0则说明没有差错,就接收数据,不为零就将数据丢弃。
注意:仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受。 “无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”,但是不能保证一定没错,因为如果有多位出错结果校验为0,这种情况有可能存在。
循环冗余码参考:https://blog.csdn.net/sailist/article/details/83588406
点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的数据链路层协议
PPP协议有三个组成部分:
1.一个将IP数据报封装到串行链路的方法
2.一个用来建立、配置和测试数据链路连接的链路控制协议LCP(Link Control Protocol)
3.一套网络控制协议NCP(Network Control Protocol),其中每个协议支持不同的网络层协议。
PPP帧的首部和尾部分别有四个字段和两个字段
透明传输问题:
有两种方法保证透明传输:字节填充和零比特填充
1.字节填充
当信息字段出现和标记字段一样的比特(如0x7E)时,当PPP使用异步传输,它把转义字符定义为0x7D,并使用字节填充,填充方法如下:
2.零比特填充
当PPP协议使用异步传输(一连串的比特连续传送)而不是异步传输(逐个字符传送),这时PPP协议采用零比特填充:
局域网的最主要特点:网络为一个单位所拥有,且地理范围和站点数目均有限。
局域网的优点:
共享信道
静态划分信道:频分复用、时分复用波分复用和玛分复用等,这种方式不适合局域网。
动态媒体接入控制(多点接入):
以太网的两个标准:
以太网严格来说,是指符合DIX Ethernet V2标准打的局域网
IEEE802委员会把局域网数据链路层拆成两个子层,即逻辑链路控制LLC子层和媒体接入控制MAC子层。与接入到传输媒体相关的内容都放在MAC子层上,而LLC子层与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
适配器
网络接口板又称为通信适配器(adapter)或网络接口卡NIC(Network Interface Card)或网卡。
功能:
局域网MAC子层协议,以太网提供的服务是不可靠的交付,当目的站收到有差错的帧时就丢弃此帧,其他什么都不做,差错纠正由高层决定,如果高层发现丢弃了一些数据进行重传,但以太网不知道这是个重传帧,而是当做新的数据帧来发送。以太网发送数据都使用曼彻斯特编码的信号。
CSMA/CD表示载波监听多点接入/碰撞检测:
电磁波在1KM电缆的传播时延约为5us,单程端到端传播时延记为τ,从图中可知,判断是否发送碰撞的时间最多为2τ
在使用CSMA/CD协议时,一个站不能同时发送与接收信息(必须边发送边监听信道),因此以太网使用的是半双工通信。
最先发送数据帧的站,在发送数据帧后至多经过时间 2τ(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。以太网的端到端往返时延 2τ 称为争用期,或碰撞窗口。经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。
截止二进制指数退避算法
发生碰撞的站在停止发送数据后,要推迟退避)一个随机时间才能再发送数据。
争取期长度:
最短有效帧长
强化碰撞
当发送数据的站一旦发现发生了碰撞时:
一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间 τ 使得信道上无信号在传播)时为止,是发送一帧所需的平均时间
定义参数a为单程端到端时延τ与帧的发送时间T0之比
因此对以太网参数有一定要求:
在局域网中,硬件地址又称为物理地址,或 MAC 地址。
48 位的 MAC 地址
适配器具有过滤功能。适配器从网络上每收到一个 MAC 帧就首先用硬件检查 MAC 帧中的 MAC 地址.
“发往本站的帧”包括以下三种帧:
MAC 帧的格式
常用的以太网MAC帧格式有两种标准 :
最常用的 MAC 帧是以太网 V2 的格式。
无效的 MAC 帧
帧间最小间隔
帧间最小间隔为 9.6 μs,相当于 96 bit 的发送时间。
主机使用光纤和一对光纤调制解调器连接到集线器
用多个集线器可连成更大的局域网
用集线器组成更大的局域网都在一个碰撞域中
碰撞域:在任意时刻,在每个碰撞域只能有一个站在发送数据
冲突域:网络上能够接收到同样广播分组的设备的集合,一个广播域包含一个或多个冲突域
用集线器扩展局域网:
优点
缺点
最初使用网桥在数据链路层扩展以太网,后来人们广泛使用交换机替代了网桥。
以太网交换机实质上是一个多接口的网桥,通常有十几个或更多接口。
交换机的基本操作:
为了避免产生转发的帧在网络中不断地兜圈子,IEEE的802.1D标准制定了生成树协议STP,在不改变网络的实际拓扑,在逻辑上切断某些链路,使得一台主机到其他主机的路径是无环路的树状结构。
从总线以太网到星型以太网:
不使用CSMA/CD协议,以全双工方式工作,但仍然使用以太网的帧结构。
虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符(tag),指明发送这个帧的工作站是属于哪一个 VLAN。
VLAN间的通信只能通过第三层设备实现:路由器,三层交换机
VLAN的划分方法:
速率达到或超过 100 Mb/s 的以太网称为高速以太网。
在双绞线上传送 100 Mb/s 基带信号的星型拓扑以太网,仍使用 IEEE 802.3 的CSMA/CD 协议。100BASE-T 以太网又称为快速以太网(Fast Ethernet)。
特点:
特点:
只工作在全双工方式,因此没有争用问题,也不使用 CSMA/CD 协议。
以太网从 10 Mb/s 到 10 Gb/s 的演进证明了以太网是: