交换网络基础
- 网络基础
 - 交换机的转发行为
 - 数据帧分类
 - 交换机MAC地址表
 - ping包来回过程
 
- VLAN
 - ICMP返回值
 
 
网络基础
 
- 路由器:基于3层路由表转发
 - 交换机:基于2层MAC地址表转发,数据帧转发
 
 
交换机的转发行为
 
- 泛洪:单播帧查MAC地址表没有查到,执行泛洪动作
 - 转发:单播帧查MAC地址表没有查到,执行转发动作
 - 丢弃
 
 
数据帧分类
 
- 单播:数据帧的MAC地址的第8bit为0,则为单播帧
 - 广播:数据帧的MAC地址的全为F,则为广播帧
 - 组播:数据帧的MAC地址的第8bit为1,则为组播帧
 
 
交换机MAC地址表
 
- 接收数据,学习MAC地址,学习原地址与接口对应关系
 - 转发行为:收到广播,直接泛洪
 
 
ping包来回过程
 
ping一个不存在于改网络中的地址
 
 
过程:1. ICMP层2. IP层:SIP:1.1  DIP:1.100 在网络层发现源目IP在相同网段,因此无需路由功能,在二层封装D.MAC时直接封装1.100对应的MAC地址即可3. 数据链路层:D.MAC(1.100)  S.MAC(1.1)4. 查看ARP缓存表是否存在1.100对应的MAC地址5. 并没有1.100对应的MAC地址表,因此要使用ARP协议,发送arp-request报文去请求1.100的MAC地址
 
结论:由于网络中不存在1.100主机,因此arp-request不会有回应,因此PC1无法学习到1.100对应的MAC地址! —>因此ICMP报文无法完成封装
 
VLAN
 
概念:
 
- vlan id :vlan编号 取值范围 1~4094
 - pvid :port vlan id 用于描述接口的vlan id
 - 本征vlan:思科的一个专有名词,华为里没有这个说法
 在思科中,对于trunk接口的vlan id叫做本征vlan
 对标:华为中对于trunk接口的pvid 
 
VLAN接口类型
 
-  
access接口
 - 1、接收数据
 首先查看数据帧是否携带TAG?
 如果携带TAG,那么查看该TAG中vlan id和接口的pvid是否相同,相同则接收,不同则丢弃
 如果不携带TAG,那么就会给这个原始帧打一个TAG,且vlan id和接口的pvid相同。 - 2、发送数据
 对比数据帧TAG中的vlan id和接口的pvid是否相同,
 如果相同,则剥离TAG,发送原始帧出去。
 如果不同,则丢弃。 
  
 
备注:一般交换机的接口到底要配置成什么模式,要取决于对方的接口可以识别什么样的数据帧。
 
如果对方接口只能识别原始帧,一般来说要给交换机接口配置为access
 如果对方接口能识别vlan,那么可以将交换机接口配置为trunk
 
 
ICMP返回值
 
 

 数据包封装过程:
 
- PC1要执行封装ICMP报文 
- ICMP层 OK
 - IP层 OK S.IP:PC1 D.IP:PC2 由于网段相同,所以不需要启用路由功能,那么二层帧头的目的MAC需要封装PC2的MAC地址
 - 帧头:由于PC1的ARP缓存表中缺少PC2的MAC地址,因此该ICMP报文封装暂停,将发起ARP请求报文,去寻找PC2的MAC地址。
 
  - PC1发起ARP请求报文向PC2寻找MAC地址: 
- PC1发往PC2的ARP请求可以顺利到达,但是PC2给PC1回应ARP reply时到达SW3时发生了意外,无法传递给PC1。
 
  
 
总结:因为PC1无法获取到PC2的MAC地址,因此ICMP报文无法封装完成,因此PING的回显为目标主机不可达