计算机网络第六章知识点回顾(自顶向下)

news2024/7/4 5:38:14

第六章知识点回顾

  • 1.链路层和局域网
    • 1.1网络层、链路层和物理层
    • 1.2链路层服务
    • 1.3链路层在哪儿实现?
      • 1.3.1网络适配器之间的通信
    • 1.4检错和纠错
    • 1.5如何检测与纠正错误?
      • 1.5.1编码集的检错与纠错能力
      • 1.5.2差错检测的实施
      • 1.5.3奇偶校验
      • 1.5.4循环冗余校验(CRC)
      • 1.5.5 CRC举例
      • 1.5.6要求理解的知识点
    • 1.6链路的两种类型
    • 1.7多址接入(Multiple Access)
      • 1.7.1 理想的多址接入协议
    • 1.8MAC协议的分类
      • 1.8.1(1)信道划分的MAC协议
      • 1.8.2(2)随机接入的MAC协议
      • 1.9时分(Slotted) ALOHA
    • 1.10时分Aloha的效率</font>
    • 1.11载波侦听多址接入(CSMA)
    • 1.11.1CSMA/CD (Collision Detection)
  • 2.以太网MAC协议
    • 2.1CSMA/CD的效率
    • 2.2(3)轮流MAC协议
    • 2.3MAC协议小结
    • 2.4MAC协议比较
  • 3.局域网、城域网和广域网
    • 3.1链路层编址
    • 3.2 MAC地址类型
    • 3.3MAC地址和IP地址
    • 3.4如何将数据报发送到下一跳?
  • 4. 地址解析(Address Resolution)
    • 4.1ARP报文格式
    • 4.2地址解析的过程
    • 4.3改进ARP的措施:ARP缓存
    • 4.4改进ARP的措施:主动学习
    • 4.5数据报如何从源主机到达目的主机
    • 4.6 重要的知识点
  • 5. 以太网
    • 5.1总线拓扑:共享式以太网
    • 5.2星型拓扑:交换式以太网
    • 5.3以太帧结构
    • 5.4无连接、不可靠的数据传输
    • 5.5为什么有最小帧长的要求?
  • 6. 802.3以太网标准: 链路层 & 物理层
    • 6.1 以太网交换机
    • 6.2交换机如何转发?
    • 6.3自主学习
    • 6.4 帧的过滤和转发
    • 6.4.1交换机收到帧的处理过程
    • 6.5 级联交换机
    • 6.6有环网络和生成树算法
    • 6.7交换机 vs. 路由器
    • 6.8 三层交换机和路由器
    • 6.9三层交换机为什么快?
    • 6.9.1 网络连通
    • 6.10 两级编址
  • 总结

1.链路层和局域网

1.1网络层、链路层和物理层

  1. 网络层:

    • 选路:路由器确定去往目的节点的下一跳
    • 转发:在路由器内部将数据报从输入端口转移到输出端口
  2. 链路层:

    • 将数据报从一个节点传输到相邻的下一个节点
  3. 物理层:

    • 多种类型的传输媒体
      传输原始比特流(无结构)
      容易产生传输错误
  4. 一些术语

    • 节点:主机和路由器统称为节点
    • 链路:连接相邻节点的通信信道
      • 有线链路
      • 无线链路
      • 局域网
    • 帧:链路层分组称为帧

1.2链路层服务

  1. 组帧(基本服务)
    • 发送:将数据报封装到帧中(加上帧头和帧尾)
    • 接收:从原始比特流中提取出完整的帧
  2. 链路接入(广播链路需要)
    • 在广播信道上协调各个节点的发送行为
  3. 差错检测(基本服务)
    • 检测传输错误
  4. 差错纠正(有些提供)
    • 检测并纠正传输错误(不使用重传)
  5. 可靠交付(部分协议提供)
    • 通过确认、重传等机制确保接收节点正确收到每一个帧(停-等、GBN、SR)
    • 低误码率链路(如光纤、某些双绞线)上很少使用,高误码率链路(如无线链路)应当使用
  6. 流量控制:
    • 调节发送速度,避免接收节点缓存溢出
    • 提供可靠交付的链路层协议,不需要专门的流量控制
    • 不提供可靠交付的链路层协议,需要流量控制机制
  7. 半双工和全双工
    • 半双工通信时,提供收/发转换

1.3链路层在哪儿实现?

  1. 路由器:链路层在线卡(line card)中实现
  2. 主机:链路层主体部分在网络适配器(网卡)中实现
  3. 线卡/网络适配器连接物理媒体,还实现物理层的功能
  4. 链路层由硬件和软件实现:
    • 网卡中的控制器芯片:组帧、链路接入、检错、可靠交付、流量控制等
    • 主机上的链路层软件:与网络层接口,激活控制器硬件、响应控制器中断等

1.3.1网络适配器之间的通信

  1. 发送侧:

    • 将数据报封装到帧中
    • 生成校验比特
    • (可选)执行可靠传输和流量控制
  2. 接收侧:

    • 提取帧,检测传输错误
    • (可选)执行可靠传输和流量控制
    • 解封装数据报,交给上层协议

