1.09k likes | 1.24k Views
第二章. 以太网交换技术. 以太网络交换基本原理. 虚拟网络技术. 生成树协议. 以太网端口聚合. Contents. 以太网络交换基本原理. 虚拟网络技术. 生成树协议. 以太网端口聚合. Contents. 数据链路层的 MAC 子层和 LLC 子层. 为了降低局域网的数据链路层的复杂度,将其分成两个子层: 逻辑链路控制( MAC )子层 媒体访问控制( LLC )子层. 媒体访问控制子层. 制定如何使用传输媒体的通信协议 ,主要功能有: 数据帧的封装和解封装,包括寻址和错误检测 介质的管理,包含介质分配(避免碰撞)和竞争裁决(碰撞处理)
E N D
第二章 以太网交换技术
以太网络交换基本原理 虚拟网络技术 生成树协议 以太网端口聚合 Contents
以太网络交换基本原理 虚拟网络技术 生成树协议 以太网端口聚合 Contents
数据链路层的MAC子层和LLC子层 • 为了降低局域网的数据链路层的复杂度,将其分成两个子层: • 逻辑链路控制(MAC)子层 • 媒体访问控制(LLC)子层
媒体访问控制子层 • 制定如何使用传输媒体的通信协议 ,主要功能有: • 数据帧的封装和解封装,包括寻址和错误检测 • 介质的管理,包含介质分配(避免碰撞)和竞争裁决(碰撞处理) • 设置网络设备的硬件地址,用以识别物理设备 • IEEE 802标准中为MAC地址
MAC地址的结构 • 由48位二进制数组成,通常表示为12个16进制数 • 前24位是厂商识别码,后24位是节点标识符 • 分为三类: • 单播:第1个字节的最低位为0,可作为目的地址和源地址 • 组播:第1个字节的最低位为1,仅能作为目的地址 • 广播:48位全部为1
逻辑链路控制子层 • 控制信号交换和数据流量,解释上层通信协议传来的命令并且产生响应 • 克服数据在传送的过程中可能发生的种种问题 • 对上层可以提供面向连接或者无连接的服务 • IEEE 802系列标准中只制定了一种LLC子层标准,屏蔽不同MAC子层之间的差异
以太网概述 • 20世纪70年代产生于施乐公司 • 最初的以太网使用粗同轴电缆为传输介质,为共享式以太网,会产生冲突 • 利用CSMA/CD算法解决共享信道内的信道争用问题 • 1978年,DEC公司、Intel公司和Xerox拟定了一个针对10Mbps以太网的标准,成为DIX标准 • 1983年,DIX标准演变成IEEE 802.3标准 • 随着以太网技术的发展,百兆、千兆、万兆的标准相继出台
共享信道内的冲突问题 • 任意时刻信道只能传输一路数据 • 每台主机发出的数据可以被其他所有主机所接收 • 如果有两台主机同时发送数据,则产生冲突 冲 突
CSMA/CD • CSMA/CD:带有冲突检测的载波侦听多路访问(Carrier Sense Multiple Access/Collision Derect) • 载波侦听:发送结点在发送数据之前,必须侦听传输介质(信道)是否处于空闲状态。 • 多路访问:具有两种含义,既表示多个结点可以同时访问信道,也表示一个结点发送的数据可以被多个结点所接收。 • 冲突检测:发送结点在发出数据的同时,还必须监听信道,判断是否发生冲突
CSMA/CD 冲 突 如果两台主机同时监听到信道空闲并发生数据,则发生冲突 主机在发送数据前监听信道,如果空闲,则发送;如果忙,则退避等待 发送阻塞信号并退避等待
带冲突检测的CSMA • 发送站点传输过程中仍继续监听信道,以检测是否发生冲突 • 如果发生冲突,就立即停止发送,并向总线上发一串阻塞信号以通知其他节点 • 需要最小帧长度的限制,以便冲突能够被检测到 • 优点: • 原理简单,技术上容易实现,不需集中控制,不提供优先级控制 • 缺点: • 在网络负载增大时,发送时间增长,发送效率急剧下降
以太网帧格式 • 历史上出现过多种以太网帧格式 • 1980年,DEC、Intel、Xerox制订了DIX Ethernet I的标准 • 1982年,DEC、Intel、Xerox又制订了DIX Ethernet II的标准 • 1982年,IEEE开始研究Ethernet的国际标准802.3,定义了802.3 SAP帧格式 • 1983年,Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式 • 1985年,IEEE推出IEEE 802.3规范,后来为解决Ethernet II与802.3帧格式的兼容问题,推出折衷的802.3 SNAP格式 • 现在最常见的是:Ethernet II、802.3 SAP和SNAP
Ethernet II标准的帧格式 • 类型/长度字段的值大于或等于0x0600时,表示上层数据使用的协议类型,例如0x0806表示ARP请求或应答,0x0800表示IP协议;
802.3 SAP和SNAP标准的帧结构 • 类型/长度字段的值小于0x0600时,表示以太网用户数据的长度 • 需要LLC子层的封装以指明上层协议类型
以太网技术的发展 • 共享式以太网 • 10BASE5 • 10BASE2 • 10BASE-T/F • 交换式以太网 • 10BASE-T/F • 100BASE-T4/TX/FX • 1000BASE-T/SX/LX • ……
交换机工作原理 • 根据第2层MAC地址,通过一种确定性的方法在端口之间来转发帧 • 交换机的三项主要功能: • 学习 • 转发/过滤 • 消除环路 • MAC地址表:存储地址到端口的映射关系的数据库
地址学习 MAC地址表 初始的MAC地址表为空 E0: E1: E2: E3: 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 主机C: 00-D0-F8-00-33-33 主机D: 00-D0-F8-00-44-44
地址学习 主机A发给主机C的数据帧将被泛洪,同时MAC地址表中增加主机A和端口E0的映射关系 MAC地址表 E0: 00-D0-F8-00-11-11 E1: E2: E3: 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 主机C: 00-D0-F8-00-33-33 主机D: 00-D0-F8-00-44-44
地址学习 主机C回复后,它的MAC地址和端口E3的映射关系也将被写入MAC地址表 MAC地址表 E0: 00-D0-F8-00-11-11 E1: E2: 00-D0-F8-00-33-33 E3: 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 主机C: 00-D0-F8-00-33-33 主机D: 00-D0-F8-00-44-44
地址学习 随着这个过程不断重复,最终建立起完整的MAC地址表 MAC地址表 E0: 00-D0-F8-00-11-11 E1:00-D0-F8-00-22-22 E2: 00-D0-F8-00-33-33 E3: 00-D0-F8-00-44-44 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 主机C: 00-D0-F8-00-33-33 主机D: 00-D0-F8-00-44-44
转发/过滤 MAC地址表 E0: 00-D0-F8-00-11-11 E1:00-D0-F8-00-22-22 E2: 00-D0-F8-00-33-33 E3: 00-D0-F8-00-44-44 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 单播帧依据MAC地址表进行转发/过滤 主机C: 00-D0-F8-00-33-33 主机D: 00-D0-F8-00-44-44
转发/过滤 MAC地址表 E0: 00-D0-F8-00-11-11 E0: 00-D0-F8-00-55-55 E1:00-D0-F8-00-22-22 E2: 00-D0-F8-00-33-33 E3: 00-D0-F8-00-44-44 主机A: 00-D0-F8-00-11-11 E0 E1 主机B: 00-D0-F8-00-22-22 E2 E3 主机E: 00-D0-F8-00-55-55 如果一个端口上连接多台主机,依然能够进行过滤 主机D: 00-D0-F8-00-44-44 主机C: 00-D0-F8-00-33-33
帧转发方式 • 直通转发:交换机收到帧头(通常只检查14个字节)后立刻察看目的MAC地址并进行转发
帧转发方式 • 存储转发:接收完整的帧,执行完校验后,转发正确的帧而丢弃错误的帧
64B 帧转发方式 • 无碎片直通转发:交换机读取前64个字节后开始转发
以太网络交换基本原理 虚拟网络技术 生成树协议 以太网端口聚合 Contents
为什么需要分割广播域? • 交换网络是平面网络结构,必须依赖广播 • 广播域过大会导致: • 带宽浪费 • 安全性降低 • 不易管理 • 分割广播域的方法 • 使用路由器连接多个子网 • 使用虚拟局域网VLAN
交换机 广播帧 广播帧 VLAN 20 VLAN 10 VLAN的概念 • 虚拟局域网(Virtual Local Area Network,VLAN) • 位于一个或多个局域网的设备经过配置能够像连接到同一个信道那样进行通信,而实际上它们分布在不同的局域网段中
VLAN的概念 • VLAN的特点: • 基于逻辑的分组 • 不受物理位置限制 • 在同一VLAN内和真实局域网相同 • 不同VLAN内用户要通信需要借助三层设备
VLAN的用途 • 控制不必要的广播报文的扩散 • 提高网络带宽利用率,减少资源浪费 • 划分不同的用户组,对组之间的访问进行限制 • 增加安全性
与物理位置无关的VLAN 三层 二层 一层 工程部 销售部 财务部
VLAN的优点 • 限制广播包 • 安全性 • 虚拟工作组 • 减少移动和改变的代价
VLAN的定义方法 • 基于端口的VLAN • 根据以太网交换机的端口来划分 • 基于MAC地址的VLAN • 根据每个主机网卡的MAC地址来划分 • 基于网络层的VLAN • 根据每个主机的网络层地址或协议类型(如果支持多协议)划分的 • 基于IP组播的VLAN • 一个组播组就是一个VLAN
基于端口的VLAN • 目前最常用的划分VLAN的方法 VLAN 20 2 4 6 8 10 12 14 16 18 20 22 24 1 3 5 7 9 11 13 15 17 19 21 23 VLAN 10
VLAN的标准 • 不同交换机上的相同VLAN之间如何连接? VLAN 10 VLAN 20 VLAN 30 VLAN 10 VLAN 20 VLAN 30
802.1Q • 定义了基于端口的VLAN模型 • 规定如何标识带有 VLAN 成员信息的以太帧 • 定义VLAN标签的格式 VLAN 10 VLAN 20 VLAN 30 VLAN 10 VLAN 20 VLAN 30
交换机的端口 • ACCESS端口 • UnTagged端口,即接入端口 • Access端口只能属于一个VLAN,它发送的帧不带有VLAN标签,一般用于连接计算机的端口 • Trunk端口 • Tag Aware端口,即干道接口 • 可以允许多个VLAN通过,它发出的帧一般是带有VLAN标签的,一般用于交换机之间连接的端口
802.1Q的缺省VLAN • 一个802.1Q的Trunk端口有一个缺省VLAN的ID值 • 802.1Q不为缺省VLAN的帧打标签 VLAN 3 VLAN 3 集线器 Trunk Trunk VLAN 2 VLAN 2 VLAN 1 VLAN 1 没有打标签的VLAN流量(缺省VLAN)
VLAN的配置 • 添加或者修改VLAN • 删除VLAN Switch(config)# vlanvlan-id Switch(config-vlan)# namevlan-name Switch(config)# no vlanvlan-id
VLAN的配置 • 查看VLAN Switch#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1 ,Fa0/2 ,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 ,Fa0/16,Fa0/17,Fa0/18 Fa0/19,Fa0/20,Fa0/21 ,Fa0/22,Fa0/23,Fa0/24 10 gongcheng active 20 xiaoshou active 30 caiwu active
向VLAN内添加端口 • 将端口分配给一个VLAN Switch(config)# interfaceinterface-id Switch(config)# interface range {port-range} Switch(config-if)# switchport mode access Switch(config-if)# switchport accessvlanvlan-id
配置VLAN Trunk • 将端口设置成Trunk端口 • 指定Trunk端口的缺省VLAN • 默认的缺省VLAN是VLAN 1 • Trunk链路两端必须一致 Switch(config)# interfaceinterface-id Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk native vlanvlan-id
配置VLAN Trunk举例 Trunk F0/1 F0/1 Switch(config)#interface fastEthernet 0/1 Switch(config-if)#switchport mode trunk Switch(config-if)#end
配置VLAN Trunk举例 Switch#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1 ,Fa0/2 ,Fa0/3 , Fa0/4 ,Fa0/6 ,Fa0/9 Fa0/16,Fa0/17,Fa0/18 , Fa0/19,Fa0/20,Fa0/21 Fa0/22,Fa0/23,Fa0/24 10 gongcheng active Fa0/1 ,Fa0/5 ,Fa0/7 20 xiaoshou active Fa0/1 ,Fa0/8 ,Fa0/10 ,Fa0/11,Fa0/12,Fa0/13 Fa0/14,Fa0/15
配置VLAN Trunk举例 Switch#show interfaces fastEthernet 0/1 switchport Interface Switchport Mode Access Native Protected VLAN lists ---------- ---------- --------- ------- -------- --------- -------------------- Fa0/1 Enabled Trunk 1 1 Disabled All Switch#show interfaces fastEthernet 0/1 trunk Interface Mode Native VLAN VLAN lists -------------------- ------ ----------- -------------------- Fa0/1 On 1 All
定义Trunk端口的许可VLAN列表 all:许可列表包含所有支持的VLAN add:将指定VLAN列表加入许可VLAN列表。 remove:将指定VLAN列表从许可VLAN列表中删除。 except:将除列出的VLAN列表外的所有VLAN加入许可VLAN列表 Switch(config-if)# switchport trunk allowed vlan { all | [add| remove | except]} vlan-list
利用路由器实现VLAN间的通信 • 单臂路由:使用IEEE 802.1Q来启动一个路由器上的子接口成为干道模式 ,实现VLAN之间的通信 F0/0 802.1Q Trunk FastEthernet 0/0 FastEthernet 0/0.1 FastEthernet 0/0.3 FastEthernet 0/0.2 VLAN 10 VLAN 20 VLAN 30
单臂路由的配置 Router(config)# Interfaceinterface-id Router(config-if)#no ip address Router(config-if)#exit Router(config)#interface fastethernetslot-number/interface-number.subinterface-number Ruijie(config-subif)#encapsulation dot1QVlanID Router(config-subif)#ip addressip-address mask