计算机网络【第三章-数据链路层】

一、功能

1、封装成帧和透明传输

封装成帧:一段数据前后添加首尾部,构成一个帧

透明传输:不管数据什么样,都能在链路上传送

组帧方法

  1. 字符计数法【计数字段易损】:在帧首用一个计数字段表明帧内字符数(帧内字符数包括计数字段本身)
  2. 字符填充法【复杂、不兼容】:首尾各加一个标志,在数据中和首尾标志相同的部分前添加转义符,接收后删除转义符
  3. ++零比特填充法++【5110】:首尾各添加一个"01111110",在数据中连续5个"1"后添加1个"0",接收后删除连续的5个"1"后面的1个"0"
  4. ++违规编码法++:用不会出现的编码定义帧的起始和终止

2、差错控制

分类

  1. 位错:比特位出错,1变0,0变1
  2. 帧错:丢失、重复、失序
    检错编码

奇偶校验码:原始数据尾部添加一比特校验位,使整个数据中"1"的个数满足预设的奇偶性

循环冗余码CRC

  1. 准备待传有效数据:将待发送比特流分割成等长的组

  2. 每个组都加上冗余码构成帧再发送:若生成多项式为r+1位,则先在每个组后面加r位0,再算出其与生成多项式异或(同0异1)的余数,此余数为FCS帧检验序列/冗余码,用其替换尾部的r位0

  3. 接收方检验:帧(原数据+冗余码)与生成多项式异或,余数为0则接受,否则丢弃
    纠错编码:海明码

  4. 确定校验码的位数 :数据m位,冗余码r位,通过++海明不等式++[2r≥m+r+1]算出r值

  5. 确定校验码的位置:冗余码在序号为2n的位置,数据按序填写

  6. 求出校验码的值:冗余码所在序对应二进制中的0换为通配符,据此即可找到该冗余码所校验的位;采用偶校验,保证冗余值所在校验小组中"1"的个数为偶数,以此确定冗余值的值

  7. 检错并纠错:进行r次偶校验,找到出错位

以原数据"1100"为例:

  1. 数据4位,所以冗余码3位
  2. 冗余码在20、21、22位上,所以数据变为"110r40r2r1"
  3. r4处理过后为1**,所以r4校验4567,以此类推,r2校验2367,r1校验1357;r4=0,r2=0,r1=1
  4. 若收到"1110001",进行3次偶校验,r4r1出错取交集"57",r2没错取差集"5",所以5位出错


海明距离(码距)

  1. 两个编码的海明距离:两个编码有多少对应位不同
  2. 编码集的海明距离:编码集中,任意两个编码的海明距离的最小值
  3. 检测出有d位出错,码距应为d+1;纠正d位错误,码距应为2d+1

3、流量控制

发送窗口与接收窗口的数量

  1. 停止等待协议:=1,=1
  2. 后退N帧协议:>=1,1
  3. 选择重传协议:>=1,>=1
    1)停止等待协议

每发送一帧就停止发送,等待对方确认,收到确认再发送下一帧(超时重传)

2)滑动窗口协议

①后退N帧协议(GBN)

连续发送多个帧,按序接收,乱序丢弃并发送上一个接收的帧的确认(累计确认)超时则重传已发但未确认的帧

②选择重传协议(SR)

连续发送并接收多个帧,每个帧有自己的定时器,超时后只重传一个帧

4、可靠传输

发送端发啥,接收端收啥

二、应用

1、两种链路

1)点对点链路:常用于广域网

2)广播式链路:常用于局域网

2、介质访问控制

静态划分信道- ++信道划分++ 介质访问控制

  1. ++频++分多路复用FDM:用户分配到频带后,在通信过程中始终都占用这个频带
  2. ++时++分多路复用TDM:将时间划分为一段段等长的时分复用帧,每个用户在每个帧中占用固定序号的时隙,用户轮流占用信道
  3. ++波++分多路复用WDM【了解】:就是光的频分多路复用,光纤中传输多种不同波长的光信号
  4. ++码++分多路复用CDM:所有用户同时在同一频率上传输,通过独特编码区分不同用户
    动态划分信道-随机访问介质访问控制

1)ALOHA协议【不听就说】

  1. 纯ALOHA:想发就发,若发生冲突,接收方不予确认,发送方超时后等一随机时间再重传
  2. 时隙ALOHA:把时间分成若干等长时间片,用户在时间片开始时刻发送,若冲突,则等到下一个时间片开始时再发送

2)CSMA协议【先听再说】