1.4检错和纠错

  1. 传输出错的类型

    • 单个错:由随机的信道热噪声引起,一次只影响1位
    • 突发错:由瞬间的脉冲噪声引起,一次影响许多位,使用突发长度表示突发错影响的最大数据位数
  2. 差错控制编码的类型

    • 检错码:只能检测出传输错误的编码,不能确定出错位置,通常与反馈重传机制结合进行差错恢复
    • 纠错码:能够确定错误位置并自行纠正的编码

1.5如何检测与纠正错误?

  1. 码字(codeword):由 m 比特的数据加上 r 比特的冗余位(校验位)构成
  2. 有效编码集:由 2m 个符合编码规则的码字组成
  3. 检错:若收到的码字为无效码字,判定出现传输错误
  4. 海明距离(Hamming Distance):两个码字的对应位取值不同的位数(比如,100和101的海明距离为1)
  5. 纠错:将收到的无效码字纠正到距其最近的有效码字
    检错码与纠错码的能力都是有限的!

1.5.1编码集的检错与纠错能力

  1. 编码集的海明距离:编码集中任意两个有效码字的海明距离的最小值
  2. 检错能力:为检测出所有d比特错误,编码集的海明距离至少应为d+1
  3. 纠错能力:为纠正所有d比特错误,编码集的海明距离至少应为2d+1

1.5.2差错检测的实施

  1. 发送端对要保护的数据D(包括帧头字段)生成校验
    • 位EDC,添加在帧头(尾)中
  2. 接收端对收到的数据D’计算校验位,与收到的校验位
    • EDC’比较,不同则判定有错

1.5.3奇偶校验

  1. 单比特奇偶校验:
    • 可检测奇数个比特错误
    • 检错率为50%
    • 编码集海明距离为2

在这里插入图片描述

  1. 二维奇偶校验:
    • 可检测2比特错和纠正单比特错
    • 编码集海明距离为3
    • 有利于检测突发错误
    • 在这里插入图片描述

1.5.4循环冗余校验(CRC)

  1. CRC是一种多项式编码,它将一个位串看成是某个一元多项式的系数,如1011看成是一元多项式X3 + X + 1的系数
  2. 信息多项式M(x):由m个信息比特为系数构成的多项式
  3. 冗余多项式R(x):由r个冗余比特为系数构成的多项式
  4. 码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应的多项式,表达式为T(x) = xr·M(x) + R(x)
  5. 生成多项式G(x):双方确定用来计算R(x)的一个多项式
  6. 编码方法:R(x) = xr·M(x) ÷ G(x) 的余式(减法运算定义为异或操作)
  7. 检验方法:若T(x) ÷G(x)的余式为0,判定传输正确
    CRC码检错能力极强,可用硬件实现,是链路层上应用最广泛的检错码

1.5.5 CRC举例

  1. 例1:取G(X) = X3 + 1,对信息比特101110计算CRC码。

    • 解答:
    • 101110 000 ÷1001的余式为R=011 (CRC code)
    • 码字:101110 011
  2. 例2:取G(X) = X3 + 1,接收端收到比特串1001001,问是否有错?
    解答:
    1001001÷1001的余式为001(不为0),有传输错误
    在这里插入图片描述

1.5.6要求理解的知识点

  1. 检错和纠错的一般性原理
  2. 二维奇偶校验、循环冗余码
  3. 为什么链路层使用CRC,而其上各层使用checksum?(思考)

1.6链路的两种类型

  1. 点到点链路:
    • 仅连接了一个发送方和一个接收方的链路
    • 一条全双工链路可以看成是由两条单工链路组成
  2. 广播链路:
    • 连接了许多节点的单一共享链路,任何一个节点发送的数据可被链路上的其它节点接收到

1.7多址接入(Multiple Access)

  1. 冲突(collision)

    • 在广播链路上,若两个或多个节点同时发送,发送的信号会发生干扰,导致接收失败
  2. 多址接入协议

    • 规定节点共享信道(谁可以发送)的方法
    • 多址接入协议也称媒体接入控制(Medium Access Control,MAC)协议

1.7.1 理想的多址接入协议

  • 在速率为R bps的广播信道上
    1. 当只有一个节点发送时,它应能以速率R发送(信道利用率高)
    2. 当有M个节点发送时,每个节点应能以 R/M的平均速率发送(公平性好、信道利用率高)
    3. 协议是无中心的(分散式):
      不需要一个特殊的节点来协调发送(健壮性好)
      不需要时钟或时隙同步(不需要额外的机制)
    4. 简单(实现和运行开销小)

1.8MAC协议的分类

  1. 信道划分
    • 将信道划分为若干子信道,每个节点固定分配一个子信道,不会发生冲突
    • 关注公平性,轻负载时信道利用率不高
  2. 随机接入(竞争)
    • 不划分信道,每个节点自行决定何时发送,出现冲突后设法解决
    • 轻负载时信道利用率高,重负载时冲突严重
  3. 轮流使用信道
    • 不划分信道,有数据的节点轮流发送,不会出现冲突
    • 信道利用率高,公平性好,但需引入额外机制

