首页 > 其他分享 >HCIA-11 实现VLAN间通信

HCIA-11 实现VLAN间通信

时间:2024-11-26 09:21:47浏览次数:5  
标签:11 VLAN VLANIF 接口 间通信 SW1 三层 路由器

目录

传统交换二层组网中,默认所有网络都处于同一个广播域,这带了诸多问题。VLAN(Virtual Local Area Network,虚拟局域网)技术的提出,满足了二层组网隔离广播域需求,使得属于不同VLAN的网络无法互访,但不同VLAN之间又存在着相互访
问的需求。

技术背景

实际网络部署中一般会将不同IP地址段划分到不同的VLAN。
• 同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信。
• VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

常见的三层设备:路由器、三层交换机、防火墙等。
• 将二层交换机与路由器的三层接口互联,由三层设备进行路由转发来实现通信。# 使用路由器(物理接口、子接口)实现VLAN间通信

使用路由器(物理接口、子接口)实现VLAN间通信

使用路由器物理接口

路由器三层接口作为网关,转发本网段前往其它网段的流量。
路由器三层接口无法处理携带VLAN Tag的数据帧,因此交换机上联路由器的接口需配置为Access。
路由器的一个物理接口作为一个VLAN的网关,因此存在一个VLAN就需要占用一个路由器物理接口。
路由器作为三层转发设备其接口数量较少,方案的可扩展性太差。

使用路由器子接口

子接口(Sub-Interface)是基于路由器以太网接口所创建的逻辑接口,以物理接口ID+子接口ID进行标识,子接口同物理接口一样可进行三层转发。
子接口不同于物理接口,可以终结携带VLAN Tag的数据帧。
基于一个物理接口创建多个子接口,将该物理接口对接到交换机的Trunk接口,即可实现使用一个物理接口为多个VLAN提供三层转发服务。

子接口处理流程
交换机连接路由器的接口类型配置为Trunk,根据报文的VLAN Tag不同,路由器将收到的报文交由对应的子接口处理。

子接口配置示例

使用VLANIF技术实现VLAN间通信

三层交换机和VLANIF接口

二层交换机(Layer 2 Switch)指的是只具备二层交换功能的交换机。
三层交换机(Layer 3 Switch)除了具备二层交换机的功能,还支持通过三层接口(如VLANIF接口)实现路由转发功能。
VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。
VLANIF接口编号与所对应的VLAN ID相同,如VLAN10对应VLANIF 10。

VLANIF配置示例

配置需求:
两台PC分别属于VLAN 10、VLAN 20。通过三层交换机完成
两台PC之间的相互通信。

基础配置

[SW1]vlan batch 10 20
[SW1] interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1] port link-type access
[SW1-GigabitEthernet0/0/1] port default vlan 10
[SW1] interface GigabitEthernet 0/0/2
[SW1-GigabitEthernet0/0/2] port link-type access
[SW1-GigabitEthernet0/0/2] port default vlan 20

配置vlanif

[SW1]interface Vlanif 10
[SW1-Vlanif10]ip address 192.168.10.254 24
[SW1]interface Vlanif 20
[SW1-Vlanif20]ip address 192.168.20.254 24

三层通信过程解析

VLANIF转发流程

假设PC、三层交换机上都已存在相应的ARP或MAC表项。
PC1与PC2之间通信过程如下:
PC1通过本地IP地址、本地掩码、对端IP地址进行计算,发现目的设备PC2与自身不在同一个网段,判断该通信为三层通信,将去往PC2的流量发给网关。PC1发送的数据帧:源MAC = MAC1,目的MAC = MAC2。

交换机收到PC1发送的去往PC2的报文,经解封装发现目的MAC为VLANIF10接口的MAC地址,所以将报文交给路由模块继续处理。
路由模块解析发现目的IP为192.168.20.2,非本地接口存在的IP地址,因此需要对该报文三层转发。
查找路由表后,匹配中VLANIF20产生的直连路由。

因为匹配的为直连路由,说明已经到达最后一跳,所以交换机在ARP表中查找192.168.20.2,获取192.168.20.2的MAC地址,交由交换模块重新封装为数据帧。
交换模块查找MAC地址表以明确报文出接口、是否需要携带VLAN Tag。
最终交换模块发送的数据帧:源MAC = MAC2,目的MAC = MAC3,VLANTag = None。

