计算机网络笔记—数据链路层

文章目录

数据链路层的基本概念及基本问题

数据链路层的简单模型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxKOJdDE-1582102564059)(D:Typoraimages\1581775843235.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I3iMcHA0-1582102564060)(D:Typoraimages\1581776111391.png)]

信道类型

点对点信道

  • 使用一对一的点对点通信方式

广播信道(交换机)

  • 使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送

链路与数据链路

链路

  • 链路是一条点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分

数据链路(物理线路+硬件+软件)

  • 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加在通路上,就构成了数据链路
    • 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
    • 一般的适配器都包括了数据链路层和物理层这两层的功能

  • 数据链路层传送的是帧
  • 数据链路层将物理层地址加帧头、帧尾和校验值,形成一帧,放入链路传输
  • 帧 = 帧头 + 物理层地址 + 校验值 + 帧尾 (默认从右至左为数字管道方向)
  • 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GkfhTJJz-1582102564060)(D:Typoraimages\1581777001118.png)]

三个基本问题

封装成帧

  • 封装成帧就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧
  • 首部和尾部的一个重要作用就是进行帧定界

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kW3KfAVc-1582102564061)(D:Typoraimages\1581777634369.png)]

透明传输

  • 传输的数据中恰好包含帧尾所表示的字符EOT,使得之后的部分被当作无效帧而丢弃

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UzJMTjBT-1582102564061)(D:Typoraimages\1581777789485.png)]

字节填充

  • 在控制字符SOH或EOT的前面插入一个转义字符“ESC"(十六进制编码1B)
  • 接收端的数据链路层再将数据送往网络层之前删除插入转义字符
  • 如果转义字符也出现在字符当中,那么应在转义字符前插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-irKMRtxm-1582102564063)(D:Typoraimages\1581778080055.png)]

差错检测

  • 传输过程中可能会产生比特差错:1可能变成0而0也可能变成1
  • 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)
  • 误码率与信噪比有很大关系
  • 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施

循环冗余检验CRC

发送端计算冗余码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XVpTA7oA-1582102564064)(D:Typoraimages\1581779067720.png)]

  • 除数P双方事先商定好
  • 进行的是模2运算
  • 在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
  • 把余数 R 作为冗余码添加在数据 M 的后面发送出去
  • 循环冗余检验 CRC 和帧检验序列 FCS并不等同。
    • CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。
    • FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。

接收端检验

  • 接收端对收到的每一帧(数据 + 冗余码)进行CRC检验,除数仍然是P
    • 若得出的余数R = 0,则判定这个帧没有差错,就接受
    • 若余数R ≠ 0,则判定这个帧有差错,就丢弃

CRC特点

  • 这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错
  • 只要经过了严格的挑选,并使用位数足够多的除数P,那么出现检测不到的差错的概率就会很小很小
  • 也就是说,有差错的帧会丢弃而不接收
  • 要做到”可靠传输“(即发送什么就收到什么),还必须加上确认和重传机制

两种情况下的数据链路层

使用点对点信道的数据链路层(PPP,Point-to-Point Protocol)——广域网协议

  • 全世界使用得最多
  • 用户使用拨号电话线接入因特网时,一般都是使用PPP协议

PPP协议应满足的要求(只保证无差错接受,有错误就扔掉,不进行纠错)

  • 简单——这是首要的要求
  • 封装成帧
  • 透明性
  • 多种网络层协议
  • 多种类型链路
  • 差错检测
  • 检测连接状态
  • 最大传输单元
  • 网络层地址协商
  • 数据压缩协商

PPP协议不需要满足的要求

  • 纠错
  • 流量控制
  • 序号
  • 多点线路
  • 半双工或单工链路

PPP协议的组成

一个将IP数据包封装到串行链路的方法

链路控制协议LCP(Link Control Protocol),建立并维护数据链路连接 —— 身份验证和计费功能

网络控制协议NCP(Network Control Protocol),允许在点到点连接上使用多种网络层协议

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nBK1QEvM-1582102564064)(D:Typoraimages\1581833980248.png)]

扫描二维码关注公众号,回复: 9308668 查看本文章

PPP协议的帧格式

  • 标志字段F = 0x7E
  • 地址字段A = 0xFF。地址字段实际上不起作用
  • 控制字段C 通常置为 0x03
  • PPP是面向字节的,所有PPP帧的长度都是整数字节

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Rf9KWgZ-1582102564065)(D:Typoraimages\1581834150470.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2JDDHyl1-1582102564065)(D:Typoraimages\1581834293501.png)]

信息部分的透明传输与字节填充

零比特填充

  • 在发送端,只要发现有5个连续1,则立即填入一个0。接受端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除

PPP协议不适用序号和确认机制的原因

  • 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理
  • 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输不能能够保证网络层的传输也是可靠的
  • 帧检验序列FCS字段可保证无差错接受

PPP协议的工作状态

  1. 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接
  2. PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)
  3. 这些分组及其相应选择一些PPP参数,和进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC机成为因特网上的一个主机
  4. 通信完毕时,NCP释放网络层连接,收回原来 分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放出去的是物理层的连接