1.8.1(1)信道划分的MAC协议

  1. TDMA: 时分多址
    • 将信道的使用时间划分成帧,每个节点在帧中被分配一个固定长度的时间片,每个时间片可以发送一个分组
    • 节点只能在分配给自己的时间片内发送
    • 若节点不发送,其时间片轮空
  2. FDMA: 频分多址
    • 将信道频谱划分为若干子频带
    • 每个节点被分配一个固定的子频带
    • 若节点不发送,其子频带空闲
  3. CDMA: 码分多址
    • 将每个比特时间进一步划分为m个微时隙(称chip)

    • 每个节点被分配一个惟一的m比特码序列(称chip code)

    • 发送方编码:发送“1”=发送chip code;发送“0”=发送chip code的反码

    • 信号叠加:多个节点发送的信号在信道中线性相加

    • 接收方解码:用发送方的chip code与信道中收到的混合信号计算内积,恢复出原数据

    • 前提条件:任意两个chip code必须是相互正交的

    • CDMA允许所有节点同时使用整个信道!

1.8.2(2)随机接入的MAC协议

  1. 随机接入的基本思想:

    • 当节点有数据要发送时,以信道速率R发送,发送前不需要协调
    • 随机接入MAC协议 规定如何检测冲突,以及如何从冲突中恢复
  2. 随机接入MAC协议的例子:

    • 发送前不监听信道:ALOHA家族
    • 发送前监听信道:CSMA家族

1.9时分(Slotted) ALOHA

  1. 假设:
    • 所有帧长度相同
    • 时间被划分为等长的时隙,每个时隙传一帧
    • 节点只能在时隙开始时发送
    • 节点是时钟同步的(知道时隙何时开始)
    • 所有节点可在时隙结束前检测到是否有冲突发生
  2. 操作:
    • 节点从上层收到数据后,在下一个时隙发送
    • 若时隙结束前未检测到冲突,节点可在下一个时隙发送新的帧
    • 若检测到冲突,节点在随后的每一个时隙中以概率P重传,直至发送成功
  3. 优点
    • 单个活跃节点可以信道速率连续发送
    • 分散式:节点自行决定什么时候发送
    • 简单
  4. 缺点
    发生冲突的时隙被浪费了
    由于概率重传,有些时隙被闲置
    需要时钟同步

1.10时分Aloha的效率

  1. 效率:当网络中存在大量活跃节点时,长期运行过程中成功时隙所占的比例

    • 假设: 有N个活跃节点,每个节点在每个时隙开始时以概率P发送
    • 给定节点在一个时隙中发送成功的概率 = p(1-p)N-1
    • 给定时隙中有节点发送成功的概率 = Np(1-p)N-1
    1. 最大效率:

      • 找到令Np(1-p)N-1最大的概率p*
      • 代入Np*(1-p*)N-1,并令N趋向于无穷,得到:
      • 最大效率 = 1/e = 0.37
    2. 最佳情况: 信道用于有效传输的时间仅为37%!

    3. 纯ALOHA:

      • 基本思想:
        • 不需时钟同步,任何节点有数据发送就可以立即发送
        • 节点通过监听信道判断本次传输是否成功
        • 若不成功,立即以概率P重传,以概率(1-P)等待一个帧时后再决定。(帧时:发送一帧的时间,假设帧长度相同)
      • 发生冲突的情形:
        • 在时刻t0发送的帧与在 (t0-1,t0+1) 时段内发送的其它帧冲突
        • 在这里插入图片描述
    4. 纯Aloha的效率:

      • P(给定节点发送成功) = P(节点发送) .
        P(无其它节点在(t0-1,t0]内发送) .
        P(无其它节点在[t0, t0+1)内发送)
        = p . (1-p)N-1 . (1-p)N-1
        = p . (1-p)2(N-1)
    • 求出令节点发送成功概率Np . (1-p)2(N-1)最大的p*,并令N -> infty:
    • 最大效率 = 1/(2e) = 0.18

1.11载波侦听多址接入(CSMA)

  1. 发送前监听信道(carrier sensing):
    • 信道空闲:发送整个帧
    • 信道忙:推迟发送
  2. 冲突仍可能发生:
    • 由于存在传输延迟,节点可能没有监听到其它节点正在发送
    • 即使忽略传输延迟,当两个(或多个)节点同时发现信道由忙变为空闲、并都决定立即发送时,仍会发生冲突

1.11.1CSMA/CD (Collision Detection)

  1. 若在发送的过程中检测到冲突,怎么办?
    • 继续发送余下的部分(浪费带宽)
    • 停止发送余下的部分
  2. CSMA/CD的基本思想:
    • 在发送的过程中检测冲突(发生冲突时信号较强)
    • 检测到冲突后,立即停止发送剩余的部分
    • 立即启动冲突解决的过程

2.以太网MAC协议

  • 早期以太网采用CSMA/CD协议:
    1. 网卡从网络层接收数据报,构造以太帧
    2. 若网卡监听到信道空闲,立即发送帧;若信道忙,坚持监听直至发现信道空闲,然后发送帧
    3. 若网卡发送完整个帧而没有检测到冲突,认为发送成功!
    4. 若网卡在传输过程中检测到冲突,立即停止发送帧,并发送一个阻塞信号(加强冲突)
    5. 网卡进入指数回退阶段,选择一个等待时间:
      第一次冲突后: 从{0,1}中选择K,延迟K· 512比特时间
      第二次冲突后: 从{0,1,2,3}中选择K,……
      第三次冲突后: 从{0,1,2,3,4,5,6,7}中选择K,……
      ……
      第10次冲突后,从{0,1,2,3,4,…,1023}中选择K,……
    6. 返回Step 2
      注:512比特是一个最小以太帧的长度
    • 指数回退的目的是根据网络负载调整重传时间:
      负载越重(冲突次数越多),等待时间的选择范围越大,再次发生冲突的可能性越小

