交换网络基础

发布于:2022-11-08 ⋅ 阅读:(394) ⋅ 点赞:(0)

网络基础

  • 路由器:基于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

  • trunk接口

    • 1、接收数据
      查看是否携带TAG
      • 如果携带TAG的帧,那么查看放行列表中是否被允许
        • 如果允许,则直接接收。
        • 如果不允许,则丢弃。
          注意:如果放行列表允许所有,那么这个所有代表在本地交换机创建的所有vlan!!!
      • 如果不携带TAG的原始帧,那么会给这个原始帧打一个TAG且TAG中的vlanid取值和该Trunk接口的Pvid相同
        trunk接口的pvid默认=1,打完TAG以后还要查看放行列表是否允许
        • 允许则接收
        • 不允许则丢弃
  • 2、发送数据
    查看放行列表
    如果允许放行,还要查看vlanid和接口的pvid是否相同:

    • 如果vlanid=pvid,那么会剥离TAG,发送原始帧出去。
    • 如果vlanid≠pvid,那么会直接发送出去
      如果不允许放行,则直接丢弃。
  • hybrid接口

    • undo info-center enable //关闭日志显示
    • clear configuration interface GigabitEthernet 0/0/1 //初始化接口,但是会被shutdown
    • undo port trunk allow-pass vlan 1 //除vlan1以外的流量可以放行
    • port hybrid pvid vlan 10
    • port hybrid untagged vlan 10 //相当于access的port default vlan 10
    • port hybrid tagged vlan 10 //相当于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的回显为目标主机不可达

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到