第六章知识点回顾
- 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链路层服务
- 组帧(基本服务)
- 发送:将数据报封装到帧中(加上帧头和帧尾)
- 接收:从原始比特流中提取出完整的帧
- 链路接入(广播链路需要)
- 在广播信道上协调各个节点的发送行为
- 差错检测(基本服务)
- 检测传输错误
- 差错纠正(有些提供)
- 检测并纠正传输错误(不使用重传)
- 可靠交付(部分协议提供)
- 通过确认、重传等机制确保接收节点正确收到每一个帧(停-等、GBN、SR)
- 低误码率链路(如光纤、某些双绞线)上很少使用,高误码率链路(如无线链路)应当使用
- 流量控制:
- 调节发送速度,避免接收节点缓存溢出
- 提供可靠交付的链路层协议,不需要专门的流量控制
- 不提供可靠交付的链路层协议,需要流量控制机制
- 半双工和全双工:
- 半双工通信时,提供收/发转换
1.3链路层在哪儿实现?
- 路由器:链路层在线卡(line card)中实现
- 主机:链路层主体部分在网络适配器(网卡)中实现
- 线卡/网络适配器连接物理媒体,还实现物理层的功能
- 链路层由硬件和软件实现:
- 网卡中的控制器芯片:组帧、链路接入、检错、可靠交付、流量控制等
- 主机上的链路层软件:与网络层接口,激活控制器硬件、响应控制器中断等
1.3.1网络适配器之间的通信
-
发送侧:
- 将数据报封装到帧中
- 生成校验比特
- (可选)执行可靠传输和流量控制
-
接收侧:
- 提取帧,检测传输错误
- (可选)执行可靠传输和流量控制
- 解封装数据报,交给上层协议
1.4检错和纠错
-
传输出错的类型
- 单个错:由随机的信道热噪声引起,一次只影响1位
- 突发错:由瞬间的脉冲噪声引起,一次影响许多位,使用突发长度表示突发错影响的最大数据位数
-
差错控制编码的类型
- 检错码:只能检测出传输错误的编码,不能确定出错位置,通常与反馈重传机制结合进行差错恢复
- 纠错码:能够确定错误位置并自行纠正的编码
1.5如何检测与纠正错误?
- 码字(codeword):由 m 比特的数据加上 r 比特的冗余位(校验位)构成
- 有效编码集:由 2m 个符合编码规则的码字组成
- 检错:若收到的码字为无效码字,判定出现传输错误
- 海明距离(Hamming Distance):两个码字的对应位取值不同的位数(比如,100和101的海明距离为1)
- 纠错:将收到的无效码字纠正到距其最近的有效码字
检错码与纠错码的能力都是有限的!
1.5.1编码集的检错与纠错能力
- 编码集的海明距离:编码集中任意两个有效码字的海明距离的最小值
- 检错能力:为检测出所有d比特错误,编码集的海明距离至少应为d+1
- 纠错能力:为纠正所有d比特错误,编码集的海明距离至少应为2d+1
1.5.2差错检测的实施
- 发送端对要保护的数据D(包括帧头字段)生成校验
- 位EDC,添加在帧头(尾)中
- 接收端对收到的数据D’计算校验位,与收到的校验位
- EDC’比较,不同则判定有错
1.5.3奇偶校验
- 单比特奇偶校验:
- 可检测奇数个比特错误
- 检错率为50%
- 编码集海明距离为2
- 二维奇偶校验:
- 可检测2比特错和纠正单比特错
- 编码集海明距离为3
- 有利于检测突发错误
1.5.4循环冗余校验(CRC)
- CRC是一种多项式编码,它将一个位串看成是某个一元多项式的系数,如1011看成是一元多项式X3 + X + 1的系数
- 信息多项式M(x):由m个信息比特为系数构成的多项式
- 冗余多项式R(x):由r个冗余比特为系数构成的多项式
- 码多项式T(x):在m个信息比特后加上r个冗余比特构成的码字所对应的多项式,表达式为T(x) = xr·M(x) + R(x)
- 生成多项式G(x):双方确定用来计算R(x)的一个多项式
- 编码方法:R(x) = xr·M(x) ÷ G(x) 的余式(减法运算定义为异或操作)
- 检验方法:若T(x) ÷G(x)的余式为0,判定传输正确
CRC码检错能力极强,可用硬件实现,是链路层上应用最广泛的检错码
1.5.5 CRC举例
-
例1:取G(X) = X3 + 1,对信息比特101110计算CRC码。
- 解答:
- 101110 000 ÷1001的余式为R=011 (CRC code)
- 码字:101110 011
-
例2:取G(X) = X3 + 1,接收端收到比特串1001001,问是否有错?
解答:
1001001÷1001的余式为001(不为0),有传输错误
1.5.6要求理解的知识点
- 检错和纠错的一般性原理
- 二维奇偶校验、循环冗余码
- 为什么链路层使用CRC,而其上各层使用checksum?(思考)
1.6链路的两种类型
- 点到点链路:
- 仅连接了一个发送方和一个接收方的链路
- 一条全双工链路可以看成是由两条单工链路组成
- 广播链路:
- 连接了许多节点的单一共享链路,任何一个节点发送的数据可被链路上的其它节点接收到
1.7多址接入(Multiple Access)
-
冲突(collision)
- 在广播链路上,若两个或多个节点同时发送,发送的信号会发生干扰,导致接收失败
-
多址接入协议
- 规定节点共享信道(谁可以发送)的方法
- 多址接入协议也称媒体接入控制(Medium Access Control,MAC)协议
1.7.1 理想的多址接入协议
- 在速率为R bps的广播信道上
- 当只有一个节点发送时,它应能以速率R发送(信道利用率高)
- 当有M个节点发送时,每个节点应能以 R/M的平均速率发送(公平性好、信道利用率高)
- 协议是无中心的(分散式):
不需要一个特殊的节点来协调发送(健壮性好)
不需要时钟或时隙同步(不需要额外的机制) - 简单(实现和运行开销小)
1.8MAC协议的分类
- 信道划分
- 将信道划分为若干子信道,每个节点固定分配一个子信道,不会发生冲突
- 关注公平性,轻负载时信道利用率不高
- 随机接入(竞争)
- 不划分信道,每个节点自行决定何时发送,出现冲突后设法解决
- 轻负载时信道利用率高,重负载时冲突严重
- 轮流使用信道
- 不划分信道,有数据的节点轮流发送,不会出现冲突
- 信道利用率高,公平性好,但需引入额外机制
1.8.1(1)信道划分的MAC协议
- TDMA: 时分多址
- 将信道的使用时间划分成帧,每个节点在帧中被分配一个固定长度的时间片,每个时间片可以发送一个分组
- 节点只能在分配给自己的时间片内发送
- 若节点不发送,其时间片轮空
- FDMA: 频分多址
- 将信道频谱划分为若干子频带
- 每个节点被分配一个固定的子频带
- 若节点不发送,其子频带空闲
- CDMA: 码分多址
-
将每个比特时间进一步划分为m个微时隙(称chip)
-
每个节点被分配一个惟一的m比特码序列(称chip code)
-
发送方编码:发送“1”=发送chip code;发送“0”=发送chip code的反码
-
信号叠加:多个节点发送的信号在信道中线性相加
-
接收方解码:用发送方的chip code与信道中收到的混合信号计算内积,恢复出原数据
-
前提条件:任意两个chip code必须是相互正交的
-
CDMA允许所有节点同时使用整个信道!
-
1.8.2(2)随机接入的MAC协议
-
随机接入的基本思想:
- 当节点有数据要发送时,以信道速率R发送,发送前不需要协调
- 随机接入MAC协议 规定如何检测冲突,以及如何从冲突中恢复
-
随机接入MAC协议的例子:
- 发送前不监听信道:ALOHA家族
- 发送前监听信道:CSMA家族
1.9时分(Slotted) ALOHA
- 假设:
- 所有帧长度相同
- 时间被划分为等长的时隙,每个时隙传一帧
- 节点只能在时隙开始时发送
- 节点是时钟同步的(知道时隙何时开始)
- 所有节点可在时隙结束前检测到是否有冲突发生
- 操作:
- 节点从上层收到数据后,在下一个时隙发送
- 若时隙结束前未检测到冲突,节点可在下一个时隙发送新的帧
- 若检测到冲突,节点在随后的每一个时隙中以概率P重传,直至发送成功
- 优点
- 单个活跃节点可以信道速率连续发送
- 分散式:节点自行决定什么时候发送
- 简单
- 缺点
发生冲突的时隙被浪费了
由于概率重传,有些时隙被闲置
需要时钟同步
1.10时分Aloha的效率
-
效率:当网络中存在大量活跃节点时,长期运行过程中成功时隙所占的比例
- 假设: 有N个活跃节点,每个节点在每个时隙开始时以概率P发送
- 给定节点在一个时隙中发送成功的概率 = p(1-p)N-1
- 给定时隙中有节点发送成功的概率 = Np(1-p)N-1
-
最大效率:
- 找到令Np(1-p)N-1最大的概率p*
- 代入Np*(1-p*)N-1,并令N趋向于无穷,得到:
- 最大效率 = 1/e = 0.37
-
最佳情况: 信道用于有效传输的时间仅为37%!
-
纯ALOHA:
- 基本思想:
- 不需时钟同步,任何节点有数据发送就可以立即发送
- 节点通过监听信道判断本次传输是否成功
- 若不成功,立即以概率P重传,以概率(1-P)等待一个帧时后再决定。(帧时:发送一帧的时间,假设帧长度相同)
- 发生冲突的情形:
- 在时刻t0发送的帧与在 (t0-1,t0+1) 时段内发送的其它帧冲突
- 基本思想:
-
纯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)
- P(给定节点发送成功) = P(节点发送) .
- 求出令节点发送成功概率Np . (1-p)2(N-1)最大的p*,并令N -> infty:
- 最大效率 = 1/(2e) = 0.18
1.11载波侦听多址接入(CSMA)
- 发送前监听信道(carrier sensing):
- 信道空闲:发送整个帧
- 信道忙:推迟发送
- 冲突仍可能发生:
- 由于存在传输延迟,节点可能没有监听到其它节点正在发送
- 即使忽略传输延迟,当两个(或多个)节点同时发现信道由忙变为空闲、并都决定立即发送时,仍会发生冲突
1.11.1CSMA/CD (Collision Detection)
- 若在发送的过程中检测到冲突,怎么办?
- 继续发送余下的部分(浪费带宽)
- 停止发送余下的部分
- CSMA/CD的基本思想:
- 在发送的过程中检测冲突(发生冲突时信号较强)
- 检测到冲突后,立即停止发送剩余的部分
- 立即启动冲突解决的过程
2.以太网MAC协议
- 早期以太网采用CSMA/CD协议:
- 网卡从网络层接收数据报,构造以太帧
- 若网卡监听到信道空闲,立即发送帧;若信道忙,坚持监听直至发现信道空闲,然后发送帧
- 若网卡发送完整个帧而没有检测到冲突,认为发送成功!
- 若网卡在传输过程中检测到冲突,立即停止发送帧,并发送一个阻塞信号(加强冲突)
- 网卡进入指数回退阶段,选择一个等待时间:
第一次冲突后: 从{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,…… - 返回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协议
- 轮询
- 主节点轮流“邀请”从节点发送,邀请到的从节点允许发送
- 缺点:
- 引入轮询延迟
- 单点失效(主节点)
- 令牌传递
- 网络中有一个令牌,按预定顺序在节点间传递
- 获得令牌的节点可以发送
- 发送完数据后释放令牌
- 缺点:
- 令牌传递延迟
- 单点失效(令牌)
2.3MAC协议小结
- 按照时间、频率、编码划分信道:
- 时分多址、频分多址、码分多址
- 随机接入:
- 纯ALOHA, S-ALOHA(ALOHA网络)
- CSMA/CD(早期以太网)
- CSMA/CA(802.11)(第7章)
- 轮流访问:
- 中心节点轮询(蓝牙)
- 令牌传递(FDDI、IBM令牌环、令牌总线)
2.4MAC协议比较
- 信道划分MAC协议:
重负载下高效:没有冲突,节点公平使用信道
轻负载下低效:即使只有一个活跃节点也只能使用1/N的带宽 - 随机接入MAC协议:
轻负载时高效:单个活跃节点可以使用整个信道
重负载时低效:频繁发生冲突,信道使用效率低 - 轮流协议(试图权衡以上两者):
按需使用信道(避免轻负载下固定分配信道的低效)
消除竞争(避免重负载下的发送冲突)
3.局域网、城域网和广域网
-
局域网LAN(Local Area Network)
将小范围内的计算机及外设连接起来的网络,范围在几公里以内,通常为个人或机构所有 -
城域网MAN(Metropolitan Area Network )
通常覆盖一个城市的范围(几十公里),要能支持数据、音频和视频在内的综合业务,服务质量好,支持用户数量多 -
广域网WAN(Wide Area Network)
通常覆盖一个国家或一个洲(一百公里以上),规模和容量可任意扩大
3.1链路层编址
- 每个适配器有一个MAC地址
3.2 MAC地址类型
- 帧的目的MAC地址有三种类型:
- 单播地址:适配器的MAC地址,地址最高比特为0
- 多播地址:标识一个多播组的逻辑地址,地址最高比特为1
- 广播地址:ff:ff:ff:ff:ff:ff
- 网络适配器仅将发送给本节点的帧交给主机:
- 目的地址为适配器MAC地址的单播帧
所有广播帧 - 指定接收的多播帧
- 目的地址为适配器MAC地址的单播帧
- 若将适配器设置成混收模式,适配器将收到的所有帧交给主机
3.3MAC地址和IP地址
- 世界上先有MAC地址,后有IP地址
- 在TCP/IP(互联网)出现之前,只使用MAC地址在单个的物理网络中寻址
- 为什么有了MAC地址,还需要IP地址?
- MAC地址是扁平结构的,无法在因特网范围内快速确定接口的位置
- IP地址是有结构的,可以在因特网范围内快速确定网络接口的位置
- IP地址与MAC地址没有固定的关联关系:
- MAC地址与网卡绑定,与节点在哪个子网无关
- IP地址与所在子网有关,与网卡没有关系
3.4如何将数据报发送到下一跳?
- 当发送节点A、接收节点B位于同一个物理网络上时,数据报可从A直接交付给B:
- A的网络层将数据报、B的MAC地址交给数据链路层
- A的数据链路层将数据报封装在一个链路层帧中,帧的目的地址=B的MAC地址
- B的适配器收到帧,根据目的MAC地址判断是发给本机的,取出数据报交给网络层
- 问题:
- A的网络层如何得知B的MAC地址?
4. 地址解析(Address Resolution)
- 问题:已知IP地址,如何得到对应的MAC地址?
- 静态映射IP地址-MAC地址的缺点:
- 主机每次使用的IP地址可能不同(DHCP)
- 主机可能更换网卡
- 地址解析协议(ARP)用于动态获得IP地址-MAC地址映射,其基本思想是:
- 若节点A希望获得节点B的MAC地址,节点A广播B的IP地址(地址解析请求)
- 节点B用自己的MAC地址进行响应
4.1ARP报文格式
- 硬件类型:硬件接口类型。对于以太网,该值为“1”。
- 协议类型:高层协议地址类型。对于IP地址,该值为080016。
- 操作:ARP请求为1,ARP响应为2
- 在以太网上,ARP报文封装在以太帧中传输
4.2地址解析的过程
- 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缓存
- 每个节点在内存中维护一个地址映射(绑定)表,称ARP缓存
- 每次发送数据报前先查询ARP缓存,若找不到则发送ARP请求,并在收到ARP响应后将地址映射缓存起来
- ARP缓存中的信息,在超时(一般为15~20分钟)后删除
4.4改进ARP的措施:主动学习
-
从ARP请求中获取地址绑定信息:
- 每个节点可以收到全部的ARP请求报文,可将发送节点的地址映射缓存到自己的ARP表中
-
节点在启动时自动广播自己的地址映射:
- 节点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 重要的知识点
- 为什么有了MAC地址,还需要IP地址?
- 地址解析:
- ARP过程,ARP缓存
- 分组逐跳转发的过程:
- 仔细梳理源主机、路由器、目的主机上分别进行了什么操作,分组是如何逐跳地从源主机经路由器到达目的主机的
5. 以太网
- 第一个广泛应用的局域网技术,也是目前占主导地位的有线局域网技术
- 与其它的局域网技术相比,技术简单、成本低
- 为提高速率,以太网技术不断演化和发展
- 速率持续提高:10 Mbps -> 100Mbps -> 1Gbps -> 10 Gbps -> 40Gbps -> 100Gbps -> …
5.1总线拓扑:共享式以太网
- 总线(1970s中期):
- 以同轴电缆作为共享传输媒体(总线)
- 所有节点通过特殊接口连接到这条总线上
- 集线器(1990s后期):
- 一个物理层中继器,从一个端口进入的物理信号(光,电),放大后立即从其它端口输出
- 集线器相当于共享电缆
5.2星型拓扑:交换式以太网
- 交换机(21世纪早期):
- 主机通过双绞线或光纤连接到交换机
- 主机与交换机之间为全双工链路
- 交换机在端口之间存储转发帧(链路层设备)
- 交换式以太网不会产生冲突,不需使用CSMA/CD协议!
- 星型拓扑:
- 各节点仅与中心节点直接通信,各节点之间不直接通信
- 不同于基于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无连接、不可靠的数据传输
- 无连接:
- 发送方网卡与接收方网卡之间没有握手
- 不可靠:
- 接收方网卡不发送确认
- 接收方网卡丢弃CRC错误的帧
- 依靠上层协议(TCP或应用)进行错误恢复
5.5为什么有最小帧长的要求?
- CSMA/CD协议规定,发送方仅在发送的过程中检测冲突;为保证在发送结束前检测到冲突,帧的发送时间必须足够长:
-
节点检测冲突需要时间
-
假设信号在相距最远的两个适配器之间的往返延迟为2τ,则帧的发送时间不应小于2τ,即帧的最小长度≧链路速率×2τ
-
- 为什么最小帧长为64字节(不包括前导码):
- 根据早期以太网的最大直径(2500米)和数据速率(10Mbps)计算得到
6. 802.3以太网标准: 链路层 & 物理层
-
历史上出现过许多不同的以太网技术:
- 链路层相同:MAC协议,帧格式,帧处理
- 物理层不同:
- 传输媒体: 光纤,同轴电缆,双绞线
- 数据速率: 如10Mbps, 100 Mbps, 1Gbps, …
- 物理层编码方式
-
所有这些以太网技术由IEEE 802.3工作组标准化,形成IEEE 802.3标准族
-
10Mbps以太网(早期以太网)
- 10Base-5:
- 基带同轴电缆(粗),每段电缆最大长度500米
- 10Base-2:
- 基带同轴电缆(细),每段电缆最大长度约200米
- 10Base-T
- 3类双绞线和集线器,双绞线最大长度100米
- 10Base-F
- 多模光纤和集线器,光纤最大长度2000米
- 仅能使用光纤/双绞线,以及集线器/交换机
- 100Base-TX(可使用集线器或交换机):
5类双绞线(2对),不超过100米 - 100Base-T4 (可使用集线器或交换机) :
3类双绞线(4对),不超过100米 - 100Base-FX(只能使用交换机):
多模光纤(2条),不超过2000米
- 10Base-5:
-
千兆、万兆以太网
- 使用交换机,并增加了对流量控制的支持
- 1000Base-SX:
- 多模光纤,不超过550米
- 1000Base-LX:
- 单模或多模光纤,不超过5000米
- 1000Base-CX(很少用):
- 2对屏蔽双绞线,不超过25米
- 1000Base-T:
- 4对5类双绞线,不超过100米
- 10GBase-T:
- 只使用光纤,长距离用单模光纤,短距离用多模光纤
6.1 以太网交换机
- 链路层设备:
- 存储-转发帧:检查输入帧的MAC地址,有选择地将帧转发到一条或多条输出链路
- 对主机透明
- 交换机没有MAC地址,主机不需要了解有关交换机的任何信息,感觉不到交换机的存在
- 即插即用,自主学习
- 交换机不需要配置
6.2交换机如何转发?
- Q: 交换机如何知道A’通过端口4可达,而B’通过端口5可达?
- A: 每个交换机内部有一张转发表,每个表项记录以下信息:
MAC地址,去往该MAC地址的端口
- A: 每个交换机内部有一张转发表,每个表项记录以下信息:
- Q: 转发表是如何建立和维护的?
6.3自主学习
- 交换机自主学习“哪个主机通过哪个端口可达”:
- 当一个帧到达时,交换机从源MAC地址了解到发送节点,从帧到来的端口了解到发送节点的位置(从该端口可达)
- 在转发表中记录发送节点和可达端口
6.4 帧的过滤和转发
6.4.1交换机收到帧的处理过程
- 用帧的目的地址查找转发表(转发决策):
- 若目的地址所在端口 = 帧的进入端口,丢弃帧
- 若目的地址所在端口 ≠ 帧的进入端口,转发帧
- 若目的地址不在转发表中,扩散帧
- 用帧的源地址查找转发表(更新转发表):
- 若找到地址,更新相应表项
- 若没有找到该地址,添加源地址和进入端口到转发表,设置表项的生存期为最大值
- 举例
- 目的地址未知:
- 扩散
- 目的地址A已知:
- 按照转发表转发
- 目的地址未知:
6.5 级联交换机
-
多个交换机也可以级联在一起,将更多或更大范围内的节点连接到一个网段中
- Q: 数据包要从A发往F,交换机S1如何知道应转发给S4,而S4如何知道应转发给S2?
- A: 通过自主学习!(与单交换机情形相同)
- Q: 数据包要从A发往F,交换机S1如何知道应转发给S4,而S4如何知道应转发给S2?
-
举例:
- 假设C发送一个帧给I,I响应C:
- Q: 给出 S1, S2, S3, S4 中的转发表和包转发决策
- 解答:
- 假设C发送一个帧给I,I响应C:
6.6有环网络和生成树算法
- 实际的网络是有环网络:
- 实际网络不采用树状结构(可靠性不高),而是存在冗余链路,即网络中存在环
- 在有环的网络中扩散帧会造成冗余传输,且不能终止
- 解决方法(构造网络的生成树):
- 在有环的物理网络上建立一个无环的网络拓扑(生成树),正常情况下只使用无环拓扑转发帧
- IEEE 802.1D标准化了构造生成树的分布式算法:
- 首先选举具有最小序列号的交换机作为生成树的根
- 按照根到各个交换机的最短路径构造生成树
- 只有位于生成树中的交换机可以在属于生成树的边上发送
- 当有节点或链路发生故障时,重新计算一个无环拓扑
6.7交换机 vs. 路由器
- 交换机工作于链路层,根据MAC地址存储转发帧
- 路由器工作于网络层,根据IP地址存储转发数据报
- 交换机不能连接异构链路(即MAC协议不同的网络),因为交换机只是按原样转发帧
- 路由器可以连接异构链路,因为路由器需重新封装链路层帧
- 交换机不能阻断广播帧的传播:
- 交换机只能学习到单播MAC地址,所有广播帧都会扩散发送
- 通过交换机连接的所有主机在同一个广播域中
- 路由器可以阻断广播帧的传播:
- 路由器根据IP地址转发包(看不到MAC地址)
- 每个路由器端口是一个独立的广播域
- 冲突域:
- 共享同一条广播链路的主机集合
- 任何一个主机发送的帧(各种帧),可被冲突域中的其它主机接收到
- 广播域:
- 广播帧能够到达的主机集合
- 广播风暴:广播帧在网络中大量传播,消耗大量资源
6.8 三层交换机和路由器
- 路由器可分隔二层网络,但转发速度慢、成本高
- 三层交换机:
- 具有部分路由功能、又有二层转发速度的交换机
- 专为加快大型局域网内部的数据交换而设计
- 但在安全、协议支持等方面不如专业路由器
- 机构网络中三层交换机和路由器的使用:
- 三层交换机:通常用在机构网络的核心层,连接不同的子网或虚拟局域网(每个虚拟局域网是一个独立的子网)
- 专业路由器:连接机构网络与外网
6.9三层交换机为什么快?
- 路由器转发IP包的过程:
- 用目的IP地址查找转发表,获得下一跳IP地址及端口
- 利用ARP获得下一跳MAC地址
- 用下一跳MAC地址构造链路层帧,发送
- 三层交换机转发IP包的过程:
- 将以上第1、第2步的结果缓存起来(以目的IP地址为索引,哈希表)
- 用目的IP地址查找缓存(一次精确匹配):
- 若命中,直接用下一跳MAC地址构造链路层帧,发送
- 若未命中,执行以上第1、2、3步
- 三层交换机转发速度快的原因:
- 一次选路,多次转发
6.9.1 网络连通
6.10 两级编址
- 两级编址: IP网络,物理网络
- IP层提供统一的网络视图:地址,包格式
- 底层可以是任意的物理网络:
- cable
- satellite
- 56K telephone modem
- today: ATM, MPLS
- …
- 物理网络对于IP层是不可见的,对于IP来说物理网络只是一条虚拟链路而已!
总结
- 数据链路层服务原理:
- 差错检测与纠正
- 共享广播信道:多址技术
- 链路层编址,ARP
- 链路层技术实例:
- 以太网
- 综合: a day in the life of a web request