2.1CSMA/CD的效率

  • T p r o p T_{prop} Tprop = 以太网中任意两个节点之间传播延迟的最大值
  • t t r a n s t_{trans} ttrans = 最长帧的传输时间
    在这里插入图片描述
  • 在以下情况下,以太网的效率趋近于1:
    • T p r o p T_{prop} Tprop 趋近于 0,或
    • t t r a n s t_{trans} ttrans趋向于无穷

结论:应控制以太网的规模

2.2(3)轮流MAC协议

  1. 轮询
    • 主节点轮流“邀请”从节点发送,邀请到的从节点允许发送
  2. 缺点:
    • 引入轮询延迟
    • 单点失效(主节点)
  3. 令牌传递
    • 网络中有一个令牌,按预定顺序在节点间传递
    • 获得令牌的节点可以发送
    • 发送完数据后释放令牌
  4. 缺点:
    • 令牌传递延迟
    • 单点失效(令牌)

2.3MAC协议小结

  1. 按照时间、频率、编码划分信道:
    • 时分多址、频分多址、码分多址
  2. 随机接入:
    • 纯ALOHA, S-ALOHA(ALOHA网络)
    • CSMA/CD(早期以太网)
    • CSMA/CA(802.11)(第7章)
  3. 轮流访问:
    • 中心节点轮询(蓝牙)
    • 令牌传递(FDDI、IBM令牌环、令牌总线)

2.4MAC协议比较

  1. 信道划分MAC协议:
    重负载下高效:没有冲突,节点公平使用信道
    轻负载下低效:即使只有一个活跃节点也只能使用1/N的带宽
  2. 随机接入MAC协议:
    轻负载时高效:单个活跃节点可以使用整个信道
    重负载时低效:频繁发生冲突,信道使用效率低
  3. 轮流协议(试图权衡以上两者):
    按需使用信道(避免轻负载下固定分配信道的低效)
    消除竞争(避免重负载下的发送冲突)

3.局域网、城域网和广域网

  1. 局域网LAN(Local Area Network)
    将小范围内的计算机及外设连接起来的网络,范围在几公里以内,通常为个人或机构所有

  2. 城域网MAN(Metropolitan Area Network )
    通常覆盖一个城市的范围(几十公里),要能支持数据、音频和视频在内的综合业务,服务质量好,支持用户数量多

  3. 广域网WAN(Wide Area Network)
    通常覆盖一个国家或一个洲(一百公里以上),规模和容量可任意扩大

3.1链路层编址

  1. 每个适配器有一个MAC地址
    • 在这里插入图片描述

3.2 MAC地址类型

  1. 帧的目的MAC地址有三种类型:
    • 单播地址:适配器的MAC地址,地址最高比特为0
    • 多播地址:标识一个多播组的逻辑地址,地址最高比特为1
    • 广播地址:ff:ff:ff:ff:ff:ff
  2. 网络适配器仅将发送给本节点的帧交给主机:
    • 目的地址为适配器MAC地址的单播帧
      所有广播帧
    • 指定接收的多播帧
  3. 若将适配器设置成混收模式,适配器将收到的所有帧交给主机

3.3MAC地址和IP地址

  1. 世界上先有MAC地址,后有IP地址
  2. 在TCP/IP(互联网)出现之前,只使用MAC地址在单个的物理网络中寻址
  3. 为什么有了MAC地址,还需要IP地址?
    • MAC地址是扁平结构的,无法在因特网范围内快速确定接口的位置
    • IP地址是有结构的,可以在因特网范围内快速确定网络接口的位置
  4. IP地址与MAC地址没有固定的关联关系:
    • MAC地址与网卡绑定,与节点在哪个子网无关
    • IP地址与所在子网有关,与网卡没有关系

3.4如何将数据报发送到下一跳?

  1. 当发送节点A、接收节点B位于同一个物理网络上时,数据报可从A直接交付给B:
    • A的网络层将数据报、B的MAC地址交给数据链路层
    • A的数据链路层将数据报封装在一个链路层帧中,帧的目的地址=B的MAC地址
    • B的适配器收到帧,根据目的MAC地址判断是发给本机的,取出数据报交给网络层
  2. 问题:
    • A的网络层如何得知B的MAC地址?

4. 地址解析(Address Resolution)

  1. 问题:已知IP地址,如何得到对应的MAC地址?
  2. 静态映射IP地址-MAC地址的缺点:
    • 主机每次使用的IP地址可能不同(DHCP)
    • 主机可能更换网卡
  3. 地址解析协议(ARP)用于动态获得IP地址-MAC地址映射,其基本思想是:
    • 若节点A希望获得节点B的MAC地址,节点A广播B的IP地址(地址解析请求)
    • 节点B用自己的MAC地址进行响应

4.1ARP报文格式

