【计算机网络】数据链路层

文章目录

  • 数据链路层的三个基本问题
    • 点到点协议(PPP协议)
    • 局域网
  • 以太网
    • CSMA/CD协议
    • 二进制指数类型退避算法
    • 以太网与数据链路层的两个子层
    • 集线器
    • 以太网的信道利用率
  • MAC层
      • MAC帧格式
  • 使用网桥扩展以太网(现在用交换机平替)
  • LAN和VLAN
  • 交换机的接入安全

数据链路:除了物理线路外,还需要有通信协议来控制这些数据的传输。
最常用的方法是用网卡来实现这些协议的硬件和软件

帧:数据链路层传输的内容
【计算机网络】数据链路层_第1张图片

数据链路层的三个基本问题

  • 封装成帧

添加帧头和帧尾

  • 透明传输

帧内可能出现一个和帧尾一样的数据,接收端误认为是一个帧
【计算机网络】数据链路层_第2张图片
通常使用字节填充法解决
插入转义字符
【计算机网络】数据链路层_第3张图片

  • 差错控制
    1可能变成0,0可能变成1
    误码率:一段时间内,传输错误的比特占传输比特总数
    与信噪比有关系

循环冗余检验CRC
计算过程:被除数加N个零,除数(随意选)应该是N+1位数

除的过程中,相同得0,不同得1

最后把余数(FCS帧检验序列)放到被除数得后N位,传输过去,接收端再进行CRC计算,如果余数为0,则检验没有误码
【计算机网络】数据链路层_第4张图片
CRC只能无差错接收,除数越大,检查错误的可能性就大

点到点协议(PPP协议)

【计算机网络】数据链路层_第5张图片
应用是拨号上网
【计算机网络】数据链路层_第6张图片
PPP协议的组成
【计算机网络】数据链路层_第7张图片

ppp协议帧格式
【计算机网络】数据链路层_第8张图片
PPP解决透明传输的方法
【计算机网络】数据链路层_第9张图片
零比特填充方法
ppp协议在SONET/SDH链路时,用同步传输(一连串的比特连续传送),采用零比特填充方法

连续出现5个1,插入0,避免出现7E
【计算机网络】数据链路层_第10张图片
ppp协议的工作状态
【计算机网络】数据链路层_第11张图片
【计算机网络】数据链路层_第12张图片

局域网

比如用网线把两个主机连接起来,就是一个局域网

以太网

多采用随机接入
【计算机网络】数据链路层_第13张图片

优点:只有一个能准确接收
缺点:在一个时间段,只能是一个发一个收

CSMA/CD协议

以太网用的是CSMA/CD协议(载波监听多点接入/碰撞检测)
多点接入:许多计算机以多点接入的方式连接在一根总线上

碰撞检测的实现:
① 当几个站同时在总线上发送数据,总线的信号电压摆动值会增大
② 当信号电压摆动值超过一定的门限,则认为产生了碰撞

CSMA/CD协议重要特性:

  • 不能进行全双工通信,只能进行半双工通信

争用期

  • 最先发送数据帧的站,在至多经过2t能知道发送的数据帧是否发生碰撞
  • 争用期过后还没有检测到碰撞,可以肯定这次发送不会发生碰撞
    【计算机网络】数据链路层_第14张图片
    以太网的争用期
  • 通常取51.2us为争用期长度
  • 对于10Mb/s以太网,争用期内可发送512bit,即64字节
  • 若前64字节未发生冲突,则后续的数据就不会发生冲突

因此引出最短有效帧长

  • 以太网规定最短有效帧长为64字节,长度小于64字节的帧都是由于冲突而异常中止的无效帧
  • 利用以太网发送数据,不足64字节的,补0凑够64字节

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要退避一个随机时间后,再次发送数据
【计算机网络】数据链路层_第15张图片
由CSMA/CD协议实现

以太网与数据链路层的两个子层

现在以太网多用IEEE 802.3标准
802委员会把数据链路层拆成两个子层:

逻辑链路控制 LLC(Logical Link Control)子层(基本上不用了)
媒体接入控制 MAC(Medium Access Control)子层

以太网提供的是不可靠交付,重传是由更上一层去实现,对于以太网来说,并不知道是重传的帧,而是当作新的数据帧。

