以太网/LAN(local area network )的相关概念:
问题: 信号传输距离有限; 解决方案: 中继器 - 放大电信号,延长信息的传输距离; 中继器带来的问题: 只有2个端口,连接设备少; 解决方案: 集线器 - 多端口的中继器,可以连接多个设备; 集线器的问题: 不同终端设备发送的信号,会产生冲突; 针对信号冲突的缓解方案: CSMA/CD ,带有冲突检测的,载波侦听多路访问机制; 引入新的设备 : 网桥(bridge) - 隔离冲突域; 问题: 网桥设备端口较少,只能连接2个设备; 解决方案: 引入新的设备 : 交换机 - 多端口的网桥,可以实现 冲突域的隔离; ----------------------------------------------------------- 交换机的工作原理: 1、首先查看数据包的“目标 MAC 地址”; 2、将目标 MAC 地址与“MAC地址表”中的条目进行匹配; 成功,则从对应的端口转发出去; 失败,则广播(从除入端口以外的其他所有端口发出去); 1、MAC地址啥样子? 长度为48bit; 通过16进制表示; 结构: 厂商代码 - 24bit 自己的编码 - 24bit (每个生产厂商给自己生产的网卡的编号) 数据包结构: 源MAC -- 目标MAC 源IP -- 目标IP 2、MAC地址表啥样子? 每个条目都是 MAC 地址与 Port的对应关系, 表示去往该 MAC 地址的数据,从对应的 Port 发送出去; MAC表如何形成: 静态配置; 动态学习 - 1、当交换机在端口上收到数据包以后,首先查看 源MAC地址,从而形成 源MAC 与 入端口的对应关系 2、分析数据包的 目标MAC地址,并且查找 MAC地址表 -能找到对应的MAC条目,则在对应端口转发; -如果找不到对应的条目,则广播; 3、两者如何匹配? 1、显示 MAC 地址表 SW1# show mac-address-table 4、MAC表的动态条目存活时间: 300秒; 交换机的工作原理: 1、成表(查看源MAC) 2、查表(查看目标MAC) ------------------------------------------------------- LAN存在的问题 : 一个LAN属于一个广播域,其中的网络设备-交换机, 实现终端设备互联的同时,能够隔离冲突域,但是不能 隔离广播域。 解决方案: VLAN - 虚拟局域网 , virtual lan ; 交换机上通过 VLAN 技术,实现广播域的隔离。 与LAN相同点: 1、同一个VLAN中的设备,都是属于同一个网段的; 2、任何一个 VLAN ,都是属于一个广播域; 如何配置 VLAN ? -思路 创建VLAN、分配端口、验证配置、连通测试; 1、创建 VLAN SW1(config)#vlan 14 //创建 VLAN 14 ; SW1(config-vlan)#name XMAN //为 VLAN 修改名字; SW1(config-vlan)#exit SW1(config)#vlan 23 //创建 VLAN 23 ; SW1(config-vlan)#name CaiWu //为 VLAN 修改名字; SW1(config-vlan)#exit 2、将交换机的端口放入不同的 VLAN ; SW1(config)#interface fas0/1 SW1(config-if)#no shutdown SW1(config-if)#switchport mode access //设置端口模式 SW1(config-if)#swtichport access vlan 14 //将端口放入 vlan 14 ; SW1(config)#interface fas0/4 SW1(config-if)#no shutdown SW1(config-if)#switchport mode access //设置端口模式 SW1(config-if)#swtichport access vlan 14 //将端口放入 vlan 14 ; SW1(config)#interface range fas0/2 , fas0/3 //同时进入多个端口 SW1(config-if-range)#no shutdown SW1(config-if-range)#switchport mode access //设置端口模式 SW1(config-if-range)#swtichport access vlan 23 //将端口放入 vlan 23 ; 3、验证命令: SW1# show vlan brief // 查看交换机拥有的VLAN信息; 4、测试命令: @ 为不同VLAN的主机,配置不同网段的IP地址; @ 测试 - 相同 VLAN 主机,可以互相访问; 不同 VLAN 主机,不可以互相访问; 如何删除 VLAN ? 1、首先将 VLAN 的成员端口移除; SW1(config)#interface fas0/1 SW1(config-if)#no switchport access vlan 14 SW1(config)#interface fas0/4 SW1(config-if)#no switchport access vlan 14 即将成员端口 fas0/1 和 fas0/4 从 vlan14 中删除; 此时的端口,应该是回到了默认的 vlan 1 ; 2、其次删除 VLAN id ; SW1(config)# no vlan 14 3、验证 : SW1# show vlan brief VLAN端口模式 - access/trunk/dynamic ; Trunk: 该类型链路,可以同时承载多个 VLAN 流量, 每个 VLAN 流量,都会打上相应的 vlan 标签(vlan号); 通常使用 Trunk端口 连接的是 交换机; Trunk的配置命令: SW1(config)#interface fas0/23 SW1(config-if)#switchport mode trunk Trunk的验证命令: SW1#show interface trunk //显示交换机上所有的trunk链路 Access: 该类型链路,同时只能属于 一个 VLAN ; 通常使用 access端口 连接的是 ”非交换机“ ; 注意: VLAN 中的成员端口的最终模式 : access trunk 交换机的每个端口默认都是 dynamic(动态)模式; Trunk链路发送出去的数据是带有 vlan 标签的, 这种标签,仅有交换机、路由器等网络设备才能认识; PC是无法识别的,所以”连接 PC的端口,不可以配置为 Trunk“ Access链路发送出去的数据是不带有任何标签的; Trunk 中存在一个特殊的 VLAN --native VLAN , 本地/本征 VLAN 该 vlan 中的 流量是没有标签的;默认值为 vlan 1 ; 故 当Trunk链路收到一个没有标签的数据包时,转发给本地交换机 上的 native vlan 中的成员端口,不会将其丢弃的; 注意: 交换机从来不丢包;