在这里插入图片描述

  1. 硬件类型:硬件接口类型。对于以太网,该值为“1”。
  2. 协议类型:高层协议地址类型。对于IP地址,该值为080016。
  3. 操作:ARP请求为1,ARP响应为2
  4. 在以太网上,ARP报文封装在以太帧中传输

4.2地址解析的过程

  1. A想知道B的MAC地址:
    • A构造一个ARP请求,在发送方字段填入自己的MAC地址和IP地址,在目标字段填入B的IP地址
    • A将ARP请求封装在广播帧中发送
    • 每个收到ARP请求的节点用目标IP地址与自己的IP地址比较,地址相符的节点进行响应(B响应)
    • B构造一个ARP响应,交换发送方与目标字段内容,在发送方硬件地址字段填入自己的MAC地址,修改操作字段为2
    • B将ARP响应封装在单播帧(目的地址为A的MAC地址)中发送
    • 举例:
      • IP地址为 130.23.43.20 130.23.43.20 130.23.43.20、物理地址为 oxB23455102210 \text{oxB23455102210} oxB23455102210的主机,要获得IP地址为 130.23.43.25 130.23.43.25 130.23.43.25的主机的MAC地址
      • 在这里插入图片描述

4.3改进ARP的措施:ARP缓存

  1. 每个节点在内存中维护一个地址映射(绑定)表,称ARP缓存
  2. 每次发送数据报前先查询ARP缓存,若找不到则发送ARP请求,并在收到ARP响应后将地址映射缓存起来
  3. ARP缓存中的信息,在超时(一般为15~20分钟)后删除

4.4改进ARP的措施:主动学习

  1. 从ARP请求中获取地址绑定信息:

    • 每个节点可以收到全部的ARP请求报文,可将发送节点的地址映射缓存到自己的ARP表中
  2. 节点在启动时自动广播自己的地址映射:

    • 节点A在启动时主动广播一个ARP请求,在目标字段内填入自己的IP地址
    • 收到ARP请求的节点将A的地址映射缓存起来
    • 若A收到ARP响应,报告IP地址重复错误

4.5数据报如何从源主机到达目的主机

数据报从A经过R到达B:
在这里插入图片描述
- 根据转发表,A知道下一跳为111.111.111.110(R-1)
- 根据转发表,R知道B从其端口R-2直接可达

4.6 重要的知识点

  1. 为什么有了MAC地址,还需要IP地址?
  2. 地址解析:
    • ARP过程,ARP缓存
  3. 分组逐跳转发的过程:
    • 仔细梳理源主机、路由器、目的主机上分别进行了什么操作,分组是如何逐跳地从源主机经路由器到达目的主机的

5. 以太网

  1. 第一个广泛应用的局域网技术,也是目前占主导地位的有线局域网技术
  2. 与其它的局域网技术相比,技术简单、成本低
  3. 为提高速率,以太网技术不断演化和发展
  4. 速率持续提高:10 Mbps -> 100Mbps -> 1Gbps -> 10 Gbps -> 40Gbps -> 100Gbps -> …

5.1总线拓扑:共享式以太网

  1. 总线(1970s中期):
    • 以同轴电缆作为共享传输媒体(总线)
    • 所有节点通过特殊接口连接到这条总线上
      在这里插入图片描述
  2. 集线器(1990s后期):
    • 一个物理层中继器,从一个端口进入的物理信号(光,电),放大后立即从其它端口输出
    • 集线器相当于共享电缆
      在这里插入图片描述

5.2星型拓扑:交换式以太网

  1. 交换机(21世纪早期):
    • 主机通过双绞线或光纤连接到交换机
    • 主机与交换机之间为全双工链路
    • 交换机在端口之间存储转发帧(链路层设备)
  2. 交换式以太网不会产生冲突,不需使用CSMA/CD协议!
  3. 星型拓扑:
    • 各节点仅与中心节点直接通信,各节点之间不直接通信
    • 不同于基于hub的星型连接

在这里插入图片描述

5.3以太帧结构

在这里插入图片描述
Preamble(前导码):
- 7个10101010字节,后跟一个10101011字节,用于在发送方和接收方之间建立时钟同步
- 一般不计入以太帧的长度
Dest.Address/Src Address:目的/源MAC地址
Type(2字节): 指出Data所属的高层协议(如IP、ARP等),每个协议有一个编号
Data:46~1500字节,不足46字节填充至46字节
CRC(4字节): 对dest addr.、src addr.、type和data四个字段计算得到的CRC码

5.4无连接、不可靠的数据传输

  1. 无连接:
    • 发送方网卡与接收方网卡之间没有握手
  2. 不可靠:
    • 接收方网卡不发送确认
    • 接收方网卡丢弃CRC错误的帧
    • 依靠上层协议(TCP或应用)进行错误恢复

5.5为什么有最小帧长的要求?

  1. CSMA/CD协议规定,发送方仅在发送的过程中检测冲突;为保证在发送结束前检测到冲突,帧的发送时间必须足够长:
    • 节点检测冲突需要时间

    • 在这里插入图片描述

    • 假设信号在相距最远的两个适配器之间的往返延迟为2τ,则帧的发送时间不应小于2τ,即帧的最小长度≧链路速率×2τ

  2. 为什么最小帧长为64字节(不包括前导码):
    • 根据早期以太网的最大直径(2500米)和数据速率(10Mbps)计算得到

