1
二层以太网交换机基本原理及转发流程
版本 主要作者 李小玮 版本描述 二层以太网交换机基本原理及转发流程 2011-7-21 完成日期 1.0
2
目录
1 2 3 4 5 6
MAC地址的简单介绍 .......................................................... 错误!未定义书签。 VLAN的简单介绍 ................................................................ 错误!未定义书签。 IP 过滤技术的简单介绍 ..................................................................................... 4 QOS的简单介绍 ............................................................................................... 4 实验................................................................................................................... 5 小结................................................................................................................. 17
3
1、MAC地址的简单介绍
MAC(Media Access Control,介质访问控制)地址是烧录在Network Interface Card(网卡)的EPROM里。MAC地址是48 bit二进制的地址,如:00-e0-fc-00-00-06。前24位叫做组织唯一标志符,后24位是由厂家自己分配。 MAC地址可以分为单播地址、多播地址和广播地址。 单播地址:第一字节最低位为0,如:00-e0-fc-00-00-06 多播地址:第一字节最低位为1,如:01-e0-fc-00-00-06 广播地址:48位全1,即:ff-ff-ff-ff-ff-ff
2、VLAN的简单介绍
VLAN(Virtual Local Area Network)的中文名为\"虚拟局域网\"。VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术。
VLAN网络可以是有混合的网络类型设备组成,比如:10M以太网、100M以太网、令牌网、FDDI、CDDI等等,可以是工作站、服务器、集线器、网络上行主干等等。
VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。
VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,即VLAN Tag。用VLAN ID把用户划分为更小的工作组,不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以广播范围,并能够形成虚拟工作组,动态管理网络。
4
3、Ip过滤技术的简单介绍
IP过滤技术可将访问和被访问者在一个特定范围内。可通过由管理员配置IP分组过滤表,IP过滤模块根据IP分组中报头的源地址、目的地址、端口号等信息,对来往的IP分组进行过滤,允许或者禁止某些IP地址的访问。还可以通过配置代理服务器来内部用户对Internet的访问。
4、QOS的简单介绍
QoS(Quality of Service)即服务质量。对于网络业务,服务质量包括传输的带宽、传送的时延、数据的丢包率等。在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量。
5
5、实验
实验一:在同一vlan下,对于G0/1和G0/2设置ip 过滤,PC ping 路由器的F0/0端口 实验目的:分析一般情况下,交换机收到报文后的转发流程。
分析:
1)通过ping之前,在交换机上show mac address-table可以看出,一开始交换机没有mac信息。
Switch_config#show mac address-table Mac Address Table (Total 0) ------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
通过show interface g0/1,看出ping前的包数。
GigaEthernet0/1 is up, line protocol is up
Hardware is Giga-Combo-TX, address is 00e0.0fad.d0da (bia 00e0.0fad.d0da) MTU 1500 bytes, BW 100000 kbit, DLY 10 usec Encapsulation ARPA
Auto-Duplex(Full), Auto-Speed(100Mb/s) flow-control off
5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec Received 17 packets, 1688 bytes 15 broadcasts, 2 multicasts 0 discard, 0 error, 0 PAUSE 0 align, 0 FCS, 0 symbol 0 jabber, 0 oversize, 0 undersize 0 carriersense, 0 collision, 0 fragment 0 L3 packets, 0 discards, 0 Header errors Transmited 0 packets, 0 bytes 0 broadcasts, 0 multicasts
0 discard, 0 error, 0 PAUSE 0 sqettest, 0 deferred
0 single, 0 multiple, 0 excessive, 0 late 0 L3 forwards
6
通过show interface g0/2,看出ping前的包数。
Switch#show int g0/2
GigaEthernet0/2 is up, line protocol is up
Hardware is Giga-Combo-TX, address is 00e0.0fad.d0db (bia 00e0.0fad.d0db) MTU 1500 bytes, BW 100000 kbit, DLY 10 usec Encapsulation ARPA
Auto-Duplex(Full), Auto-Speed(100Mb/s) flow-control off
5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec Received 0 packets, 0 bytes 0 broadcasts, 0 multicasts 0 discard, 0 error, 0 PAUSE 0 align, 0 FCS, 0 symbol 0 jabber, 0 oversize, 0 undersize 0 carriersense, 0 collision, 0 fragment 0 L3 packets, 0 discards, 0 Header errors Transmited 17 packets, 1704 bytes 15 broadcasts, 2 multicasts 0 discard, 0 error, 0 PAUSE 0 sqettest, 0 deferred
0 single, 0 multiple, 0 excessive, 0 late 0 L3 forwards
2)此时,pc开始ping F0/0
A、交换机收到pc的arp包。先查看所收到的包,是否有vlan tag。 如果没,那么就加上端口所属vlan 的tag。
如果有,就查看vlan规则,是否允许该vlan通过,如果不允许,那么就直接丢弃。
VLAN Status Name Ports ---- ------- -------------------------------- ---------------------------------
1 Static Default F0/1, F0/2, F0/3, F0/4, F0/5 F0/6, F0/7, F0/8, F0/9, F0/10 F0/11, F0/12, F0/13, F0/14, F0/15 F0/16, F0/17, F0/18, F0/19, F0/20 F0/21, F0/22, F0/23, F0/24, G0/4 2 Static VLAN0002 G0/1, G0/2, G0/3
7
通过show vlan可以得到以上信息,看到端口G0/1,G0/2,G0/3均划入了vlan 2,并不属于其他vlan,所以交换机G0/1口只允许vlan 2 通过,因此所有非vlan 2 的包,将全部丢弃。
同时,由于pc所发出的包是没有vlan tag的,因此,交换机会将pc的包加上一个vlan2 的tag。
B、交换机查看其端口的ip过滤表信息。
通过show ip access-list,可以看到ip过滤表的相关信息。
Standard IP access list 1 Index Rule content
-------------------------------------------------------------------- 1 permit 192.168.1.1 255.255.255.0 2 permit 192.168.1.2 255.255.255.0 3 deny any
同时我们通过show run 看到该ip acl已经应用在G0/1口上。
interface GigaEthernet0/1 ip access-group 1
所以,G0/1端口允许192.168.1.1的ip和192.168.1.2的ip通过。因此,交换机转发pc的包,否则丢弃。
C、交换机查看自己的mac表,如果pc的mac没有,那么就记录在mac-port表。
Mac Address Table (Total 1) ------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
1 000a.e42f.d625 DYNAMIC g0/1
D、交换机查看自己的vlan-map,在表中查找允许vlan 2 通过的端口。
VLAN Status Name Ports ---- ------- -------------------------------- ---------------------------------
1 Static Default F0/1, F0/2, F0/3, F0/4, F0/5 F0/6, F0/7, F0/8, F0/9, F0/10 F0/11, F0/12, F0/13, F0/14, F0/15 F0/16, F0/17, F0/18, F0/19, F0/20 F0/21, F0/22, F0/23, F0/24, G0/4
2 Static VLAN0002 G0/1, G0/2, G0/3
8
于是找到了G0/1,G0/2和G0/3,由于G0/1是包的来源端口,所以交换机不予以考虑。然后交换机通过mac-port表,开始查找端口对应的mac是否为目的mac,如果找到,就进行后续处理;找不到就直接进行广播处理。
交换机查看到所收到的包是广播包,那么就直接发送出vlan 2 中除了该包来源端口的其他所有端口(这里即G0/2和G0/3)。
图1 pc发出的arp request
上图即为pc所发出的arp包。由于是广播包,所以此时如果在G0/3端口抓包,同样可以看到上图。
E、因为G0/2默认为access口,所以交换机会将报文的tag进行untag处理,然后再发送。
如果为Trunck口,那么交换机就会根据配置决定是否对包做untag处理,默认情况下,不进行untag处理。
F、路由器F0/0端口收到arp request后,回复arp reply。此时交换机同样先查看所收到的包是否有vlan tag。
如果有,那么就查看该端口的vlan规则,是否允许该vlan通过。 没有,则打上vlan 2 的tag。
G、然后交换机查看G0/2端口的ip过滤表信息。
9
通过show ip access-list,可以看到ip过滤表的相关信息。
Standard IP access list 1 Index Rule content
-------------------------------------------------------------------- 1 permit 192.168.1.1 255.255.255.0 2 permit 192.168.1.2 255.255.255.0 3 deny any
同时我们通过show run 看到该ip acl已经应用在G0/2口上。
interface GigaEthernet0/2 ip access-group 1
可以看出,端口允许192.168.1.1的ip和192.168.1.2的ip通过,因此,交换机转发报文,否则丢弃。
同时交换机记录了F0/0的mac ,记录在mac-port表。
Mac Address Table (Total 2) ------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
1 000a.e42f.d625 DYNAMIC g0/1 1 00e0.0f84.4b30 DYNAMIC g0/2
H、交换机查看自己的vlan-map,在表中查找允许vlan 2 通过的端口。
VLAN Status Name Ports ---- ------- -------------------------------- ---------------------------------
1 Static Default F0/1, F0/2, F0/3, F0/4, F0/5 F0/6, F0/7, F0/8, F0/9, F0/10 F0/11, F0/12, F0/13, F0/14, F0/15 F0/16, F0/17, F0/18, F0/19, F0/20 F0/21, F0/22, F0/23, F0/24, G0/4 2 Static VLAN0002 G0/1, G0/2, G0/3
这个是交换机当前vlan 的信息。
于是交换机找到了G0/1和G0/3,然后查找端口对应的mac是否为目的mac。然后进行单播转发。此时,在G0/3抓包,则无法看到arp reply。
10
图1 Router发出的arp reply
I、由于G0/1为access口,那么交换机就自动将vlan 2的tag进行untag处理。 如果是Trunck口,由于pc无法识别有tag的报文,因此会对与通讯造成影响,那么就必须手工配置\"switchport trunck untag vlan \"进行untag处理。
H、Pc记录了F0/0的mac后,就开始了icmp报文的发送与接收。
3)通过ping之后,在交换机上show mac address-table可以看出,交换机上面有了mac信息
Mac Address Table (Total 2) ------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
1 000a.e42f.d625 DYNAMIC g0/1 1 00e0.0f84.4b30 DYNAMIC g0/2
Ping后,G0/1的信息。
GigaEthernet0/1 is up, line protocol is up
Hardware is Giga-Combo-TX, address is 00e0.0fad.d0da (bia 00e0.0fad.d0da) MTU 1500 bytes, BW 100000 kbit, DLY 10 usec Encapsulation ARPA
Auto-Duplex(Full), Auto-Speed(100Mb/s) flow-control off
5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec Received 22 packets, 20 bytes 16 broadcasts, 2 multicasts 0 discard, 0 error, 0 PAUSE 0 align, 0 FCS, 0 symbol 0 jabber, 0 oversize, 0 undersize 0 carriersense, 0 collision, 0 fragment
0 L3 packets, 0 discards, 0 Header errors Transmited 5 packets, 376 bytes 0 broadcasts, 0 multicasts 0 discard, 0 error, 0 PAUSE 0 sqettest, 0 deferred
0 single, 0 multiple, 0 excessive, 0 late 0 L3 forwards
11
与ping前相比多了5个包。1个arp包,4个ping包。( Received 17 packets, 15
broadcasts, Transmited 0 packets,0 broadcasts)
Ping后,G0/2的信息。
GigaEthernet0/2 is up, line protocol is up
Hardware is Giga-Combo-TX, address is 00e0.0fad.d0db (bia 00e0.0fad.d0db) MTU 1500 bytes, BW 100000 kbit, DLY 10 usec Encapsulation ARPA
Auto-Duplex(Full), Auto-Speed(100Mb/s) flow-control off
5 minutes input rate 0 bits/sec, 0 packets/sec 5 minutes output rate 0 bits/sec, 0 packets/sec Received 5 packets, 376 bytes 0 broadcasts, 0 multicasts 0 discard, 0 error, 0 PAUSE 0 align, 0 FCS, 0 symbol 0 jabber, 0 oversize, 0 undersize 0 carriersense, 0 collision, 0 fragment 0 L3 packets, 0 discards, 0 Header errors Transmited 22 packets, 2080 bytes 16 broadcasts, 2 multicasts 0 discard, 0 error, 0 PAUSE 0 sqettest, 0 deferred
0 single, 0 multiple, 0 excessive, 0 late 0 L3 forwards
相比之前,多了5个包。1个arp包,4个ping包。(Received 0 packets,0 broadcasts,
Transmited 17 packets,15 broadcasts)
4)Ping完后如果将缆线从交换机任意端口拔出,那么交换机会自动清除改端口对应mac-port信息
Mac Address Table (Total 1)
------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
1 00e0.0f84.4b30 DYNAMIC g0/2
此时,已经将PC的缆线从交换机G0/1口拔出。
12
5)交换机的mac-port表有老化时间。在一定时间内,如果没有流量从该端口通过,那么交换机会自动清除该端口所对应的mac信息。
Mac Address Table (Total 0) ------------------------------------------
Vlan Mac Address Type Ports ---- ----------- ---- -----
13
实验二:在同一vlan下,对于G0/1和G0/2设置如下ip 过滤,PC ping 路由器的F0/0端口
实验目的:研究ip acl的处理流程。 A、Ip 过滤设置,第一种:
Extended IP access list 123 Index Rule content
--------------------------------------------------------------------
1 permit ip 192.168.1.100 255.255.255.0 any 2 permit ip 192.168.1.1 255.255.255.0 any 3 permit ip 192.168.1.2 255.255.255.0 any 4 deny ip any any
同时我们通过show run 看到该ip acl已经应用在G0/1口上。
interface GigaEthernet0/1 ip access-group 123
结果:
从图中可以看出PC已经ping通了路由器。
得出,当第一条ip acl并不匹配时,交换机并没有直接就做drop处理,而是继续匹配第二项,直到匹配到相符的信息在做处理。
14
B、Ip过滤设置,第二种:
Extended IP access list 123 Index Rule content
-------------------------------------------------------------------- 1 deny ip any any
2 permit ip 192.168.1.1 255.255.255.0 any 3 permit ip 192.168.1.2 255.255.255.0 any
同时我们通过show run 看到该ip acl已经应用在G0/1口上。
interface GigaEthernet0/1 ip access-group 123
结果:
从图中我们可以看出,pc并没有ping通路由器。
可以看出,交换机是严格按照第一条,第二条...这样的顺序进行匹配的。 小结:
上面两个实验说明了交换机在处理IP Acl时,严格按照第一条,第二条...这样的顺序进行匹配的。当第一条不符合时,交换机会查看第二条,依次执行,直到找到一条相符合的,再做出反应。
15
实验三:在同一vlan下,对于G0/2设置如下qos设置,路由器的F0/0端口ping PC
实验目的:研究QOS的处理流程。
通过在交换机上show ip access-list和show policy-map可以看出在交换机上所设置的QOS 。
Index Rule content
-------------------------------------------------------------------- 1 permit ip any any
这个是ip access-list信息。
policy-map 12
classify ip access-group 123 action forward policy-map 123
classify ip access-group 123 action drop
这个是policy-map信息。
可以看出,qos的设置是根据ip access-list的,因而,ip acl的处理肯定是先于qos的处理的。
A、Qos设置第一种:
interface GigaEthernet0/2 qos policy 123 ingress qos policy 12 ingress
在这种设置情况下,路由器ping pc ,可以看到如下信息。
PING 192.168.1.2 (192.168.1.2): 56 data bytes .....
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
同时,在pc上面抓包,可以看到下图。
16
看到Pc所收到的仅有arp报文。从中可以了解到,在不做其他任何设置的情况下,路由器发出的icmp ping包已经在交换机的G0/2口被qos处理了。所以,可以得出,交换机在处理qos时,当匹配到了第一条qos后,就会立即做出相应处理。 B、Qos设置第二种:
interface GigaEthernet0/2 qos policy 12 ingress qos policy 123 ingress
在这种设置情况下,路由器ping pc ,可以看到如下信息。
PING 192.168.1.2 (192.168.1.2): 56 data bytes !!!!!
--- 192.168.1.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0/0/0 ms
同时,在pc上面抓包,可以看到下图。
看到Pc收到了arp包和icmp ping包。从中可以了解到,在不做其他任何设置的情况下,路由器发出的icmp ping包经过在交换机的G0/2口的qos处理后,依然到达了pc这端。所以,可以得出,交换机在处理qos时,是严格按照第一条,第二条...这样的顺序进行匹配,当匹配到了一条后,就立即做出处理,不在进行匹配。
17
6、小结
二层交换机的交换流程比较简单,主要是vlan匹配、ip过滤、mac的学习还有QOS处理。
1、讨论了一下二层交换机的普通流程。
1)数据包刚到交换机时:
A、交换机会优先看数据包的tag信息。 B、交换机进行vlan的匹配以及处理。
C、根据ip过滤表来决定该包是否进行转发,如果转发,那么就学习其mac信息,否则直接丢弃。
2)当数据包要传出交换机时:
A、交换机先查找允许该包所属的vlan通过的所有端口。 B、然后再进行目的mac和port的匹配。
如果目的mac为全F,即广播报文,那么就向除了发送端的所有端口进行泛洪处理; 如果找到目的mac所属的发送端口,那么就进行单播转发。 C、根据端口的模式决定是否要进行untag处理,然后发送数据包。 2、同时,通过实验证实了ip acl和端口qos设置的匹配顺序,得出
1)ip acl和qos设置都是严格按照第一条,第二条...的顺序进行匹配,若匹配了一项以后,就立即做出处理,不再继续进行匹配。
2)通过对于qos设置的过程,得出qos是根据ip acl进行处理的,因而ip acl的处理一定优先于qos的处理。
另:由于设配有限,并没有做vlan的tag处理和ip过滤处理的先后处理问题的实验。
18
附录:交换机的版本信息和在实验一中的配置信息
UNIDATA S.p.A. Internetwork Operating System Software
UNISW.324F Series Software, Version 2.0.2A, RELEASE SOFTWARE Copyright 2010
Compiled: 2010-1-29 17:14:22 by SYS, Image text-base: 0x10000 ROM: System Bootstrap, Version 0.3.3 Serial num:S35020154, ID num:S35020154 System image file is \"Switch.bin\" UNIDATA UNISW.324F RISC
131072K bytes of memory,8192K bytes of flash Base ethernet MAC Address: 00:e0:0f:ad:d0:c1
Switch uptime is 0:01:29:03, The current time: 2011-7-19 15:37:55
Module Version Description
system 2.3.3 System lib(Oct.13,2009)
command 2.0.31 Switch command lib(Dec.25,2009) Resource 1.0.2 Resource Manager(Jan 29 2010 13:37:46) LIBDEV 3.5.14 Device Manager(Nov.30,2009) PUB 0.5.8 PUB MODULE
MAC 2.1.4 MAC Layer(Nov.25.2009)
VM 2.1.11 IEEE 802.1Q VLAN Manager(Jan 29 2010 13:49:39) LACP 0.1.40 IEEE 802.3AD Link Aggregate Control Protocol 802.1x 0.2.23 IEEE 802.1x Port-Based Network Access Control STP 2.7.6 IEEE 802.1D,.1w &.1s Spanning Tree Protocols GARP 0.0.14 IEEE 802.1D GARP Protocol(Jan 29 2010 13:47:46) GVRP 0.0.21 IEEE 802.1Q GVRP Protocol(2009-07-14) PDP 1.0.1 Discovery protocol
UDLD 1.0.4 UniDirectional Link Detection (UDLD) protocol LLDP 1.0.2 L2 Discovery protocol
bcmp 1.0.2 bcmp lib(Jan 29 2010 13:50:06) EAPS 1.2.6 Ethernet Automatic Protection Switching OAM 1.0.5 IEEE 802.3ah EFM(2009-12-17) LLC 0.0.2 Logic Link Control, updated 2009.03.10 IPV4 2.8.36 IPv4 (distributed system, Jan.11,2010) OSI 0.0.3 OSI network module, updated 2009.03.10 NAT 5.2.6 Network Address Translation
Current configuration: !
!version 2.0.2A
service timestamps log date service timestamps debug date
!
no spanning-tree !
! ! ! !
ip access-list standard 1
permit 192.168.1.1 255.255.255.0 permit 192.168.1.2 255.255.255.0 deny any ! ! ! ! ! !
interface FastEthernet0/1 !
interface FastEthernet0/2 !
interface FastEthernet0/3 !
interface FastEthernet0/4 !
interface FastEthernet0/5 !
interface FastEthernet0/6 !
interface FastEthernet0/7 !
interface FastEthernet0/8 !
interface FastEthernet0/9 !
interface FastEthernet0/10 !
interface FastEthernet0/11 !
interface FastEthernet0/12 !
interface FastEthernet0/13 !
interface FastEthernet0/14
19
!
interface FastEthernet0/15 !
interface FastEthernet0/16 !
interface FastEthernet0/17 !
interface FastEthernet0/18 !
interface FastEthernet0/19 !
interface FastEthernet0/20 !
interface FastEthernet0/21 !
interface FastEthernet0/22 !
interface FastEthernet0/23 !
interface FastEthernet0/24 !
interface GigaEthernet0/1 switchport pvid 2 ip access-group 1 !
interface GigaEthernet0/2 switchport pvid 2 ip access-group 1 !
interface GigaEthernet0/3 switchport pvid 2 ip access-group 1 !
interface GigaEthernet0/4 !
interface VLAN2 no ip address
no ip directed-broadcast ! vlan 1-2 ! no ip exf ! !
20
!
21
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务