标签:11,VLAN,VLANIF,接口,间通信,SW1,三层,路由器
From: https://www.cnblogs.com/liam-wuhan/p/18569339/hcia-11

相关文章

  • 11 Nginx搭建(2)
    一、安装#安装nginx,要支持http2需要nginx在1.9.5以上、openssl在1.0.2及以上#如果openssl版本在1.0.2以下,需要安装源码包openssl、并在nginx的configure中写--with-openssl选项#下载openssl:https://www.openssl.org/source/-----------------------#查看系统的openssl......
  • 2024年11月25日总结
    今天完成了前端对数据库一张表的增删部分,改查还有一些缺陷。还重新温习了一下哈夫曼树importjava.util.*;classHuffmanNodeimplementsComparable{charcharacter;intfrequency;HuffmanNodeleft,right;publicHuffmanNode(charcharacter,intfrequency){this......
  • python复习笔记——2024.11.25
    2024.11.25一、类的定义二、类与实例的关系#定义一个猫类,age,name,color是属性,或者称为成员变量classCat: age=Nonename=Nonecolor=Nonecat1=Cat()#通过对象名.属性名,可以给各个属性赋值cat1.name="小白"cat2,age=2cat3.color="白色"print(f......
  • 【异或运算】codeforces 1153 B. Dima and a Bad XOR
    前言异或运算:是一种在二进制数系统中使用的逻辑运算。它的基本规则是对两个二进制位进行比较,如果这两个位不同,则结果为\(1\);如果相同,则结果为\(0\)。异或运算的规则\(0\)XOR\(0\)=\(0\)\(0\)XOR\(1\)=\(1\)\(1\)XOR\(0\)=\(1\)\(1\)XOR\(1\)=\(0\)特性......
  • Java学习笔记——2024.11.25
    2024.11.25一、Java_DOS原理1.DOS基本原理创建文件夹=>mdd:\\xxx消除文件夹=>rdd:\\xxx2.相对路径和绝对路径=>相对路径:从当前目录开始定位,形成的一个路径=>绝对路径:从顶级目录d,开始定位,形成的路径举例子:相对路径:..\..\abc2\test200\hello.txt......
  • 1-11一些时间复杂度的证明
    时间复杂度的证明1.大O原理如图所示,大O原理,只取最高的复杂度2.加法原理想要证明这个首先,根据大O定义:F(N)<=C1f(N)G(N)<=C2g(N)再把两者合并起来:F(N)+G(N)<=C1f(N)+C2g(N)设C3=max(C1,C2)则F(N)+G(N)<=C3(f(N)+g(N))所以O(f)+O(g)<=O(f+g)具体证明如图:......
  • 11.25
    做差旅费报销管理信息系统页面要求(1)系统可以通过浏览器直接访问;(1分)(2)各个功能页面整体风格统一;(3)首页为用户登录页面,职员、职员经理、总经理、财务人员四种角色用户登录后,进入相应的功能页,只能看到角色允许访问功能模块,用户登录界面包含用户、密码两个文本框,以及登录按钮;(4分)(4)职......
  • 每日打卡11.23
    includeusingnamespacestd;intmain(){structstuent{inta[5];doubleall=0;}s[5];intlow[5],high[5];doubleava[5]={0};inttemp;cout<<"分别输入学生的语数英物化成绩";for(inti=0;i<5;i++){for(intj=0;j<5;j++){cin......
  • 每日打卡11.24
    includeusingnamespacestd;definemax20voidswap(char*p,char*q);intmain(){chara[max];intindex,n;cout<<"输入n"<<endl;cin>>n;cout<<"输出n个字符"<<endl;for(inti=0;i<n;i++){ci......
  • 每日打卡11.25
    includeincludeusingnamespacestd;structTime{inthours;intminutes;intseconds;};TimeaddSeconds(Timet,intsecondsToAdd){t.seconds+=secondsToAdd;//Convertsecondsoverflowtominutest.minutes+=t.seconds/60;t.seconds%=60;//Co......