6. 802.3以太网标准: 链路层 & 物理层

  1. 历史上出现过许多不同的以太网技术:

    • 链路层相同:MAC协议,帧格式,帧处理
    • 物理层不同
      • 传输媒体: 光纤,同轴电缆,双绞线
      • 数据速率: 如10Mbps, 100 Mbps, 1Gbps, …
      • 物理层编码方式
  2. 所有这些以太网技术由IEEE 802.3工作组标准化,形成IEEE 802.3标准族

  3. 10Mbps以太网(早期以太网)

    1. 10Base-5:
      • 基带同轴电缆(粗),每段电缆最大长度500米
    2. 10Base-2:
      • 基带同轴电缆(细),每段电缆最大长度约200米
    3. 10Base-T
      • 3类双绞线和集线器,双绞线最大长度100米
    4. 10Base-F
      • 多模光纤和集线器,光纤最大长度2000米
    5. 仅能使用光纤/双绞线,以及集线器/交换机
    6. 100Base-TX(可使用集线器或交换机):
      5类双绞线(2对),不超过100米
    7. 100Base-T4 (可使用集线器或交换机) :
      3类双绞线(4对),不超过100米
    8. 100Base-FX(只能使用交换机):
      多模光纤(2条),不超过2000米
  4. 千兆、万兆以太网

    • 使用交换机,并增加了对流量控制的支持
    1. 1000Base-SX:
      • 多模光纤,不超过550米
    2. 1000Base-LX:
      • 单模或多模光纤,不超过5000米
    3. 1000Base-CX(很少用):
      • 2对屏蔽双绞线,不超过25米
    4. 1000Base-T:
      • 4对5类双绞线,不超过100米
    5. 10GBase-T:
      • 只使用光纤,长距离用单模光纤,短距离用多模光纤

6.1 以太网交换机

  1. 链路层设备:
    • 存储-转发帧:检查输入帧的MAC地址,有选择地将帧转发到一条或多条输出链路
  2. 对主机透明
    • 交换机没有MAC地址,主机不需要了解有关交换机的任何信息,感觉不到交换机的存在
  3. 即插即用,自主学习
    • 交换机不需要配置
    • 在这里插入图片描述

6.2交换机如何转发?

  1. Q: 交换机如何知道A’通过端口4可达,而B’通过端口5可达?
    • A: 每个交换机内部有一张转发表,每个表项记录以下信息:
      MAC地址,去往该MAC地址的端口
  2. Q: 转发表是如何建立和维护的?
    • 在这里插入图片描述

6.3自主学习

  1. 交换机自主学习“哪个主机通过哪个端口可达”:
    • 当一个帧到达时,交换机从源MAC地址了解到发送节点,从帧到来的端口了解到发送节点的位置(从该端口可达)
    • 在转发表中记录发送节点和可达端口

在这里插入图片描述

6.4 帧的过滤和转发

在这里插入图片描述

6.4.1交换机收到帧的处理过程

  1. 用帧的目的地址查找转发表(转发决策):
    • 若目的地址所在端口 = 帧的进入端口,丢弃帧
    • 若目的地址所在端口 ≠ 帧的进入端口,转发帧
    • 若目的地址不在转发表中,扩散帧
  2. 用帧的源地址查找转发表(更新转发表):
    • 若找到地址,更新相应表项
    • 若没有找到该地址,添加源地址和进入端口到转发表,设置表项的生存期为最大值
  3. 举例
    1. 目的地址未知:
      • 扩散
    2. 目的地址A已知:
      • 按照转发表转发
    3. 在这里插入图片描述

6.5 级联交换机

  1. 多个交换机也可以级联在一起,将更多或更大范围内的节点连接到一个网段中

    • 在这里插入图片描述
    • Q: 数据包要从A发往F,交换机S1如何知道应转发给S4,而S4如何知道应转发给S2?
      • A: 通过自主学习!(与单交换机情形相同)
  2. 举例:

    • 假设C发送一个帧给I,I响应C:
      在这里插入图片描述
    • Q: 给出 S1, S2, S3, S4 中的转发表和包转发决策
    • 解答:
      • 在这里插入图片描述

6.6有环网络和生成树算法

  1. 实际的网络是有环网络:
    • 实际网络不采用树状结构(可靠性不高),而是存在冗余链路,即网络中存在环
    • 在有环的网络中扩散帧会造成冗余传输,且不能终止
  2. 解决方法(构造网络的生成树):
    • 在有环的物理网络上建立一个无环的网络拓扑(生成树),正常情况下只使用无环拓扑转发帧
  3. IEEE 802.1D标准化了构造生成树的分布式算法:
    • 首先选举具有最小序列号的交换机作为生成树的根
    • 按照根到各个交换机的最短路径构造生成树
    • 只有位于生成树中的交换机可以在属于生成树的边上发送
    • 当有节点或链路发生故障时,重新计算一个无环拓扑