集线器

了解即可
集线器使用的是CSMA/CD协议,共享逻辑上的总线
10Base-T:表示10倍的以太网,通信距离不超过100米

以太网的信道利用率

以太网信道占用情况:争用期2t,即端到端传播时延的两倍。假设帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T(s)

发送一帧所需的平均时间:一个帧从开始发送,经一定的碰撞后,再重传数次,到发送成功且信道转为空闲(即再经过时间t)
【计算机网络】数据链路层_第16张图片
要提高以太网信道利用率,则需要减少a,其中a = t / T,即以太网单程端到端时延t与帧发送时间T之比

  • 当a趋于0,表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高
  • a越大,表示争用期占的比例增大,每发生一次碰撞就浪费很多信道资源,降低信道利用率

由此对以太网参数的要求:

  • 当数据率一定时,以太网的连线长度受到限制,否则t的数值会太大
  • 以太网的帧长不能太短,否则T的值会太小,使a值太大

信道利用率的最大值

  • 理想情况,以太网的各站发送数据都不会产生碰撞(显然不是CSMA/CD,而是另一种调度方法),即总线一旦空闲就有某一个站立即发送数据
  • 发送一帧占用线路的时间是T+t,帧本身发送时间是T,故理想情况下的极限信道利用率为:Smax = T / (T+t) = 1 / (1+a)

扩展以太网100Base-T
特点:全双工无冲突下工作,不使用CSMA/CD协议,mac帧格式采用802.3标准,保持最短帧长不变,将一个网端的最大电缆长度减小到100m。帧间间隔时间由9.6us缩小到0.96us
吉比特以太网
【计算机网络】数据链路层_第17张图片
【计算机网络】数据链路层_第18张图片

MAC层

在局域网中,硬件地址又称为物理地址,或者是MAC地址(网卡出厂的时候就存在全世界唯一的地址)

修改MAC地址的方法
【计算机网络】数据链路层_第19张图片
虽然网卡内部的MAC地址没变,但是可以手动指定新的MAC地址,让互联网识别。

MAC帧格式

类型指明协议类型,MAC4的编码没有尾帧
【计算机网络】数据链路层_第20张图片
无效的MAC帧
【计算机网络】数据链路层_第21张图片
【计算机网络】数据链路层_第22张图片

使用网桥扩展以太网(现在用交换机平替)

通过自学习算法,能记录发送端的计算机处于网桥的1端口还是2端口(对应下图)
假设①发包给②,那网桥会记录下①在网桥的1端口,但此时不知道②在哪,所以会将①的包发往网段A和网段B,但如果②发送给①(只要发送,网桥就知道对应的计算机在1端口还是2端口),网桥就能记录下②也在1端口。

在上述情况下,网桥得知①和②位置,故后续①和②通信就不会经过网桥传到网段B了,解决先前采用集线器的方式,减少冲突域。
【计算机网络】数据链路层_第23张图片
【计算机网络】数据链路层_第24张图片
【计算机网络】数据链路层_第25张图片
自学习算法
【计算机网络】数据链路层_第26张图片
交换机算是高速网桥,它的其他优势在于:

  • 端口带宽独享(比如连接在交换机上的ABCDE,A与B通信带宽10M,C与D通信带宽也是10M)
  • 安全,E抓包抓不到A与B通信内容
  • 高效,A与B通信的同时,C能与D通信,无冲突

LAN和VLAN

局域网就是LAN

为了能够将不同部门放在不同的网段,可以使用虚拟局域网(VLAN),如下图所示,同一个网段的设备不一定在同一个交换机下。
优势就是更灵活
【计算机网络】数据链路层_第27张图片
VLAN的功能还能把一个交换机分为两个(VLAN),供两个不同的部门使用。

干道链路可以跑多个VLAN(通过在数据包添加标记识别是哪个VLAN,采用SPMA方式)
【计算机网络】数据链路层_第28张图片
【计算机网络】数据链路层_第29张图片

交换机的接入安全

方式:

  • 交换机可以设定只能是规定的MAC地址设备接入该网口
  • 交换机还可以设定单个网口超过多个MAC地址接入(多个设备用一个网口),就shutdown

你可能感兴趣的:(计算机网络,计算机网络)