二三层转发

二层交换机原理:

l 接收网段上所有的数据帧

利用接收数据帧上SM来建立MAC表,使用地址老化机制进行地址表的维护

MAC地址中查找数据帧中的目的MAC地址,找到就发送到相应的端口,否则发全局报文

l 向所有的端口转发广播帧和多播帧

 

三层交换机:

l 通过硬件实现查找和转发

l 转发路由表需要通过路由协议来建立和维护(传统路由器通过微处理器来实现查找和转发)

l 将路由和交换的功能集成一体

l 采用的结构是几种路由管理

 

二层交换机缺点:

由于根据MAC二层转发,冲突域限制到端口,但是无法限制广播域

 

三层交换机缺点:

l 广域网接口带宽不足,路由性能低下

 

解决办法:将网络中没有需求的主机隔离开--------------vlan

路由器将网络分段--昂贵

通过vlan划分广播域(一个vlan对应一个广播域)

 

VLAN二层交换规则:

主机与交换机之间传递的是untagged报文

交换机之间用于干道链路是Trunk连接

交换机用Tag来标识所属的vlan

干道链路传输的是Tagged Frame

不同vlan之间在二层不能通信

用三层路由实现vlan间通信

 

二三层转发的区别:

二层转发针对本网段的数据转发,查询PCT表(MAC表),关键看MAC

三层转发针对不同网段的数据转发,查询FIB表(路由表),关键看IP

l ARP是两个表的中间环节

 

二三层转发的判断:

l 发送端

SI & 网关掩码    是否相等   DI & 网关掩码

相等:同一网段,走二层转发

不相等:非同一网段,走三层转发

     

 

l 接收端

报文的DM     是否相等   端口的MAC

相等:走三层转发

不相等:走二层转发

 

 

例子:A/B, C/D为同一网段的主机,各自在同一vlan而且各自的地址已知,

 二三层转发

A、要求实现AB或者CD通信。此时为二层转发。

1.A--B

SIDI处于同一网段,二层转发,查PCT表,此时端口为空。

进行广播处理,向所有端口发送,B接收。交换机添加A的信息至PCT

MAC

VLAN

接口(物理口)

MAC-A

Vlan1

1

 

2.B--A

此时BA是第一次发送,查PCT表,端口为空。

进行广播处理,A接收。交换机添加A的信息至PCT

MAC

VLAN

接口(物理口)

MAC-A

Vlan1

1

MAC-B

Vlan1

2

 

至此,A-BMAC表建立完成。当再次通话时,查询PCT表,找到对应的接口即可。

 

B、要求实现A/BC/D之间的通信。此时为三层转发。

此时涉及到A,C,交换机还有路由器。如下图

二三层转发

1.A-C先检查是否同网段,发现不是,走三层转发。由于是初次通话,路由表,MAC表都为空。所以发广播报文。

ARP请求

DM  

SM

以太帧类型

映射帧类型

SI

DI

DATA

f

Mac-A

0x0806

0x0800

Ip-A

Ip-r1

数据

 

2.SW1收到报文,添加vlan1标签在报文后,更新MAC表项。同时在同一vlan内广播

ARP请求

DM  

SM

帧类型

Vlan

以太帧类型

映射帧类型

SI

DI

DATA

f

Mac-A

0x8100

Vlan1

0x0806

0x0800

Ip-A

Ip-r1

数据

 

3.路由器收到sw1报文,更新路由表,同时将AMACIP更新至ARP表,将AMACvlan更新值MAC表。进行ARP响应

ARP响应

DM  

SM

帧类型

Vlan

以太帧类型

映射帧类型

SI

DI

DATA

Mac-A

Mac-r1

0x8100

Vlan1

0x0806

0x0800

Ip-r1

Ip-A

数据

 

4.SW1S2收到响应,更新SMvlanMAC表。同时根据DMVlanMAC表,命中S1接口,去标签,s1发出。

ARP响应

DM  

SM

以太帧类型

映射帧类型

SI

DI

DATA

Mac-A

Mac-r1

0x0806

0x0800

Ip-r1

Ip-A

数据

 

5.A,更新r1MACIPARP表,更新r1MACMAC表,发送ICMP回显请求

ICMP回显请求

DM  

SM

协议类型

协议

ICMP类型

SI

DI

DATA

Mac-r1

Mac-A

0x0800

1

8

Ip-A

Ip-C

数据

 

6.S1收到报文,加vlan1标签,根据DMvlanr1)查MAC表,命中S2

ICMP回显请求

DM  

SM

帧类型

Vlan

协议类型

协议

ICMP类型

SI

DI

DATA

Mac-r1

Mac-A

0x8100

Vlan1

0x0800

1

8

Ip-A

Ip-C

数据

至此,A到路由器的所有表项建立完成。下面是路由器至C的转发过程,同上述。