交换机属于二层设备,只能通过MAC地址表进行转发且转发范围受VLAN限制

若我们想跨VLAN进行通信,通常方法有两种

  1. 利用路由器实现单臂路由
  2. 通过三层交换机的虚拟接口Vlanif进行转发,Vlanif接口编号必须与VLAN编号一一对应

实验目的

  • 理解Vlanif接口的作用
  • 了解数据的转发过程
  • 了解OSPF在三层交换机上的特殊形式

实验拓扑

实验步骤

  1. 手动为各个PC分配好图示IP地址,掩码与网关,在S1上创建VLAN 10,在S2上创建VLAN 20,并将两个接口分别配置为Access类型与Trunk类型

    S1:
    <Huawei>sys
    [Huawei]undo info-center en
    [Huawei]sysname S1
    [S1]vlan batch 10
    [S1]int e0/0/1
    [S1-Ethernet0/0/1]port link-type access
    [S1-Ethernet0/0/1]port default vlan 10
    [S1-Ethernet0/0/1]int g0/0/1
    [S1-GigabitEthernet0/0/1]port link-type trunk
    [S1-GigabitEthernet0/0/1]port trunk allow-pass vlan allS2:
    <Huawei>sys
    [Huawei]undo info-center en
    [Huawei]sysname S2
    [S2]vlan batch 20
    [S2]int e0/0/1
    [S2-Ethernet0/0/1]port link-type access
    [S2-Ethernet0/0/1]port default vlan 20
    [S2-Ethernet0/0/1]int g0/0/2
    [S2-GigabitEthernet0/0/2]port link-type trunk
    [S2-GigabitEthernet0/0/2]port trunk allow-pass vlan all
    
  2. R1e0/0/1设置为PC3的网关,将g0/0/3设置为10.255.255.254/8

    R1:
    <Huawei>sys
    [Huawei]undo info-center en
    [Huawei]sysname R1
    [R1]int e0/0/1
    [R1-Ethernet0/0/1]ip address 192.168.3.254 24
    [R1-Ethernet0/0/1]int g0/0/3
    [R1-GigabitEthernet0/0/3]ip address 10.255.255.254 8
    
  3. 此时我们应当想一想S3该如何配置才能保证跨路由通信?我们不妨假设此时PC1 ping PC2,看看需要哪些操作

    1. 首先PC1PC2IP地址与自身掩码相与,发现PC2与自己不处于同一个网段,所以直接发送ARP请求报文【经由S1e0/0/1接口,因此会携带VLAN 10标签】希望能够得到PC1网关的MAC地址,而二层交换机作为数据链路层设备是没有IP地址的,此时便需要用到三层交换机的Vlanif接口了

    2. 我们在S3上配置Vlanif 10逻辑接口,接口的IP地址设置为PC1的网关。此时若再有携带VLAN 10标签的ARP请求信息时,交换机便会将ARP的目的地址与Vlanif 10接口的IP地址进行比较,若相同,则将交换机的MAC地址返回给PC1,意思为:你要找的网关地址在这里!

      由Vlanif接口接收数据时会剥离Vlanif接口编号对应的Vlan标签;由Vlanif接口发送出数据时会打上Vlanif接口编号对应的VLAN标签,Vlanif接口地址通常为网关地址

    3. PC1得知了目的MAC地址后便会发送原本想发送的ICMP报文,Vlanif 10接口进行接收,接收后会剥离原本数据携带的VLAN 10标签。接着交换机查看自己的路由表,看看要把这从网关接收到的数据发往何处

    4. 此时我们还未帮助PC2网段设立Vlanif 20逻辑接口,所以此时路由表上仅仅只有设置过Vlanif 10逻辑接口的PC1网段。因此我们设置Vlanif 20接口,与Vlanif 10接口同理

      S3:
      [S3]vlan batch 10 20        //创建vlanif前要确保交换机存在对应的VLAN
      [S3]int vlanif 10
      [S3-Vlanif10]ip address 192.168.1.254 24
      [S3-Vlanif10]int vlanif 20
      [S3-Vlanif20]ip address 192.168.2.254 24
      

      我们可用display ip route-table查询此时S3的路由表情况,发现不管是去往PC1网段还是去PC2网段都已经有了直连通路,下一跳地址为Vlanif逻辑接口

    5. 此时PC1 ping PC2能通么?答案当然是不行的,因为我们还未配置S3g0/0/1g0/0/2端口类型,无法处理携带VLAN标签的信息,那么应该将这两个端口设置Access还是Trunk呢?

      答案是Trunk。假设S3g0/0/1Access接口,默认VLAN10,则当信息从S3g0/0/1接口发出来时便会被剥离VLAN 10标签,从而导致无法通过S1e0/0/1接口,自然也就无法到达PC1

      S3:
      [S3]int g0/0/1
      [S3-GigabitEthernet0/0/1]port link-type trunk
      [S3-GigabitEthernet0/0/1]port trunk allow-pass vlan all
      [S3-GigabitEthernet0/0/1]int g0/0/2
      [S3-GigabitEthernet0/0/2]port link-type trunk
      [S3-GigabitEthernet0/0/2]port trunk allow-pass vlan all
      

      此时PC1PC2可相互连通

  4. 我们如何令PC3PC1,PC2相互连通呢?我们不妨假设此时有PC3 ping PC1

    1. PC3通过掩码计算得出PC1与自身不处于同一网段,因此询问网关地址,而R1e0/0/1接口正好为PC3的网关,因此数据顺利到达R1

    2. R1接着查询路由表,试图寻找关于PC1的路由,由于我们并未静态配置任何路由,也没有动态学习路由,因此此时路由表中仅有直连链路。我们配置OSPF,使S3R1能够相互学习路由信息,同时我们还需要打通S3g0/0/3R1g0/0/3,以便能够顺利交流链路信息,打通的方法依旧是Vlanif接口

      S3:
      [S3]vlan batch 100
      [S3-Vlanif20]int vlanif 100
      [S3-Vlanif100]ip address 10.0.0.1 8
      [S3]ospf
      [S3-ospf-1]area 0
      [S3-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255
      [S3-ospf-1-area-0.0.0.0]network 192.168.2.0 0.0.0.255
      [S3-ospf-1-area-0.0.0.0]network 10.0.0.0 0.255.255.255R1:
      [R1]ospf
      [R1-ospf-1]area 0
      [R1-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255
      [R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.255.255.255
      

      此时仍然还不能达到我们的要求,因为Vlanif 100只有接收到带有VLAN 100标签的数据才能发挥作用,进入三层转发,而经由路由器转发的数据是不携带VLAN标签的,解决这个问题的办法就是Access接口

      S3:
      [S3]int g0/0/3
      [S3-GigabitEthernet0/0/3]port link-type access
      [S3-GigabitEthernet0/0/3]port default vlan 100
      

      此时,经由g0/0/3发送至路由器的信息会被剥离VLAN 100标签,而从路由器发送过来的数据又会被打上VLAN 100的标签,完美满足我们的需求

  5. 至此,PC3PC2,PC1都可互通

三层交换机【Vlanif详解】开启OSPF与路由器互通【eNSP实现】相关推荐

  1. VLAN原理详解[转载] 网桥--交换机---路由器

    来自:http://blog.csdn.net/phunxm/article/details/9498829 一.什么是桥接   桥接工作在OSI网络参考模型的第二层数据链路层,是一种以MAC地址来作 ...

  2. MyBatis 缓存详解-开启二级缓存的方法

    第一步:在mybatis-config.xml 中配置了(可以不配置,默认是true): <setting name="cacheEnabled" value="t ...

  3. 端口详解 | 开启端口 | 关闭端口

    在网络技术中,端口(Port)大致有两种意思: 一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等. 二是逻辑意义上的端 ...

  4. 36、NSTimer使用详解-开启、关闭、移除

    1.要是用一个定时器,首先要定义一个定时器: @property(strong,nonatomic)NSTimer *myTimer;//定时器 2.初始化,初始化有两种方式: 第一种: + (NST ...

  5. 二层交换机与三层交换机区别详解

    我们习惯说,在二层网络环境中相同vlan之间可以通信,不同vlan之间不可以通信,如果想通信必须借助三层设备,所以说三层交换机必须要做的事情是路由转发,但是二.三层交换机具体有什么区别呢? 二层交换机 ...

  6. [ 网络协议篇 ] IGP 详解之 OSPF 详解(一)--- 基础知识

  7. [ 网络协议篇 ] IGP 详解之 OSPF 详解(二)--- 四种网络类型 虚链路 详解

  8. [ 网络协议篇 ] IGP 详解之 OSPF 详解(三)--- OSPF协议报文 链路状态通告 详解

  9. 三个案例详解不同网段之间如何互通

    当然还可以通过三层交换机划分VLAN配置更好.这里主要讲通过普通路由器之间互通 一台路由器连接另外一台路由器,这两台路由器分别连接不同的网段,那么如果要这两个网段互通,则必须配置路由,这个就是静态路由 ...

最新文章

  1. How to install OpenCV 3.x in Linux
  2. php模板技术smarty,PHP模板技术Smarty
  3. 【APICloud系列|6】使用APICloud接入客服系统美洽获取Appkey配置
  4. 随笔编号-04 AngularJS 相关小问题解决方案合集
  5. windows下bat批处理实现守护进程
  6. 【javascript】关于react的Virtual DOM 与数据更新
  7. oracle e18,oracle 体系结构
  8. CSS(九)元素隐藏和利弊
  9. php+foreach+传值传值,php foreach 传值还是传引用
  10. ajax 将整个表单提交到后台处理
  11. FX3U解密软件已开发成功,完美读出程序、参数、软元件区数据
  12. Cisco ASA 5505 (Version 9.X)的 LAN上网和NAT的配置
  13. 2021年5月12日17点49分 绿盟极光
  14. 破产姐妹第六季/全集2 Broke Girls迅雷下载
  15. w ndows 10关机快捷键,windows关机快捷键winuu
  16. 等额本息和等额本金还款在R中的实现
  17. Python _多文件入表中的记录
  18. 如何利用手机翻译软件进行中文翻译英语
  19. 利用python爬取股票实时信息
  20. 桌面频谱挂件——持续更新

热门文章

  1. java http验证码_Java 云片验证码短信发送
  2. Vue全家桶项目创建指南
  3. [训练5]信用卡消费记录(构造方法创建对象,成员方法定义对象输出行为)
  4. Frappe安装问题
  5. vue input输入框取消账号密码提示
  6. SAP发出商品的系统配置
  7. springboot旅游管理系统的设计与实现毕业设计-附源码261117
  8. 下载excel文件显示404
  9. 00后博士毕业拟任南大特任副研究员,网友扒出论文后吵翻了
  10. ansys 内聚力模型_基于内聚力模型(CZM)的单筋拉拔数值分析方法研究