6.7交换机 vs. 路由器

  1. 交换机工作于链路层,根据MAC地址存储转发帧
  2. 路由器工作于网络层,根据IP地址存储转发数据报
  3. 交换机不能连接异构链路(即MAC协议不同的网络),因为交换机只是按原样转发帧
  4. 路由器可以连接异构链路,因为路由器需重新封装链路层帧
  5. 交换机不能阻断广播帧的传播:
    • 交换机只能学习到单播MAC地址,所有广播帧都会扩散发送
    • 通过交换机连接的所有主机在同一个广播域中
  6. 路由器可以阻断广播帧的传播:
    • 路由器根据IP地址转发包(看不到MAC地址)
    • 每个路由器端口是一个独立的广播域
  7. 冲突域:
    • 共享同一条广播链路的主机集合
    • 任何一个主机发送的帧(各种帧),可被冲突域中的其它主机接收到
  8. 广播域:
    • 广播帧能够到达的主机集合
    • 广播风暴:广播帧在网络中大量传播,消耗大量资源

6.8 三层交换机和路由器

  1. 路由器可分隔二层网络,但转发速度慢、成本高
  2. 三层交换机:
    • 具有部分路由功能、又有二层转发速度的交换机
    • 专为加快大型局域网内部的数据交换而设计
    • 但在安全、协议支持等方面不如专业路由器
  3. 机构网络中三层交换机和路由器的使用:
    • 三层交换机:通常用在机构网络的核心层,连接不同的子网或虚拟局域网(每个虚拟局域网是一个独立的子网)
    • 专业路由器:连接机构网络与外网

