我们所学的所有的技术,都是为了实现一个最基本的目的:网络互通。
那么,什么是网络?又什么是互通呢?
- 所谓的网络,就是由所有想要上网的设备,连在一起
- 互通就是我给你发送数据包,你也可以给我回应数据包(互通是个双向)
概括的说:任何两个设备之间的通信,任何一个方向,永远都是下面所说的这个过程
(发快递———快递传输——收快递)
发送报文
- 是由任何一个想要上网的设备实现的(如何实现发包)
传输报文
- 是由众多的网络设备组成的”网络“,进行不断的转发
接收报文
任何一个想要上网的设备,都可以接收其他设备发送过来的报文(如何实现接收)
简易的数据转发流程图(2个方向,6个阶段)
数据发出去的方向------用户数据发出(能否发出)——》数据转发(能否转发)———服务器数据接收(能否接收)
数据回来的方向------服务器数据回复(能否回复)——》数据转发(能否转发)———用户数据接收(能否接收)
以上两个方向,6个阶段可以快速的找到问题所在
用户终端 :数据不能发出 ,回复数据无法接收 说明用户终端出了问题
网络传输 :数据不能转发出 说明网络出了问题
服务终端 :数据不能接收 ,回复数据无法发送 说明服务器端出了问题
找对问题出在那里,哪个阶段,那么我们就可以快速的定位故障,从而解决问题。
任何一个设备,想要上网,必须要有用什么呢?
网卡,或者说IP地址
IP地址的概述
背景:因为再所谓的网络中,想要实现通信,就得彼此区分开,还得彼此认识。此时,我们就得为没个设备分配一个IP地址
作用:在一定的方位内,唯一的,表示一个可以上网的设备
- IP地址的数量
- 在网络设备中的所有的数据,或者说所有的信息的表示,都是”2进制“的数字,仅有0和1 两个数字
- 而IP地址在表示的时候,占用了32个2进制,所以IP地址的数量为: 2的32次方, 既4294967296
- IP地址的表示方法
- 点分十进制:例如192.168.1.1(就是将IP地址中每8bit,变成1个10进制,所以我们以后在进行2进制和10进制转换的时候,我们仅仅关心8个2进制,如何转换成了10进制就可以了)
- 纯2进制 :机器看
- IP地址分类
- 由于当初IP地址数量太多了,管理起来非常麻烦,所以为了方便于大量IP地址的管理,所以才有了分类
- 分类依据:仅仅是跟进IP地址前面几个固定的bit来划分IP地址分类
- A类,前1个bit固定不变,是0. (00000000--01111111,即0~~127)
- B类,前2个bit固定不变,是0. (10000000--10111111,即128~~191)
- C类,前3个bit固定不变,是0. (11000000--11011111,即192~~223)
- D类,前4个bit固定不变,是0. (11100000--11101111,即224~~239)
- E类,剩余的IP地址,都是属于E类(240~~255)
- IP地址的结构
- ip地址的长度: 32bit,永远分为:网络位+主机位
- 掩码
- 作用:区分IP地址的网络位和主机位
- 特点-1:和IP地址的长度是一样的,两者都是32bit一一对应
- 特点-2:在掩码中,和IP地址的网络位对应时,用1表示
- 特点-3:在掩码中,和IP地址的主机位对应时,用0表示
- 特点-4:掩码中,1永远在左边,0永远在右边
- 特点-5:掩码中,1和0的位置,永远不会交叉出现
- 常见的掩码
- 任何一个IP地址和掩码必须同时出现,该IP地址才有意义
- 针对IP地址的分类,每一类IP地址,都有一个默认的掩码,如果没有明确告诉掩码,那么就是默认的掩码
- A类IP地址的默认掩码时/8,或者叫255.0.0.0
- B类IP地址的默认掩码时/16,或者叫255.255.0.0
- C类IP地址的默认掩码时/24,或者叫255.255.255.0
- D类IP地址因为时组播地址,即一个IP地址表示很多个,分布子啊不同地区的设备,不具备唯一性,所以D类IP地址没有掩码
虽然设备有了IP地址,但是也有可能会出现故障,此时我们就必须基于通信的类型,堆故障进行分类,不同类型的故障,就可以定位不同的设备
基于IP地址的通信,可以分为两种类型
- 交换(两个IP地址的网络位,相同)
- 交换:指”通信的两个设备IP地址“属于同一个网段
- 交换要通,依靠的设备是:交换机
- 交换要通,依靠的是技术:交换机原、VLAN、Trunk、Access、STP、RSTP 、
MSTP以及堆叠
- 路由(两个IP地址的网络位,不同)
- 路由:依靠的设备是:路由器
- 路由要通,依靠的是技术:路由器原理、路由表(态/RIP/IGRP/EIGRP/ISIS/OSPF/BGP)、
标签表(MPLS、LDP、MP-BGP、RSVP-TE、SR、SRv6)
- 举例:判断以下通信是交换,,还是路由(结果是:交换 总结:PC发送数据,是依靠自己的掩码来判断源和目标的IP地址到底是不是一个网段)
如上图所示:
PC1------>PC2交换
- 当PC1向PC2发送数据包时,这个时候PC1是无法知道PC2的掩码的,这个时候他会默认以自己的掩码24来发送数据。
- 当PC2收到PC1数据时,PC2会查看数据的目标IP地址,一看呦呵,目标IP是,192.168.2.1/24,自己是192.168.2.1/16啊,肯定不是找我的,于是,PC2会将收到的数据丢弃。
PC2------>PC1
- 当PC2向PC1发送数据时,PC2也不知道PC1的掩码。这个时候会以自己默认的掩码16来发送数据,
- 当数据到达PC1的时候,PC1会查看数据的目标地址,一看目标地址是192.168.1.1/16,自己确实192.168.1.1/24,肯定不是找自己的,这时,PC1会将数据包丢弃
PC1-->PC2路由
- 当PC1向PC2发送数据的时候,数据包会去查看192.168.1.1/24网段的网关,然后在路由器中
- 当路由器收到数据后,会在自身的路由表中查找到达192.168.2.1IP的地址,一看PC2是,这个时候就会将数据转发给PC2
- 当PC2收到数据后,他会查看数据的目的IP,一看是自己,好吧,那就收着
- PC2收到数据后,会发送回包,数据包会沿着192.168.2.1/16的网关传入路由器
- 当路由器收到数据后,会在自身的路由表中查找到达192.168.1.1IP的地址,一看PC2是,这个时候就会将数据转发给PC1
- 当PC1收到数据后,他会查看数据的目的IP,一看是自己那么就不会丢弃,这样就完成了一次数据的路由
OSI模型(开放式 系统 互联 参考模型)
产生背景
刚开始网络出现的时候,全世界各地的协议开发,设备制造,都没有一个标准,所以导致后来的国际互联网想要形成,遇到了很大的阻碍,导致设备之间无法互联、互通
所以,为了能够让全世界的网络设备互联、互通,所以ISO(国际标准化组织),开发了一个OSI模型,以后的网络中的设备制造,还有软件开发,都得”参考“该模型
OSI逐层分析(7层):
- 7层,应用层,包含的全是各种软件,最接近用户的一层
- 6层,表示层,理解为对软件程序和系统语言通信的解释器
- 5层,会话层,用于对会话进行管理,包括对会话的建立,维护和拆除
- 4层,传输层,负责数据传输模式/特点的确定:例如TCP、UDP
- 3层,网络层,负责网络设备的编制和数据的路由;例如IP(协议)
- 2层,数据链路层,负责设备之间的逻辑链路的建立、维护和拆除;例如Ethernet(以太网)
- 1层,物理层,负责设备之间的无论链接以及一些其他电气标准的制定;例如,网线和光纤、
如果想让OSI的每一层的功能都实现,就需要知道:每一层其实存在很多协议(标准),用来实现每一层的功能,当我们学习每一层的功能,其实就是在学习每一层的多个协议。
任何一个可以上网的设备(软件/硬件)都是基于OSI模型制造出来的
比如我们PC就是基于上面的模型制造出来的,那么PC上面的软件,是基于第7层,而这个软件产生的数据,最终在网络上进行转发的时候,一定要通过PC的网卡上的网线转发出去的,而网线又属于OSI模型第一层的。
所以,一个PC在发送数据的时候,首先要”产生数据“,而这个过程中,就是”从7层到第一层“的过程,此过程,我们称之为:数据封装
数据封装的过程中:数据从第7层到第2层的过程中,没经过一层,都会将这一层想要实现的各种功能,通过一个协议头部的形式,添加到原有的数据的前面,但是到了第二层的时候,添加不仅仅是头部信息,还有尾部信息。至此,此时的数据,还是一块一块的。但是从2层数据,变成1层网线上传输的电信号时,数据的样子就完全变化了:---一块块的---》一串串(该过程称之为数据的”串行化“)
- 一个想要互通的数据,报文中必须包含”网络层“和”数据链路层"信息"
- 网络层
- 该数据经过该层的时候,一定会为数据添加一个IP头部的信息
- IP头部的信息中,最为关键的2个字段:源IP地址,目标IP地址
- 上述的两个IP地址,好比是发件人的名字、收件人的名字
- 数据链路层
- 数据经过该层的时候,如果2层协议使用的时Ethernet协议,那么一定会天界一个Ethernet头部
- Ethernet头部中,包含了最为关键的2个字段:源MAC地址,目标MAC地址
- 上述的两个IP地址,好比是发现人的家庭住址、收件人的家庭住址
- 注意:MAC地址仅仅是众多的2层地址中的一种,在全世界范围内,唯一标识一个可以上网的设备
- MAC地址的格式:长度为48bit,通过16进制表示,瓶蕨的分为两部分:厂商编码+网卡编号
- 例如: 54-89-98-E0-08-3C
- 网络层
- 正常情况下,数据封装的时候,一般时不知道目标设备的”目标MAC地址“的。就得想办法获得 ---靠ARP
- ARP:adress resolution protocol ,地址 解析 协议。即基于通信的目标IP地址,获取对方的MAC地址
- 工作原理(ARP干的所有的活儿,仅仅是依靠2个报文:request/ reply)
- 发送数据的源设备,为了获取目标的IP地址的MAC地址,所以就会”以广播的方式“发送一个"ARP请求"
- 和发送设备在同一个网段的目标设备,收到了“ARP请求”以后,就回检查这个报文中的”被请求目标的IP地址“,用它和自己的IP地址,比较一下,如果相同,就回返回一个ARP相应报文,是以”单播“回应的
- 那么,发送方设备子啊收到ARP的相应报文以后,就回立刻将得到的MAC地址,保存在自己的ARP表中。例如 :192.168.1.1--54-89-98-E0-08-3C
那么,之前很有格式的数据,到了1层变成了一串串的高低电压之后,就传输到了目标设备
此时,目标设备会将”一串串“的信息,变成”一块块“的信息,这个过程,称之为”格式化“。
在接收端的设备上,会对每一层的头部信息,进行逐层分析,如果头部信息正确,就继续检查后续的其他头部,一直检查到最终的原始的”应用程序产生的数据“。这个过程,称之为”数据解封装“
经过上述的描述,我们知道了数据的封装和解封装,但是中间呢,还存在一个过程,那就是数据的传输
最早的设备之间的传输,是依靠网线
但是网线上进行数据传输的时候,距离有限,由于网络信号都是通过”电压“表示,二网线中是存在电阻的,所以当距离到一定长度后,就会产生信号衰弱。
为了实现长距离传输,就有了”中继器“ 用来放大电信号
中继器缺点:仅有两个接口,不能同时链接多个设备
所以,后面就有了多口的集线器,----中继器
然而,中继器在同时连接多个设备时,就会产生信号冲突---指的”电信号“的冲突
针对电信号的冲突问题,曾有很多缓解的方案:CSMA/CD 带有冲突检测的载波侦听多路访问机制
即
任何一个设备在发送数据之前,都会发送一个探测信号,看是否有设备在发送数据,有就在随机的回退一个时间,然后再次尝试;没有,就开始发送数据
所以,可以看到,这种方法无法解决冲突问题,只能降低冲突的概率
由此我们想到了:分割广播域。
这就有了”网桥“的诞生,但是网桥也只有2端口,没个端口时不同的冲突域
后面继续更新,就有了交换机了,也叫"多端口的网桥",即没个端口都是一个不同的冲突域
但是,没个端口同时又都会收到和发送数据,这个情况也依然会造成数据冲突
所以,我们交换机的没个端口上都在次支持”双功“模式的
- 半双工 一个端口同一时刻,只发或者只能收
- 全双工 一个端口同一时刻。可以同时收和发
目前 ,我们的以太网中,用于大量连接终端设备的时候,使用的都是”交换机“
所以,我们必须知道”交换机的工作原理“
- 交换机子在处理数据的时候,仅仅查看数据的2层头部信息,比如Ethernet头部信息,所以才叫2层设备
- 交换机在处理的时候,仅仅查看数据的2层”MAC地址“,即源MAC和目标MAC
- 交换机有一个核心工作表:MAC地址表(但是,交换机默认情况下,是没有MAC地址表的)
- 交换机在收到一个数据包,就查看数据的目标MAC地址,然后去"MAC地址表"中查找是否有相同的MAC地址条目:如果有,就从条目对应的端口发送出去;如果没有,则从所以端口转发出去。
- 交换机的MAC地址表,有大小限制,因为要占用内存、
- 交换机的MAC地址条目分为:静态MAC地址条目+动态MAC地址条目(超时时间:300S)
交换机的工作原理
- 形成MAC地址表(依靠的时源MAC)
- 任何时候,交换机任何一个端口上,收到任何一个数据的时候,都会将该数据的源MAC地址,和数据的入端口的对应关系记录下来,形成MAC地址表。即:MAC 地址——端口
- 查找MAC地址表(依靠的时目标MAC)
- 交换机在查看完源MAC地址之后,就回继续查看目标MAC地址,同时去MAC地址表中确认一下是否存在目标MAC地址对应的条目,如果有,则从端口发送出去;反之,则进行广播/洪泛/泛洪,即将数据从除了入端口以外的其他所以端口都发送出去。
- 交换机在查看完源MAC地址之后,就回继续查看目标MAC地址,同时去MAC地址表中确认一下是否存在目标MAC地址对应的条目,如果有,则从端口发送出去;反之,则进行广播/洪泛/泛洪,即将数据从除了入端口以外的其他所以端口都发送出去。
交换机基础查看命令
display mac-address -->查看MAC地址表
display mac-address summary -->查看MAC地址条目的汇总信息(类型/数量/总数)
display mac-address aging-time -->查看MAC地址条目的动态存活时间
交换机很好的隔离了信号“冲突域”的问题,但是无法隔离数据”广播域“的问题
冲突域:电信号冲突的范围,叫做冲突域
广播域:一个广播数据所能传递的范围,就是广播域
既然上面提到了”广播数据“,那网络中进行数据传输的时候,到底有多少种类型的数据转发模式?
是完全依靠”数据包“的目标地址的类型来进行划分的:
- 单播 一个发,一个发
- 组播 一个发,多个收
- 广播 一个发,所有收
所以,此时我们要搞清楚:任何一种类型的IP地址,都会对应着一个,相同类型的MAC地址;
现在我们要知道,广播地址(IP/MAC)都是如何表示的?
广播IP地址:255.255.255.255(即IP地址的32bit,全部都是1)
广播IMAC地址:FF-FF-FF-FF-FF-FF(即MAC地址的48bit,全部都是1)
因为,时间上的任何一个网卡的MAC地址,永远不可能是全F,所以,就没有任何一个数据的源MAC地址全是F
由此我们可以知道,交换机的MAC地址表中,永远也不会有全是F对应的MAC地址条目
所以,当交换机收到一个“广播数据(即目标MAC地址全为F)的时候,交换机因为找不对对应的MAC地址条目,只能“广播” ---从除了入口端口以外的其他所有端口,都转发出去。
上述过程,我们是基于交换机的工作原理,阐述了“交换机无法隔离广播域”
如果我们想要隔离广播域的话,我们可以使用VLAN技术,(virtual local area network):虚拟局域网
现在的任何一个交换机都是支持VLAN技术的,默认情况下,交换机所有端口都是属于VLAN1的
因为VLAN这个技术的提出,就是为了在交换机上“隔离广播域”的,所以每一个VLAN,都是一个不同的广播域,位于不同的广播域中的设备的IP地址,都建议设置为不同的IP网段
通过交换机,同一个VLAN中的终端设备,才能互通,不同的VLAN中的终端设备,不可以互通
VLAN的概述
- VLAN在交换机上,最多只有4096个,但是能够人为使用的仅仅是1-4094
- VLAN的划分方式有很多种,通常情况下,我们使用的划分方式是:基于端口划分VLAN,即端口属于哪个VLAN,那么这个端口上的设备就属于哪个VLAN
- 所以,最终意义来说,其实我们在分配“每个端口到底属于哪个VLAN”
- 交换机上的没个端口,最终都属于某个VLAN的,端口角色也有很多
交换机端口在VLAN中的角色
access接口:交换机上,用于连接“非交换机”时,使用的端口
- 特点-1 同一时刻,只能属于1个VLAN
- 特点-2 端口在发送数据的时候,是不带VLAN标签的
- 特点-3 端口在接收数据的时候
- 如果数据没有标签,是要基于端口的PVID打标签的
- 如果数据又标签的,则检查该标签是否和端口的PVID相同
- 如果相同,则正常接收该数据
- 如果不同,则丢弃
trunk接口:交换机上,用于连接“交换机”时使用的端口
- 特点-1 同一时刻,可以属于多个VLAN[默认情况下,不允许所有VLAN通过]
- 特点-2 端口在发送数据的时候,是带着VLAN标签的
- 如果发送出去数据的VLAN号,和Trunk端口的PVID相同
需要删除这个VLAN号,此时的数据是不带VLAN标签的
- 如果发送出去数据的VLAN号,和Trunk端口的PVID相同
- 特点-3 端口在接收数据的时候
- 如果数据没有标签,是要基于端口PVID打标签的
- 如果数据有标签的,则检查该Trunk端口是否允许接收该VLAN标签
- 如果允许,则正常接收该数据
- 如果不允许,则丢弃
hybriy接口:这种端口是交换机端口的默认模式,称之为混杂接口,因为该端口可以实现 access功能,还可以同时实现trunk功能
- 特点-1 同一时刻,可以属于多个VLAN
- 特点-2 在发送数据的时候,有些VLAN可以带标签,有些VLAN可以不带标签
- 特点-3 在接收数据的时候,如果不带标签,则用这个端口的PVID表示的VLAN号,打标签;如果收到的数据,本身就带着标签,则看该端口是否允许该标签;如果允许,则接收,反之则丢弃
查看设备的VLAN以及对应端口信息:
[sw1]display vlan
The total number of vlans is : 1
--------------------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
--------------------------------------------------------------------------------
VID Type Ports // 此处的端口,表示VLAN的数据的出端口
--------------------------------------------------------------------------------
1 common UT:GE0/0/1(U) GE0/0/2(U) GE0/0/3(D) GE0/0/4(D)
GE0/0/5(D) GE0/0/6(D) GE0/0/7(D) GE0/0/8(D)
GE0/0/9(D) GE0/0/10(D) GE0/0/11(D) GE0/0/12(D)
GE0/0/13(D) GE0/0/14(D) GE0/0/15(D) GE0/0/16(D)
GE0/0/17(D) GE0/0/18(D) GE0/0/19(D) GE0/0/20(D)
GE0/0/21(D) GE0/0/22(D) GE0/0/23(D) GE0/0/24(D)
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
1 enable default enable disable VLAN 0001
查看端口的角色(默认都是Hybrid)
- [sw1]display port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 -
GigabitEthernet0/0/2 hybrid 1 -
GigabitEthernet0/0/3 hybrid 1 -
GigabitEthernet0/0/4 hybrid 1 -
GigabitEthernet0/0/5 hybrid 1 -
GigabitEthernet0/0/6 hybrid 1 -
GigabitEthernet0/0/7 hybrid 1 -
GigabitEthernet0/0/8 hybrid 1 -
GigabitEthernet0/0/9 hybrid 1 -
GigabitEthernet0/0/10 hybrid 1 -
GigabitEthernet0/0/11 hybrid 1 -
GigabitEthernet0/0/12 hybrid 1 -
GigabitEthernet0/0/13 hybrid 1 -
GigabitEthernet0/0/14 hybrid 1 -
GigabitEthernet0/0/15 hybrid 1 -
GigabitEthernet0/0/16 hybrid 1 -
GigabitEthernet0/0/17 hybrid 1 -
GigabitEthernet0/0/18 hybrid 1 -
GigabitEthernet0/0/19 hybrid 1 -
GigabitEthernet0/0/20 hybrid 1 -
GigabitEthernet0/0/21 hybrid 1 -
GigabitEthernet0/0/22 hybrid 1 -
GigabitEthernet0/0/23 hybrid 1 -
GigabitEthernet0/0/24 hybrid 1 -
案例:VLAN的基本配置
- 拓扑
- 需求
- 查看并验证PC加入到了VLAN10
- 确保PC可以互通
- 思路
- 创建VLAN
- 配置端口绝色
- 端口加入VLAN
- 验证与测试
- 配置
- PC1:
- 192.168.10.1
255.255.255.0
- 192.168.10.1
- PC2
- 192.168.10.2
255.255.255.0
- 192.168.10.2
- SW1
- undo terminal monitor
- system-view
- syname SW1
- vlan 10
- quit
- interface GigabitEthernet 0/0/01
- port link-type access 将端口的类型设置为Access
- port default vlan 10 将端口加入到VLAN10(该端口既能发送VLAN10的数据,还可 以接收VLAN10的数据)
- quit
- interface GigabitEthernet 0/0/02
- port link-type access 将端口的类型设置为Access
- port default vlan 10 将端口加入到VLAN10(该端口既能发送VLAN10的数据,还可 以接收VLAN10的数据)
- quit
- PC1:
- 测试:
-
PC>ping 192.168.10.2
Ping 192.168.10.2: 32 data bytes, Press Ctrl_C to break
From 192.168.10.2: bytes=32 seq=1 ttl=128 time=47 ms
From 192.168.10.2: bytes=32 seq=2 ttl=128 time=47 ms
From 192.168.10.2: bytes=32 seq=3 ttl=128 time=47 ms
From 192.168.10.2: bytes=32 seq=4 ttl=128 time=62 ms
From 192.168.10.2: bytes=32 seq=5 ttl=128 time=47 ms--- 192.168.10.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 47/50/62 ms
-
作业:写出故障分析报告
内容:
- 故障现象
- 故障分析
- 故障原因
- 解决方案
- 实施步骤
为啥交换机上不同的VLAN的端口之间无法互通呢:
那是因为,交换机上划分VLAN后,就是将交换机的核心工作表基于VLAN进行了划分。
不同的VLAN对应的MAC地址之间,是不能够互相访问的
所以,由于有了VLAN的概念后,我们再去理解交换机工作原理的时候,也有了一些描述上的变化
形成MAC地址表:(源MAC-入端口--入端口属于的VLAN)
查找MAC地址表(查找入端口所对应的VLAN的MAC地址表,如果查找不到,也是从入端口属于的VLAN出去。而不是从整个交换机上的其他所有端口发送出去)
另外我们也行知道:任何一个进入到交换机内部的数据,都是带着不同的VLAN号
也可以说:交换机内部就是通过VLAN号来区分不同的数据
如果这样来理解数据的转发的话,那么问题就来了:
- VLAN技术,是交换机上的技术;这种VLAN号只有交换机可以添加 、识别。但是交换机连接的其他非交换机的设备,是否也可以识别VLAN号呢?
- 答案:除了交换机以外,它所连接的其他设备,本身都是没有VLAN号(标签)
- 所以说,交换机内部的数据的各种VLAN号,都是“交换机在接收数据的时候,根据端口上的某些配置,为数据添加上去的”
- 其实,这个所谓的“端口配置”,指的是“交换机上的端口的PVID参数-port-vlan id”。该参数,仅仅影响端口上,接收到的,没有任何的VLAN标签的数据。没个端口,默认的PVID是1,例如:
案例:实现不同的VLAN之间互通(相同地址网段)
- 需求
- PC1和PC4分别属于VLAN10和VLAN20
- PC1和PC4的IP地址是属于相同网段的
- 实现PC1和PC4可以互相ping通(确保交换机之间的链路是Trunk)
- 思路
- 如图配置终端设备
- 配置交换机VLAN
- 配置交换机之间Trunk
- 配置交换机和非交换机之间Access
- 验证和测试
- 配置
- 首先,我们需要了解access和trunk两种模式的端口,他们发送和接收数据的特点
- 我们分析数据包的转发流程,如果想要PC1和PC4互通
- 那么需要如何做呢
- PC1发送没有标签的数据,通过SW1的Gi0/0/01进入交换机,该端口PVID为数据打标签(VLAN10)
- 该数据需要在SW1的Trunk接口Gi0/0/12发送出去,此时需要干掉标签,所以该端口的PVID必须是VLAN10
- 该数据经过SW2的Gi0/0/12(trunk)接收到数据,因为发现该数据没有标签,所以使用该端口的PVID打一个标签,所以该标签是VLAN20
- SW2基于VLAN20的MAC地址表,将数据转发属于VLAN20的端口Gi0/0/4
- SW2的Gi0/0/4是access接口,所以需要干掉标签,然后发送给PC4
- 具体配置如下
- PC1
192.168.10.1
255.255.255.0 - PC2
192.168.10.4
255.255.255.0 - sw1
- undo terminal monitor
- system-view
- sysname SW1
- vlan 10
- quit
- interface gi0/0/1
- port link-type access
- port default vlan 10
- quit
- interface gi0/0/12
- port link-type trunk
- port trunk allow-pass vlan all
- port trunk pvid vlan 10 修改trunk 接口的PVID为10 ,默认是1;
- quit
- SW2
- undo terminal monitor
- system-view
- sysname SW2
- vlan 20
- quit
- interface gi0/0/4
- port link-type access
- port default vlan 20
- quit
- interface gi0/0/12
- port link-type trunk
- port trunk allow-pass vlan all
- port trunk pvid vlan 20 修改trunk 接口的PVID为20 ,默认是1;
- quit
- PC1
- 那么需要如何做呢
案例:理解hybrid工作原理
- 拓扑
- 需求
- VLAN10和VLAN50互通
- VLAN20和VLAN50互通
- VLAN10和VLAN20不通
- 思路
- 胚子终端设备IP/掩码
- 配置交换机VLAN
- 配置交换机之间Hybrid
- 配置交换机和非交换机之间Hybrid
- 配置
------------------------为了实现PC1的数据可以转发到Server1-------------------------------
- PC1:
192.168.10.1
255.255.255.0 - PC2
192.168.10.2
255.255.255.0 - server1:
192.168.10.5
255.255.255.0
- PC1:
-
SW1
-
vlan 10
quit -
interface Gi/0/0/1
-
port link-type hybrid
-
port hybrid pvid vlan 10 接收进来的数据,全部打上vlan 10的标签
-
port hybrid untagged vlan 10 确保该端口的PC1和同VLAN10的主机互通
-
quit
-
-
interface Gi0/0/12
-
port link-type hybrid
-
port hybrid taggerd vlan 10表示出的时候,允许VLAN10 的数据通过,并且带着标签
-
quit
-
-
SW2
-
vlan batch 10 50
-
interface Gi/0/0/12
-
port link-type hybrid
-
port hybrid tagged vlan 10 表示进来的时候,允许VLAN10的数据通过,并且带着标签
-
quit
-
-
interface Gi0/0/5
-
port link-type hybrid
-
port hybrid untaggerd vlan 10 允许VLAN10 的数据,可以在该端口发送出去
-
quit
-
-
--------------------------------------------------------------------为了实现Server的数据可以返回到PC1
SW2
- interface gi0/0/5
-
port link-type hybrid
-
port hybrid pvid vlan 50 接收进来的数据,全部打上vlan 50的标签
-
quit
-
SW1
- vlan 50
- quit
- interface gi0/0/12
- port link-type hybrid
- port hybrid tagged vlan 50 表示进来的时候允许vlan50的数据通过,并且带着标签
- quit
- interface gi0/0/01
- port link-type hybrid
- port hybrid untagged vlan 50 允许vlan50 的数据,可以在该端口上发送出去
- 此时VLAN10的PC就可以和VLAN 50的Server互通了
------------- VLAN20与VLAN50的互通---
-
SW1
-
vlan 20
quit -
interface Gi/0/0/2
-
port link-type hybrid
-
port hybrid pvid vlan 20 接收进来的数据,全部打上vlan 20的标签
-
port hybrid untagged vlan 20 确保该端口的PC1和同VLAN20的主机互通
-
quit
-
-
interface Gi0/0/12
-
port link-type hybrid
-
port hybrid taggerd vlan 20表示出的时候,允许VLAN20 的数据通过,并且带着标签
-
quit
-
-
SW2
-
vlan 20
-
quit
-
-
interface Gi/0/0/12
-
port link-type hybrid
-
port hybrid tagged vlan 20 表示进来的时候,允许VLAN20的数据通过,并且带着标签
-
quit
-
-
interface Gi0/0/5
-
port link-type hybrid
-
port hybrid untaggerd vlan 20 允许VLAN10 的数据,可以在该端口发送出去
-
quit
-
-
--------------------------------------------------------------------为了实现Server的数据可以返回到PC2
SW1
- interface gi0/0/12
- port link-type hybrid
- port hybrid tagged vlan 20 表示进来的时候允许vlan20的数据通过,并且带着标签
- quit
- interface gi0/0/02
- port link-type hybrid
- port hybrid untagged vlan 50 允许vlan50 的数据,可以在该端口上发送出去
- 此时VLAN20的PC就可以和VLAN 50的Server互通了
PC1与PC2之间无法互通
经过上面的交换机工作 原理的学习以及VLAN技术的学习,我们就可以确保:相同VLAN内的主机互通了。