
一、二层交换机工作原理
1. 以太网产生背景
早期网络:早期的网络设备之间互相通信,仅能实现单点通信。同样的物理环境,只能与一台设备进行互联。
共享型以太网:逻辑拓扑是多路访问总线型网络,所有节点共享一个网络。一个节点发送的数据会被传送到该网段上的所有节点。任意时间的信道只能传输一路数据,每台主机发出的数据可以被其他所有主机接受。同时只能有一台主机发送数据,如果有两台或以上的主机发送数据,则会产生冲突。
数据发送机制(CSMA/CD):为了解决共享以太网的缺点,产生了带有冲突检测的载波侦听多路访问机制决定节点如何发送数据。先听后发,边发边听,冲突回退。同一个网段上所有节点处于一个冲突域内,共享带宽,只能工作在半双工下。现代交换机的每个接口都是冲突域,工作在全双工下,CSMA/MD机制不再适用。
MAC地址:IEEE 802标准中使用MAC地址作为识别以太网中网络设备硬件地址的唯一标识符。MAC地址由48为二进制组成,通常表示为12个十六进制数。前24位是组织唯一标识符OUI(厂商识别码),后24为是节点标识符(厂商分配的序列号)。
2. 以太网帧和帧类型
网络层的数据包被加上帧头、帧尾,就构成了数据链路层能识别的以太网数据帧。
根据以太网帧的目标MAC,可以分为单播、广播、组播
单播:广播域中的指定节点接受
广播:MAC地址为全1(FFFF.FFFF.FFFF),广播域中的所有节点都可以接受
组播:MAC地址以01开头,只有加入组的节点才可以接受


3. 以太网与以太网传输介质
以太网:以太网是目前世界上占主导地位的LAN技术。以太网由OSI模型和物理层和数据链路层的协议组成。IEEE802.3 标准定义了物理层和数据链路层的MAC子层。IEEE802.2 标准定义了数据链路层的LLC子层。
3.1 以太网依靠数据链路层上的两个单独子层运行
逻辑链路控制(LLC)子层处理上层和下层之间的通信。可以由软件(网卡驱动程序)实现
介质访问控制(MAC)子层定义介质访问控制、编址、数据封装。可以由硬件(网卡)实现
物理层定义了介质上的比特流、接口和拓扑
3.2 双绞线是综合布线中最常用的传输介质
根据屏蔽型分类
根据频率和信噪比分类
3.3 线序
T568A:白绿、绿、白橙、蓝、白蓝、橙、白粽、棕
T568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
直连线:T568B+T568B
交叉线:T568A+T568B
4. 以太网交换机与MAC地址表
4.1 以太网交换机:早期使用集线器(HUB)实现终端的互联,无法分割冲突域,需要使用CSMA/CD带冲突检测的载波侦听多路访问协议,传输速率低下。交换机可以分割冲突域,每个接口就是一个冲突域以太网交换机需要维护一张MAC地址表,通过MAC地址进行数据帧的转发
4.2 MAC地址表的建立原则
交换机刚启动时,MAC地址表为空
PC发出数据帧,交换机将PC帧的中的源MAC地址与接收端口关联起来

4.3 地址表的维护与老化
当接口down掉后,与该接口相关的MAC地址都会被删除
当PC在一定时间(默认老化时间为5分钟)内没有发送任何报文时,会将该PC的MAC地址表项自动删除
一个MAC地址只能对应一个接口,一个接口可以对应多个MAC地址
4.4 MAC地址表建立的详细流程
学习记录:记录源MAC地址和接收端口的对应关系,构建MAC地址表
查表转发:交换机收到一个数据帧后,读取数据帧的目的MAC地址,并查看MAC地址表
转发:MAC地址表中有该MAC地址的记录,则按照其对应的端口转发
泛洪:如果没有该记录,则将数据帧从除了接收到的这个数据帧以外的其余端口发送出去
丢弃:如果数据帧的目的MAC=接收接口记录的MAC地址,则丢弃

4.5 MAC地址表建立流程图

4.6 示例:当同一广播域内的两台主机进行通信


二、VLAN原理和及VLAN间通信
以太网是基于CSMA/CD(带冲突检测的载波侦听多路访问)的通信技术,特点是共享通信介质,当主机的数量过大的时候就会产生广播泛滥的问题,导致网络通信性能下降。
1. 应用场景
当接收帧的目的MAC地址不存在本地的MAC地址表中,会从除了接收帧的端口外的所有端口转发出去。二层交换机就会形成一个巨大的广播域,广播数据就会在广播域中泛洪,占用网络带宽,降低设备性能。如下图:在没有划分任何VLAN的情况下,默认处于一个巨大的广播域,广播数据会在域中泛洪,浪费带宽。

2. VLAN
VLAN(Virtual Local Area Network,虚拟局域网),可以将一台物理交换机配置为多台逻辑交换机。每台逻辑交换机连接一个局域网,称为VLAN。每一个VLAN都是一个广播域,VLAN可以隔离广播域,减小广播域。不同的VLAN需要借助三层设备进行通讯,VLAN不受物理位置限制,更加灵活的组网。
为了实现在互联线缆上承载多个VLAN数据帧,需要一种能区分不同VLAN数据帧的方式,交换机用VLAN标签区分不同VLAN的以太网帧,802.1Q规定了VLAN的标签信息和标签格式。
2.1 交换机端口的类型
Access端口:Access端口只能属于一个VLAN,它发送的帧不带VLAN标签,一般用于连接计算机的端口。
Trunk端口:Trunk端口可以允许多个VLAN通过,它发出的帧一般是带有VLAN标签的,一般用于交换机之间连接。
2.2 通过在标准以太网帧头部增加TAG字段
TPID:标记协议标识,固定值为0x8100,表示该帧载有802.1Q标记信息
TCI:标记控制信息
VID(VLAN ID):12bit,可用范围是1-4094,用来唯一标识一个VLAN
Priority:3bit,表示优先级,用于Qos
Canonical format indictor:1bit,表示总线型以太网、FDDI、令牌环网

2.3 Access接口的TAG控制

Trunk接口的TAG控制「进入交换机是一定会存在TAG,navite vlan应该两头一致,使用相同的VLAN TAG」
在收到数据时进行判断
存在TAG:保留TAG
不存在TAG:打上native vlan TAG
在发送数据时进行判断
存在native vlan:去除TAG
不存在native vlan:保留原有TAG

3. VLAN间通讯
3.1 单臂路由
早期的网络会将二层交换机和路由器相连,使用“单臂路由”方式进行VLAN间路由
缺点:
数据帧在Trunk链路上传输,会有转发延迟
路由器软件转发IP报文,如果VLAN间路由数据比较大,会消耗大量的CPU资源
3.3 三层交换机
三层交换机集成了VLAN内部的二层交换和VLAN间路由转发功能
三层交换技术:二层交换技术+三层转发
二层交换基于MAC地址,由硬件实现,延迟低
三层转发基于IP地址,使用硬件ASIC技术,转发速度快