6.9三层交换机为什么快?

  1. 路由器转发IP包的过程:
    • 用目的IP地址查找转发表,获得下一跳IP地址及端口
    • 利用ARP获得下一跳MAC地址
    • 用下一跳MAC地址构造链路层帧,发送
  2. 三层交换机转发IP包的过程:
    • 将以上第1、第2步的结果缓存起来(以目的IP地址为索引,哈希表
    • 用目的IP地址查找缓存(一次精确匹配):
      1. 若命中,直接用下一跳MAC地址构造链路层帧,发送
      2. 若未命中,执行以上第1、2、3步
  3. 三层交换机转发速度快的原因:
    • 一次选路,多次转发

在这里插入图片描述

6.9.1 网络连通

在这里插入图片描述
在这里插入图片描述

6.10 两级编址

  1. 两级编址: IP网络,物理网络
  2. IP层提供统一的网络视图:地址,包格式
  3. 底层可以是任意的物理网络:
    • cable
    • satellite
    • 56K telephone modem
    • today: ATM, MPLS
  4. 物理网络对于IP层是不可见的,对于IP来说物理网络只是一条虚拟链路而已!

总结

  1. 数据链路层服务原理:
    • 差错检测与纠正
    • 共享广播信道:多址技术
    • 链路层编址,ARP
  2. 链路层技术实例:
    • 以太网
  3. 综合: a day in the life of a web request

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/28660.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图像分割 - 区域生长

目录 1. 介绍 2. 代码详解 3. 代码 1. 介绍 分割的目的是将图像分为多个区域 常用的分割方法基于两个属性&#xff1a;不同区域间的灰度不连续性质&#xff08;Canny边缘检测等等&#xff09;、相同区域灰度的相似特征&#xff08;阈值处理、区域生长等等&#xff09; 区…

牛客网语法篇练习基础语法(一)

1.输出"Hello Nowcoder!"。开始你的编程之旅吧。 print(Hello Nowcoder!) 2.KiKi学会了print在屏幕输出信息&#xff0c;他想输出一架小飞机。请帮他编写程序输出这架小飞机。 print( *5 ** *5) print( *5 ** *5) print(**12) print(**12) print( *4 * * *4) prin…

Arduino操作MPU6050模块

MPU6050是集成三轴陀螺仪&#xff0c;三轴加速度计&#xff0c;温度传感器于一体的模块。本文档基于Adafruit_MPU6050实现MPU6050模块基本操作。 Adafruit_MPU6050库&#xff1a; https://github.com/adafruit/Adafruit_MPU6050 Adafruit_MPU6050依赖以下库&#xff0c;需要在…

Java中的char、Character和CharSequence的区别

char 与 Character char是一种基本的数据类型&#xff0c;Character是char类型的包装类&#xff0c;即通过Character创建出来的是一种对象。 Character是char的包装类&#xff0c;就像Integer和int&#xff0c;以及Long和long一样。 包装类和基本类型可以自动转换&#xff…

安泰测试-同惠TH2827精密LCR数字电桥产品性能特点

同惠(Tonghui)TH2827A/TH2827B/TH2827C型 LCR数字电桥 产品简介&#xff1a; TH2827A/TH2827B/TH2827C是具有多种功能和更高测试频率的新型LCR数字电桥&#xff0c;体积小&#xff0c;紧凑便携&#xff0c;便于上架使用。本系列仪器基本精度为0.05%&#xff0c;测试频率最高1M…

GitLab仓库管理系统安装详细步骤

前言 本案例安装 gitlab、jenkins、并部署springboot应用程序&#xff0c;所以准备了3台服务器。 服务器1&#xff1a;安装gitlab服务器2&#xff1a;安装jdk、maven、git、jenkins 因为jenkins需要jdk、maven、git服务器3&#xff1a;安装jdk。 jenkins自动部署的springboot…

多目标优化生态调度结果的预测方法研究——基于新蝙蝠算法(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

【CNN】ZFNet——让卷积神经网络不再是一个黑盒模型。

前言 ZFNet在2013年 ILSVRC 图像分类竞赛获得冠军&#xff0c;错误率11.19% &#xff0c;比2012年的AlexNet降低了5%&#xff0c;ZFNet是由 Matthew D.Zeiler 和 Rob Fergus 在 AlexNet 基础上提出的大型卷积网络。ZFNet解释了为什么卷积神经网络可以在图像分类上表现的如此出…

[MySQL]事务ACID详解

专栏简介 :MySql数据库从入门到进阶. 题目来源:leetcode,牛客,剑指offer. 创作目标:记录学习MySql学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 1. 事务的概念 2. 事务的特性 3.事务控制语法…

【经验篇】Java使用ZMQ断线重连问题

简介 ZeroMQ是一个高性能的异步消息传递库&#xff0c;旨在用于分布式或者并发应用程序。它提供了一个消息队列&#xff0c;但与面向消息的中间件不同&#xff0c;ZeroMQ 系统可以在没有专用消息代理的情况下运行。 ZeroMQ 支持各种传输&#xff08;TCP、进程内、进程间、多播…

初步认识端口服务查询--netstat

转载连接&#xff1a;netstat详解 目录1、语法与参数概括2、输出释义2.1 以netstat -atnlp为例&#xff0c;解释输出结果中各列的含义2.2、以netstat -rn为例&#xff0c;解释输出结果中各列的含义3、实用命令4、项目中通过netstat查询某端口是否被占用netstat命令是一个监控TC…

Spring5源码3-BeanDefinition

1. BeanDefinition BeanDefinition在spring中贯穿始终&#xff0c;spring要根据BeanDefinition对象来实例化bean&#xff0c;只有把解析的标签&#xff0c;扫描的注解类封装成BeanDefinition对象&#xff0c;spring才能实例化bean beanDefinition主要实现类: ChildBeanDefini…

ADB安装及使用详解

一、ADB简介 1、什么是adb ADB 全称为 Android Debug Bridge&#xff0c;起到调试桥的作用&#xff0c;是一个客户端-服务器端程序。其中客户端是用来操作的电脑&#xff0c;服务端是 Android 设备。 ADB 也是 Android SDK 中的一个工具&#xff0c;可以直接操作管理 Androi…

K8s高可用集群搭建

K8s高可用集群搭建1 方案简介2 集群搭建2.1 安装要求2.2 准备环境2.3 master节点部署keepalived2.4 master节点部署haproxy2.5 所有节点安装docker/kubeadm/kubelet2.6 部署k8smaster012.7 安装集群网络2.8 k8smaster02加入节点2.9 k8snode01加入集群3 测试集群1 方案简介 用到…

Session-based Recommendation with Graph Neural Networks论文阅读笔记

1. Abstract &#xff08;1&#xff09;基于会话的推荐问题旨在基于匿名会话来预测用户的行为。 The problem of session-based recommendation aims to predict user actions based on anonymous sessions. &#xff08;2&#xff09; 以前的方法存在的不足&#xff1a;不足以…

day3-day4【代码随想录】长度最小的子数组

文章目录前言一、长度最小的子数组1、暴力求解&#xff1a;2、滑动窗口求解&#xff1a;二、最小覆盖子串&#xff08;乐扣76&#xff09;难难难难难三、水果成篮&#xff08;乐扣904&#xff09;四、最长重复子数组&#xff08;乐扣718&#xff09;前言 实现滑动窗口&#xf…

Android抓包工具——Fiddler

前言 &#x1f525;在平时和其他大佬交流时&#xff0c;总会出现这么些话&#xff0c;“抓个包看看就知道哪出问题了”&#xff0c;“抓流量啊&#xff0c;payload都在里面”&#xff0c;“这数据流怎么这么奇怪”。 &#x1f449;这里出现的名词&#xff0c;其实都是差不多的…

矩阵分析:特征值分解

矩阵分析&#xff1a;特征值分解前置知识空间变换伸缩旋转对称矩阵对称矩阵对角化正交矩阵向量的基基变换不同基下的向量变换逆矩阵不同基下的空间变换内积的几何意义特征值、特征向量特征值分解代码前置知识 空间变换 伸缩 一个矩阵其实就是一个线性变换&#xff0c;因为一个…

SpringCloud微服务(六)——Gateway路由网关

Gateway路由网关 Spring Cloud Spring Cloud Gateway统一访问接口的路由管理方式 作用 整合各个微服务功能&#xff0c;形成一套系统微服务网关实现日志统一纪录实现用户的操作跟踪统一用户权限认证路由转发、跨域设置、负载均衡、服务限流反向代理 微服务网关的概述 不同…

H2DCFDA | ROS 荧光探针检测法

H2DCFDA 工作液的配制1、储存液的配制&#xff1a;用 DMSO 配制 10 mM 的 H2DCFDA (2,000)&#xff0c;如用 1.03 mL DMSO 溶解 5 mg H2DCFDA。注&#xff1a;H2DCFDA 储存液建议分装后-20℃ 避光冻存&#xff0c;一个月。-80 半年。2、工作液的配制&#xff1a;用预热好的无血…