PPP应用

使用广播信道的数据链路层使用CSMA/CD协议(Carrier Sense Multiple Access with Collision Detection)(载波监听多路访问/碰撞协议)——局域网协议(总线电缆、集线器)

局域网的拓扑

  • 星形网(使用集线器)——最常用
  • 环形网(使用干线耦合器)
  • 总线网(使用匹配电阻)
  • 树形网(使用匹配电阻)

局域网的特点与优点

  • 局域网最主要的特点是:网络为一个单位所拥有,且地理范围和站点数目均有限
  • 局域网的主要优点:
    • 具有广播功能,从一个站点可以很方便地访问全网。局域网上的主机可以共享连接在局域网上的各种硬件和软件资源
    • 便于系统的扩展和逐渐地演变,各设备的位置可以灵活调整和改变
    • 提高了系统的可靠性、可用性和生存性

共享通信媒体

静态划分信道(太麻烦,不实用)

  • 频分复用
  • 时分复用
  • 波分复用
  • 码分复用

动态媒体接入控制(多点接入)

  • 随机接入(主要被以太网所使用)
  • 受控接入,如多点线路探询,或轮询(目前已不被采用)

早期以太网特点

  • 最初的以太网是将许多计算机都连接到一根总线上。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件,但是不安全(黑客可以任意抓包)
    • 总线上的每一个工作的计算机都能检测到B发送的数据信号
    • 由于只有计算机D的地址与数据帧首部 写入的地址一致,因此只有D才接收这个数据帧
    • 其他所有的计算机(A,C和E)的网卡都检测到不是发送给它们的数据帧,因此就丢弃这个数据帧而不能够收下来
    • 具有广播特性的总线上实现了一对一的通信
  • 后来发展成使用集线器hub进行连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cNi9ZkhG-1582102564066)(D:Typoraimages\1581837330226.png)]

早期以太网使用CSMA/CD协议

  • ”多点接入“表示许多计算机以多点接入的方式连接在一根总线上
  • ”载波监听“是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
  • ”载波监听“就是用电子技术检测总线上有没有其他计算机发送的数据信号

碰撞检测

  • 碰撞检测就是计算机边发送数据边检测信道上的信号电压大小
    • 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)
    • 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞
    • 所谓碰撞就是发生了冲突,因此”碰撞检测“也称为”冲突检测“
  • 检测到碰撞后
    • 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信号
    • 每一个正在发数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送

电磁波在总线上的有限传播速率的影响

  • 当某个站监听到总线是空闲时,也可能总线并非真正是空闲的
  • A向B发出的信息,要经过一定的时间后才能传送到B
  • B若在A发送的信息到达B之前发送自己的帧(因为这时B的载波监听检测不到A所发送的信息),则必然要在某个时间和A发送的帧发生碰撞
  • 碰撞的结果是两个帧都变得无用

传播时延对载波监听的影响

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kW5yuWH9-1582102564066)(D:Typoraimages\1581839612841.png)]

重要特性

  • 使用CSMA/CD协议的以太网不能进行全双工通信(同时收发)而只能进行双向交替通信(半双工通信)
  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性
  • 这种发送的不确定性使得整个以太网的平均通信量远小于以太网的最高数据率(每台机器只能平均使用带宽,并且还会碰撞,实际带宽会比平均出来的带宽更低)

争用期

  • 最先发送数据帧的站,在发送数据帧后至多经过两倍的端到端往返时延就可知道发送的数据帧是否遭受了碰撞
  • 经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发送碰撞

二进制指数类型退避算法 ——确定重新发送的时间

  • 发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据
  • 确定基本退避时间,一般是取为2倍的争用期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EP5wLniW-1582102564067)(D:Typoraimages\1581840858346.png)]

以太局域网(以太网)

以太网的两个标准(满足CSMA/CD协议)

  • DIX Ethernet V2标准
  • IEEE的802.3标准

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

  • 为了使数据链路层能更好地适应多种局域网标准,802委员会将局域网的数据链路层拆成两个子层
    • 漏极链路控制LLC(Logical Link Control)子层
    • 媒体接入控制MAC(Medium Access Control)子层
  • 与接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关,不管采用何种协议的局域网对LLC子层都是透明的、
  • 由于TCP/IP体系经常使用的局域网是DIX Ethernet V2而不是802.3标准中的几种局域网,因此现在802委员会指定的逻辑链路控制子层LLC的作用已经不大了
  • 很多厂商生产的适配器(网卡)上就仅装有MAC协议而没有LLC协议

以太网提供的服务

  • 以太网提供的服务是不可靠的交付,即尽最大努力的交付
  • 当接收站收到有差错的数据帧时就丢弃此帧,其他什么都不做。差错的纠正由高层(传输层)来决定
  • 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送

使用集线器的星形拓扑

  • 传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。不同电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收。
  • 这种以太网采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,即集线器(hub)
  • 集线器使用了大规模集成电路芯片,这样的硬件设备的可靠性已大大提高了
  • 使用集线器的以太网在逻辑上仍是一个总线网,各工作站使用的还是CSMA/CD协议,并共享逻辑上的总线
  • 集线器很像一个多接口的转发器,工作在物理层的傻瓜设备

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NviInkle-1582102564067)(D:Typoraimages\1581842363369.png)]

