目录
- [5.4 交换局域网](#5.4 交换局域网)
-
- [5.4.1 链路层寻址和ARP](#5.4.1 链路层寻址和ARP)
- [5.4.2 以太网](#5.4.2 以太网)
- [5.4.3 链路层交换机](#5.4.3 链路层交换机)
- [5.5.4 虚拟局域网VLAN](#5.5.4 虚拟局域网VLAN)
5.4 交换局域网
5.4.1 链路层寻址和ARP
-
MAC地址
-
每个主机发送的帧中必须携带表示发送主机 和接收主机的地址,又叫LAN地址或物理地址
-
MAC地址是对网络上各接口的唯一标识,而不是对网络上各设备的唯一标识
-
MAC地址长度为6字节时,就有2^48个可能的MAC地址(1字节=8bits)
- 十六进制表示法,每个字节是一对十六进制数
-
MAC地址是永久的,适配器到哪用都不会变化但可用软件改变
-
MAC地址是扁平结构(地址不分层或分段)
-
IP地址是层次结构(网络部分+主机部分),主机移动IP地址需要改变(改变它所连接的网络)
-
-
MAC广播地址:地址全1(
FF-FF-FF-FF-FF-FF)- 发送适配器要让局域网上所有其他适配器来接收并处理它发送的帧
-
-
地址解析协议(Address Resolution Protocol,ARP)
-
用于**网络层地址(IP地址)和链路层地址(MAC地址)**之间的转换
-
流程
-
源主机在自己ARP高速缓存表查找目的主机IP地址对应的MAC地址
-
找到就封装成MAC帧发送
-
找不到就封装在广播MAC发送ARP请求
-
-
目的主机收到ARP请求,将源主机的IP地址和MAC地址记录到自己的ARP高速缓存表,然后封装在单播MAC帧给源主机发送ARP响应
-
-
特点
-
广播请求,单播响应
-
即插即用,ARP表自动维护,无需手动配置
-
作用范围:同一子网(不能跨链路或跨网络)
-
-
属于跨层协议,跨越链路层和网络层(有链路层地址 和网络层地址)
-
-
跨子网通信
-
通过路由器中转,数据帧的MAC地址逐跳更新,IP地址保持不变
-
流程
-
主机A->路由器接口1
-
判断目标不在子网1:A通过子网掩码计算
-
ARP查询:A通过ARP获取默认网关(路由器接口1)的MAC地址
-
封装帧:
目标MAC:路由器接口1
目标IP:主机B(帧的目标MAC是路由器,但最终目标是IP)
-
发送:帧被子网1的交换机转发到路由器接口1
-
-
路由器处理
-
解包:检查目标IP
-
查询转发表:确定通过接口2转发到子网2
-
ARP查询:路由器通过ARP获取B的MAC地址
-
-
路由器接口2->主机B
-
封装新帧:目标MAC:主机B 目标IP:主机B(保持不变)
-
发送:帧被子网2的交换机转发到主机B
-
-
路由器的必要性
-
修改帧的MAC地址,使其能在不同子网传递
-
IP地址始终指向最终目标,保证端到端通信
-
-
-
5.4.2 以太网
- 以太网的帧结构
前同步码+目的地址+源地址+类型+数据+CRC
-
前同步码(8字节)
-
前7个字节都是10101010:唤醒接受适配器,并将接收方适配器锁定发送方时钟
-
第8个个字节是10101011:标志帧开始
-
-
目的MAC地址(6字节)
目标设备的物理地址或广播地址
-
源MAC地址(6字节)
发送方设备物理地址
-
类型字段(2字节)
表示上层协议类型(IP或ARP等)
-
数据字段(46~1500字节)
-
承载网络层数据报
-
以太网最大传输单元MTU是1500字节,超出则将该数据报分片
-
最小46字节,不足则用IP数据包首部长度字段填充
-
-
CRC(4字节)
循环冗余检测
-
关键特性
-
无连接服务:无需提前握手
-
不可靠服务
-
无确认机制:校验CRC失败直接丢弃,发送方不知是否成功到达
-
可靠性依赖上层使用的协议
-
若用TCP:TCP会通过重传机制填补数据间隙
-
若用UDP:数据丢失会让接收方直接感知到间隙
-
-
-
多协议复用
-
5.4.3 链路层交换机
-
交换机的任务:接收入链路层帧并将它们转发到出链路
-
交换机缓存:防止帧到达交换机输出接口的速率暂时超过该接口的链路容量
-
特点:即插即用,不用配置,接口可以同时发送和接收
-
交换机的转发和过滤
-
转发:决定帧应该被定向到哪些接口,然后将帧移动到这些接口
-
过滤:决定一个帧是转发还是丢弃
-
借助交换机表完成
交换机表包括
-
一个MAC地址(帧的源地址)
-
通向该MAC地址的交换机接口
-
表项放置在表中的时间
-
-
工作过程
目的地址为A的帧从交换机接口x到达。交换机用MAC地址A索引表,希望找到对应的输出接口。有3种情况
-
情况1:交换机表没有含地址A的表项
向除接口x的所有接口广播该帧
-
情况2:有一个表项是地址A与接口x
执行过滤,丢弃该帧(该帧来自x所在的局域网,又想发送到x的局域网)
-
情况3:有一个表项是地址A与接口y
将该帧放到接口x前的输出缓存完成转发
-
-
自学习
-
建立转发表
-
流程
-
交换机表初始为空
-
对于每个接口收到的每个入帧,存储3个信息
-
该帧源地址字段的MAC地址
-
该帧到达的接口
-
当前时间
-
-
-
在一段时间(aging time)后,交换机没有收到该地址作为源地址的帧,就删除这个地址
-
-
性质
-
**消除了碰撞。**缓存帧且只同时只传输一个帧,没有因为碰撞浪费的带宽
-
**链路异质。**将链路彼此隔离,可以新旧设备混用
-
**管理。**可发现问题,易于进行网络管理
-
-
交换机VS路由器
-
工作层级
-
交换机:链路层和物理层
-
路由器:网络层
-
-
优缺点
-
交换机
优点
-
即插即用
-
相对高的分组过滤和转发速率,交换机只需处理至第二层帧
缺点
-
拓扑限制为一棵生成树
-
大型交换网络要求主机和路由器有庞大的ARP表,有大量的ARP流量和处理量,增加管理负担
-
不对广播风暴提供任何保护措施,可能造成以太网崩溃
-
-
-
路由器
优点
-
网络寻址分层,避免路由循环
-
支持任意拓扑
-
对广播风暴提供防火墙保护
缺点
-
不是即插即用,路由器和主机都要人为配置IP地址
-
对分组处理时间更长,路由器需处理至第三层帧
-
-
5.5.4 虚拟局域网VLAN
-
传统等级结构局域网的缺点
-
缺乏流量隔离,降低局域网性能,且缺乏隐私和安全
-
交换机的无效使用
-
管理用户困难
-
-
解决方案
-
路由器:成本高
-
虚拟局域网:将局域网内的设备划分成与物理地址无关的逻辑组,这些逻辑组有共同需求
-
-
不同虚拟局域网之间的通信
-
将VLAN交换机的一个端口与外部一台路由器相连,并将端口配置为属于两个VLAN
-
数据发送:数据从主机1跨越VLAN1到达路由器,再由路由器转发跨越VLAN2到达主机2
-
-
两台混合交换机互联
-
法1
每台交换机定义一个属于VLAN1的端口和一个属于VLAN2的端口,然后把同属于VLAN1的端口连接,同属于VLAN2的端口连接
缺点:不具有扩展性(要是VLAN个数多了会占用交换机大量端口)
2. 法2:VLAN干线连接(trunking)-
每台交换机选定一个端口配置为干线端口,以互联这两台VLAN交换机。该干线端口属于所有VLAN,发送到任一VLAN的帧都要经过干线链路才能转发到其他交换机
-
IEEE 802.1Q
扩展的以太网帧格式,用于确定到达干线端口的帧来自哪个VLAN
-
VLAN标签
-
在标准以太网帧的源地址字段和类型字段之间加入4字节VLAN标签
-
2字节标签协议标识符(TPID)字段
-
2字节标签控制信息字段
-
-
发送的交换机加进帧,解析后由接收的交换机删除
-
-
-
VLAN划分方式
-
基于端口的VLAN(本节)
-
基于MAC的VLAN
-
基于网络层协议(IPv4、IPv6)的VLAN
-
VLAN跨IP路由器扩展是可能的
-