第一次在简书正经写东西,也不知道写啥,正巧最近在折腾公司网络,还算印象深刻,在此聊做分享。本文主要对二三层转发及VLAN隔离做说明,文中对部分常识可能存在忽略,留待后续补充。
# 网络分层
以太网遵循802.3标准,网络大体可以分为七层,对于网络通信来说,主要是底下四层:
1. 物理层,信息传输介质,如常见的同轴线缆、网线、光纤、无线等,
2. 数据链路层,MAC、VLAN就是这一层,主要是数据成帧、数据传输校验
3. 网络层,IP地址就在网络层,MAC通常由厂商确定,通常是唯一且不连续的,对于网络维护存在诸多困难,IP地址实现了统一编号管理,绝大部分的QoS也是在这里实现
4. 传输层,TCP/UDP等,
1. 前言
人因纯粹而强大,交换机也一样。一手查表出神入化:MAC——查表,路由——查表,QoS——查表,ACL——查表。因为简单,所以迅速,而速度即是力量。
为了配合查表,交换机也点了两个小技能:学习、老化(遗忘)。
1.1. MAC查表
在二层的世界,静静是没有出路的,不是没被人记起,就是被人遗忘。所以,你在wireshark中经常能看到Who is X.X.X.X,这是生命的呐喊,这是记忆曲线的悲鸣。
二层交换中,设备都会主动发声,交换机只查看源目的MAC,而不修改数据!!!,交换机从接口收到数据帧时:在MAC地址表中添加该源MAC地址和接口的映射关系,完成MAC地址学习。同时,依据目的MAC查找匹配对应的出接口,如果找到,则由对应接口发出,如果没有找到,则进行广播。
1.2. 三层
二层交换机端口默认是没有MAC的,自然也没有IP;三层格局打开,有自己的专属MAC,根据需要可以配置IP。三层转发,交换机查看源目的IP地址,但会对源目的MAC进行修改!!!
接收时,查看硬件转发表,如果查到,按转发规则进行处理:
1)匹配自身,则交给相应模块处理
2)如果时其他IP地址则转发:将源MAC地址修改为本端口地址,将目的MAC修改为下一跳地址,同时TTL减1
如果查找不到,则查找路由转发表,如匹配中,则将相应的目的IP、下一跳MAC、出接口等信息存储到硬件转发表项中
如果路由转发表也不成立,则丢弃。
2. 二三层转发
因此,交换机通过检查目的MAC地址,便可以确定是否为二三层转发:
1) MAC地址是自身,则标识为三层转发,转查看硬件转发表
2) MAC地址不是自身,二层转发,查看MAC转发表,如果查到对应的端口,则按端口转发,如果未曾查到,则全局广播
3. 蛇形打流
批量测试中通常会遇到:打流仪器或服务器仅一台,待测设备有多台,多台串联方式,可能存在设备故障误判问题,因此期望交换机一虚多,实现并行测试。
蛇形打流利用了二层转发原理(在同一个vlan内,如果查找不到MAC地址,则进行广播),通过VLAN引导数据在交换机内部的转发路径。
3.1 改进
交换机的端口可以支持多个VLAN,数据源多条流配置不同的VLAN,则可以实现数据分发
服务器端口 | 交换机端口 | 流入口 | 流出口 | 交换机端口 | 服务器端口 |
---|---|---|---|---|---|
NIC1 | 10GE4/0/10 | 10GE7/0/4 | 10GE7/0/5 | 10GE4/0/11 | NIC2 |
NIC1 | 10GE4/0/10 | 10GE7/0/6 | 10GE7/0/7 | 10GE4/0/11 | NIC2 |
NIC1 | 10GE4/0/10 | 10GE7/0/8 | 10GE7/0/9 | 10GE4/0/11 | NIC2 |
system-view
vlan batch 100 to 102
vlan batch 200 to 201
interface 10GE 4/0/10
undo shutdown
port link-type hybrid
port hybrid untagged vlan 100 to 102
quit
interface 10GE 4/0/10
undo shutdown
port link-type hybrid
port hybrid untagged vlan 200 to 202
quit
vlan 100
port 10GE 7/0/10
quit
vlan 101
port 10GE 7/0/4
port 10GE 7/0/8
quit
vlan 102
port 10GE 7/0/6
quit
vlan 200
port 10GE 7/0/11
quit
vlan 101
port 10GE 7/0/5
port 10GE 7/0/7
quit
vlan 102
port 10GE 7/0/9
quit
undo stp enable
3.2 问题
上述转发机制,要求初始报文携带VLAN。那么,怎么携带VLAN呢?