发送之前监听信道,信道空闲则发送完整帧,信道忙则推迟发送

  1. 1-坚持CSMA:信道忙,则一直监听
  2. 非坚持CSMA:信道忙,则等待一个随机的时间之后再监听
  3. p-坚持CSMA:
    1. 信道空闲,则概率p直接传输,概率1-p等到下一个时间槽传输
    2. 信道忙,则持续监听直到信道空闲再以概率p传输
    3. 冲突,则等到下一个时间槽开始再监听并重复上述过程

3)CSMA/CD协议【先听再说+边听边说】

CD:碰撞检测

适用于总线型以太网

①截断二进制指数规避算法(用于计算重传时间)

  1. 冲突时,从[0,2ⁿ-1]中随机选一个K,等待K倍基本退避时间(RTT)后重传

  2. n为冲突次数,初始为1,n增至10后不再增加,但最大重传次数为16次

  3. 若仍失败,则丢弃该帧并向高层报错

②最小帧长

传输时延大于等于两倍的传播时延

最小帧长=2*传输速率*传播时延

4)CSMA/CA协议

CA:碰撞避免

适用于无线局域网

  1. 发送前检测信道是否空闲,空闲则发出RTS(requesttosend),信道忙则等待
  2. 接收端收到RTS后,将响应CTS(cleartosend)
  3. 发送端收到CTS后,开始发送数据
  4. 接收端收到数据帧后,用CRC来检验数据,正确则响应ACK帧
  5. 发送方收到ACK就可以进行下一个数据帧的发送,若没有则一直重传至规定重发次数为止(采用二进制指数退避算法来确定随机的推迟时间)

动态划分信道-轮询访问介质访问控制

令牌传递协议

应用于令牌环网(逻辑上是环形拓扑)

  1. 令牌环网中,一个空闲令牌在主机间按序传递
  2. 需要发送数据的主机在捕获令牌后,将其变为忙状态,然后发送数据
  3. 数据在环上传输,被目标主机读取确认后,最终返回发送主机
  4. 发送主机确认后收回数据,并产生一个新的空闲令牌传递给下一台主机

3、局域网

1)以太网(802.3局域网)

  1. 基带总线局域网规范,使用CSMA/CD,不可靠传输(基带传数字信号,宽带传模拟信号)
  2. 拓扑:逻辑上总线型,物理上星型
  3. 传输介质:双绞线+集线器
  4. 10BASE-T以太网:++基带无屏蔽双绞线++ 以太网,传输速率++10Mb/s++ ,采用++曼彻斯特编码++
  5. 通信适配器:连接计算机与有线局域网
  6. MAC地址:适配器的48位二进制地址,前24位代表厂家(IEEE规定),后24位厂家定
  7. 高速以太网:速率≥100Mb/s的以太网(100BASE-T以太网、吉比特以太网、10吉比特)

2)无线局域网(802.11局域网)

  1. MAC帧头格式:帧控制+生存周期ID+接收端地址+发送端地址+目的地址+序列控制+源地址
  2. 分类:
    1. 有固定基础设施无线局域网
    2. 无固定基础设施无线局域网的自组织网络

3)虚拟局域网VLAN:将局域网内的设备划分成与物理位置无关的逻辑组

4、广域网

  • 使用++分组交换++技术
  • 点对点协议(PPP):只支持全双工链路,身份验证
相关推荐
yenggd4 小时前
QoS之拥塞管理两种配置方法
网络·华为
半桔4 小时前
【网络编程】深入 HTTP:从报文交互到服务构建,洞悉核心机制
linux·网络·c++·网络协议·http·交互
apple_ttt5 小时前
InfiniBand 技术解析(3):解码 IB “黑话”—— 核心术语与架构概览
网络·infiniband·异构计算·数据中心网络
zzzgw_20016 小时前
io多路复用:reactor模型的封装及与上层简单业务的实现(webserver)
网络
盟接之桥6 小时前
盟接之桥说制造:源头制胜,降本增效:从“盟接之桥”看供应链成本控制的底层逻辑
大数据·网络·人工智能·安全·制造
黄昏恋慕黎明10 小时前
javaEE 网络原理(TCP UDP)
网络·tcp/ip·udp
迷失蒲公英10 小时前
IP纯净度检测工具
网络·ip纯净度·ip质量检测·ip风控检测
basketball61612 小时前
13. 初识 NVMe over RDMA
服务器·网络·nvme
程序猿(雷霆之王)14 小时前
网络层协议——IP
网络·网络协议·tcp/ip