- 二层交换机:部署于接入层,用户终端接入。
- VLAN:交换网络时一个广播域,全网广播消耗资源,有了VLAN后,可以根据部门进行规划,广播域隔离,避免全网广播。
- 路由器:VLAN互访,上网。
- 三层交换机:也叫多层交换,路由器端口少,精贵。流量汇聚,汇聚设备。
- 汇聚和核心间跑静态或者动态协议,如常见的OSPF等。
- 单链路的单点故障,需要冗余备份,但是容易造成环路,解决办法:STP、PVST+RSTP、PVST+MSTP。
- 网关三层冗余:HSRP、VRRP、GLBP协议;
- 二层和三层冗余结合,MSTP+VRRP/HSRP典型的园区网解决方案。
- 链路逻辑捆绑:ETHERCHANNEL,简称EC。
1.1 二层介绍
1.1.1 二层交换机
二层交换工作于链路层。
1.1.2 帧
- 二层帧,帧结构。
- 主要看以太网2帧。
- MAC子层:提供物理链路访问,成帧,链路级别站点标识MAC。
- LLC子层:以太网2帧里面不用。
- 类型:0x0800表示IP,0x0806表示ARP,0x0835表示RARP等。
- MTU:46-1500字节,不包括帧头。(IPv4: 0x0800;ARP:0x0806;PPPoE:0x8864
- 802.1Q tag: 0x8100;IPV6: 0x86DD;MPLS Label:0x8847)
1.1.3 MAC地址
前24位为厂家唯一标识,后24位为厂家自己分配,不可重复。
1.1.4 工作机制
- MAC地址表软件表,其中CAM用来专门存放MAC表。
- 二层交换机进行数据交换依据的就是MAC地址表。
- MAC地址表:初始为空,PC1接上,PC1发消息后,交换机会学习到PC1的IP和FA0/1的MAC地址,并进行绑定,就知道这台P1C机连接到了FA0/1这个MAC,接着根据目的PC2查询目的MAC,如果没有匹配,就会泛洪(源端口之外),PC2收到后,应答,会被交换机将PC2的IP和FA0/2的MAC地址关联。
- 查看MAC地址表:show mac address-table
- 接口所属VLAN号-接口学习到的MAC地址-MAC地址条目的来源-对应的端口。
- 动态之外,还可以手工绑定。
- MAC-ADDRESS-TABLE STAITC MAC地址 接口 VLAN VLAN号。
- 路由器上查看ARP表:IP+MAC地址的绑定。
- 交换机上查看MAC表:MAC+端口的绑定。
- 结合就能看到IP和端口的绑定 。
1.2 VLAN+TRUNK
1.2.1 VLAN
VLAN范围(Dot1Q):
1.2.2 TRUNK
- VLAN是可以跨交换机的,
- 只有需要承载多个VLAN是才需要,如果全网就一个VLAN,没必要TRUNK。
VLAN机制:常用的是8021Q。
1.2.2.1 ISL
ISL原始以太网帧,添加个头部,不破坏原有帧。根据VLAN的ID判断。Q
1.2.2.2 802.1Q
插入四字节TAG,重新计算FCS,会破坏原有帧。
1.2.2.3 Native VLAN
- 802.1Q拆帧,解帧,封帧费资源。
- 如特定的VALN流量非常大,则将该VLAN定义为Native VLAN,进出就不打标签了。
- 原则上两端的Native VLAN号一致,否则会出问题,如果不一致的情况下,如图:
- VLAN2出消息,由于VLAN2不是Native VLAN3,则需要打标签,对端接受后,由于不是NativeVLAN4,则拆标签后给VLAN2。
- 当VLAN3发消息时,定义的就是Native VLAN3,所以出去是不打标签,到对端,对端一看没打标签,就认为是VLA4,直接扔给了VLAN4,导致VLAN3之间没法通讯,VLAN4之间也没法通讯。
- 封装DOT1Q协议,设置模式为TRUNK,再设置为NATIVE VLAN。
- 如果需要所有的标签都打标签,则全局配置,则对NATIVE VLAN也打标签。
1.2.2.4 配置
只有承载多VLAN的才需要配置
可以设置只允许部分VLAN通过,如remove vlan 20不允许通过。
1.2.2.5 问题
NO
- YES,能通讯,同网段的。
- 进出口都是VLAN10,都是原始帧,同时VLAN20,整个过程都是原始帧。
- 进出口不同VLAN则不行。
YES:PC进来后,如果没有打TAG,则放进NATIVE,此处打上VLAN10,出口是VLAN20,则需要打标签VLAN 10,从30进来时,不是VLAN 30,则进来并拆除VLAN10,从VLAN10出。
NO,VLAN10的帧,进入干道NATIVE 20,不是10,则保持TAG字段。PC2无法理解打了TAG的帧。
1.2.2.6 级联
如1楼2楼划到一个VLAN,如VLAN10,则只需要在3楼的连接口划为ACCESS VLAN10即可,一二楼的保持默认VLAN 1即可。
TRUNK配置,因为承载了多个VLAN信息。二楼的VLAN配置里面需要有VLAN10信息,三层的VLAN的需要VLAN10和VLAN20信息。
1.2.3 实验
下载并安装GNS3;
下载镜像文件并导入:c3640-ik9o3s-mz[1].124-25c.bin
1.2.3.1 交换机(路由器模拟)
添加两个3600路由器
选中两台路由器,右键进行配置
模拟交换机时,只添加模块NM-16ESW
为了便于区别,修改图标为交换机,选中两台路由器,右键,修改图标
选择Classic
选中以太网交换机图标,确定
图标变色
修改名字为S1和S2,选中两台设备,右键选择配置,配置为S1和S2
1.2.3.2 PC机(路由器模拟)
拖放四台路由器
选中4台,统一配置为1个快速以太网接口。
选中4台设备,修改图标
选中4台设备,修改名字
1.2.3.3 连线
点击图标
选中接口,连接即可
联通效果图
点击按钮
显示接口如下:
接口位置信息可以拖动
1.2.3.4 PC机配置(路由器模拟)
路由器模拟PC机
- 关闭路由功能
PC1#configure terminal
PC1(config)#no ip routing
- 进入接口,配置IP地址并启动接口
PC1(config)#interface fastEthernet 0/0
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#no shutdown
PC1(config-if)#exit
- 设置默认网关(本实验可选配置)
PC1(config)#ip default-gateway 192.168.110.254
1.2.3.5 交换机配置(路由器模拟)
创建VLAN,并将对应端口划入VLAN,接口配置TRUNK
- 关闭路由功能:
S1(config)#no ip routing
- 创建VLAN:
S1#vlan database
S1(vlan)#vlan 10
VLAN 10 added:
Name: VLAN0010
S1(vlan)#vlan 20
VLAN 20 added:
Name: VLAN0020
- 将接口加入VLAN
S1(config)#interface fastEthernet 0/1
S1(config-if)#switchport mode access
S1(config-if)#switchport access vlan 10
S1(config-if)#exit
S1(config)#interface fastEthernet 0/2
S1(config-if)#SWitchport MOde Access
S1(config-if)#switchport access vlan 20
- 查看VLAN信息
S1#show vlan-switch
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/0, Fa0/3, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10, Fa0/11, Fa0/12, Fa0/13
Fa0/14, Fa0/15
10 VLAN0010 active Fa0/1
20 VLAN0020 active Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1 enet 100001 1500 - - - - - 1002 1003
10 enet 100010 1500 - - - - - 0 0
20 enet 100020 1500 - - - - - 0 0
1002 fddi 101002 1500 - - - - - 1 1003
1003 tr 101003 1500 1005 0 - - srb 1 1002
1004 fdnet 101004 1500 - - 1 ibm - 0 0
1005 trnet 101005 1500 - - 1 ibm - 0 0
- 设置TRUNK接口
S1(config)#interface fastEthernet 0/0
S1(config-if)#switchport trunk encapsulation dot1q
S1(config-if)#switchport mode trunk
- 查看TRUNK信息
S1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Fa0/0 on 802.1q trunking 1
Port Vlans allowed on trunk
Fa0/0 1-1005
Port Vlans allowed and active in management domain
Fa0/0 1,10,20
Port Vlans in spanning tree forwarding state and not pruned
Fa0/0 none
1.2.3.6 测试
1.2.3.7 ARP抓包分析
802.1Q tag: 0x8100
ARP:0x0806;VLAN为10
IPv4: 0x0800;
IPv4: 0x0800;
1.2.3.8 ICMP抓包分析
1.2.3.8.1 请求
802.1Q tag: 0x8100
VLAN为10
发送ICMP包
1.2.3.8.2 应答
802.1Q tag: 0x8100
VLAN为10
应答ICMP