10Base-T双绞线以太网

  • 10Base-T的通信距离稍短,每个站到集线器的距离不超过100m
  • 这种10Mb/s速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性
  • 10Base-T的出现,是局域网发展史上一个非常重要的里程碑

以太网的信道利用率

  • 以太网的信道被占用的情况:争用期长度为2τ,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号
  • 帧长为 L (bit),数据发送速率为 C (b/s),因而帧的发送时间为 L/C =T0(s)
  • 一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间τ使得信道上无信号在传播)时为止,是发送一帧所需的平均时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gPER2EST-1582102564068)(D:Typoraimages\1581843201048.png)]

参数a = τ / T0

  • a -> 0 表示易发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高
  • a越大,表命争用期所占的比例越大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低

对以太网参数的要求

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

信道利用率的最大值Smax(理想情况,没有争用期)

S m a x = T 0 T 0 + τ = 1 1 + a S_{max} = \frac{T_0}{T_0+\tau}=\frac{1}{1+a}

MAC层

MAC层的硬件地址(MAC地址)

  • 在局域网中,硬件地址又称为物理地址,或MAC地址
    • IEEE的注册管理机构RA负责向厂家分配地址字段的前三个字节(即高位24位)
    • 地址字段中的后三个字节(即低位24位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址
    • 一个地址块可以生成2^24个不同的地址。这种48位地址称为MAC-48,通用名称是EUI-48
    • ”MAC地址“实际上就是适配器地址或适配器标识符EUI-48

适配器(网卡)检查MAC地址

  • 适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址
    • 如果是发往本站的帧则收下,然后再进行其他的处理
    • 否则就将此帧丢弃,不再进行其他的处理
  • ”发往本站的帧“包括一下三种帧
    • 单播帧(unicast)(一对一)
    • 广播帧(broadcast)(一对全体)
    • 多播帧(multicast)(一对多)

MAC帧格式

  • 最常用的MAC帧是以太网V2的格式(除此之外还有不常用的IEEE的802.3格式)
  • MAC帧的长度最少为64字节
  • 类型字段用来标志上一层(IP层)使用了什么协议,以便把收到的MAC帧数据上交给上一层的这个协议
  • 当数据字段的长度小于46字节时,应在数据字段的后面加入整数字节的填充字段,以保证以太网的MAC帧长不小于64字节

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zS1U6CYs-1582102564068)(D:Typoraimages\1581845746320.png)]

无效的MAC帧

  • 帧的长度不是整数个字节
  • 用收到的帧检验序列FCS查出有差错
  • 数据字段的长度不在46~1500字节之间
  • 有效的MAC帧长度为64~1518字节之间
  • 对于检查除的无效MAC帧就简单地丢弃。以太网不负责重传丢掉的帧

帧间最小间隔

  • 帧间最小间隔为9.6μs,相当于96bit的发送时间
  • 这样做是为了使刚刚收到数据帧的站的接收缓存来得及清理,做好接收下一帧的准备

扩展以太网

在物理层扩展以太网

  • 主机使用光纤和一对光纤调制解调器连接到集线器
  • 使用多个集线器,连接成覆盖更大范围的多级星形结构的以太网

在数据链路层扩展以太网——使用网桥(交换机)(具有记忆性)

  • 网桥工作在数据链路桥,它根据MAC帧的目的地址对收到的帧进行转发
  • 网桥具有过滤帧的功能。当网桥收到一个帧时,并不是向所有的结构转发此帧,而是先检查此帧的目的MAC地址,然后再确定将该帧转发到哪一个接口
  • 网桥直接连接计算机就成为了交换机

以太网交换机的特点

  • 交换机的每个接口都直接与主机相连,并且一般都工作在全双工方式
  • 交换机能同时连通许多对的接口,使每一对相互通信的主机都能像独占通信媒体那样,进行无碰撞地传输数据
  • 以太网交换机由于使用了专用的交换结构芯片,其交换速率就较高

高速以太网

  • 速率达到或超过100Mb/s的以太网称为高速以太网

100BASE-T以太网(快速以太网)

吉比特以太网

  • 允许在1 Gb/s 下全双工和半双工两种方式工作

10吉比特以太网(10 GE)

  • 只使用光纤作为传输媒体
  • 只工作在全双工模式下,也不使用CSMA/CD协议

使用高速以太网进行宽带接入

  • 以太网已成功地把速率提高到1-10 Gb/s,所覆盖的地理范围也扩展到了城域网和广域网,因此现在人们正在尝试使用以太网进行宽带接入
  • 以太网接入的重要特点是它可提供双向的宽带通信,并且可根据用户对带宽的需求灵活地进行带宽升级
  • 采用以太网接入可实现端到端地以太网传输,中间不需要再进行帧格式的转换,这就提高了数据的传输效率和降低了传输的成本
发布了70 篇原创文章 · 获赞 7 · 访问量 4568

猜你喜欢

转载自blog.csdn.net/Felix_hyfy/article/details/104396158