4.端口模式与端口聚合
端口模式
端口的自协商与强制
自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。
自动协商的内容主要包括双工模式、运行速率、流控等内容,一旦协商通过,链路两端的设备就锁定在这样一种运行模式下。
自协商功能允许一个网络设备能够将自己所支持的工作模式信息传达给网络上的对端,并接受对方可能传递过来的相应信息,从而解决双工和速率协商问题。
自协商功能完全由物理层芯片设计实现,因此并不使用专用数据包或带来任何高层协议开销。
自协商的基本机制
每个网络设备在上电、管理命令发出、或是用户干预时发出FLP(快速连接脉冲),协商信息封装在这些FLP序列中。
FLT中包含有时钟/数字序列,将这些数据从中提取出来就可以得到对端设备支持的工作模式,以及一些用于协商握手机制的其他信息。
当一个设备不能对FLP作出有效反应,而仅返回一个NLP(普通连接脉冲)时,它被作为一个10BASE-T兼容设备。快速链路脉冲FLP和普通链路脉冲NLP都仅使用于非屏蔽双绞线上,而不能应用在光纤媒体。
电口和光口自协商主要区别是在OSI 中它们所处的位置不同。对于电口来说,协商发生在链路信号传输之前;对于光口来说, 自协商机制与PCS在同一层, 这意味着光口的协商必须先建立链路同步以后才可以进行协商。
千兆光口:千兆光口可以工作在强制和自协商两种模式。802.3规范中千兆光口只支持1000M速率,支持全双工(Full)和半双工(Half)两种双工模式。
工作模式
自协商和强制最根本的区别就是两者在建立物理链路时发送的码流不同,自协商模式发送的是/C/码,也就是配置(Configuration)码流,而强制模式发送的是/I/码,也就是idle码流。
1.以太网口的两端工作模式均设置为强制模式(10M半双工、10M全双工、100M半双工、100M全双工、自协商)
双方互相发送/I/码流,一端接收到/I/码流后,认为对端是与自己相匹配的端口,直接设置本端端口为UP状态。
4.对于两端工作模式都是自协商,最后协商成的结果是“两端都支持的工作模式中优先级最高的那一类”。
双方互相发送/C/码流,如果连续接收到3个相同的/C/码且接收到的码流和本端工作方式相匹配,则返回给对方一个带有Ack应答的/C/码,对端接收到Ack信息后,认为两者可以互通,设置端口为UP状态
2.如果一端是强制(无论是10M、100M),另外一端是自协商模式,
自协商端发送/C/码流,强制端发送/I/码流,强制端无法给对端提供本端的协商信息,也无法给对端返回Ack应答,故自协商端DOWN。但是强制端本身可以识别/C/码,认为对端是与自己相匹配的端口,所以直接设置本端端口为UP状态
即便能够协商成功,自协商的那一端也将只能工作在半双工模式。
会自动降速率,但不会自动升速率
- 如果A端自协商,B端设置为100M全双工,A协商为100M半双工后,再强制将B改为10M全双工,A端也会马上向下协商到10M半双工;
- 如果A端自协商,B端设置为10M全双工,A协商为10M半双工后,再强制将B改为100M全双工,会出现协商不成功,连接不上!这个时候,如果插拔一下网线,又会重新协商在100M半双工。
3.如果一端工作在全双工模式,另外一端工作在半双工模式(包括自协商出来的半双工,也一样处理),Ping是没有问题的,流量小的时候也没有任何问题,流量达到约15%以上时,就会出现冲突、错包,最终影响了工作性能!
建议
以太网口的两端工作模式必须设置一致。否则,就会出现流量一大速度变慢的问题。大多数设备以太网口的默认的出厂设置是自协商。如果两端都是自协商,协商成功了,但网络不通,此时请检查网线是否支持100M。如果两端都是自协商,协商成功并且运行在全双工,在没有Link Down的前提下,将其中一端“立刻”设置为固定的“10M/100M全双工”,两端仍然能够工作在全双工。但是,万一将来插拔网线或者其他原因出现重新Link,就会重新协商为“一端全双工&一端半双工”的不稳定连接。因此,这种情况一定要避免!
端口模式配置
<SWA>system-view
Enter system view,return user view with ctrl+Z.
[SWA]interface GigabitEthernet 0/0/1
[SWA-GigabitEthernet0/0/1]undo negotiation auto
[SWA-GigabitEthernet0/0/1]speed 100
[SWA-GigabitEthernet0/0/1]duplex full
[SWA]display interface GigabitEthernet 0/0/1
GigabitEthernet0/0/1 current state : UP
Line protocol current state : UP
......
Speed : 100, Loopback : NONE
Duplex:FULL, Negotiation:DISABLE
链路聚合/eth-channel
端口聚合分为手工模式和LACP模式
二层链路聚合
没有配置链路捆绑之前
<Huawei> dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/1 ROOT FORWARDING NONE
0 GigabitEthernet0/0/2 ALTE DISCARDING NONE
0 GigabitEthernet0/0/3 ALTE DISCARDING NONE
0 GigabitEthernet0/0/4 DEST FORWARDING NONE
<Huawei>
配置端口聚合
int eth-trunk 1 #创建逻辑捆绑接口组1
int gi 0/0/1 #将接口加入接口组1
eth-trunk 1
int gi 0/0/2
eth-trunk 1
端口聚合之后
<Huawei> dis stp brief
MSTID Port Role STP State Protection
0 GigabitEthernet0/0/4 DEST FORWARDING NONE
0 Eth-Trunk1 ROOT FORWARDING NONE
<Huawei>
查看trunk组状态
[sw1]dis eth-trunk 1
Eth-Trunkl's state information is:
WorkingMode:NORMAL Hash arithmetic:According to SIP-XOR-DIP
Least Active-linknumber:1 Max Bandwidth-affected-linknumber:8
Operate status:up Number of Up Port In Trunk:2
--------------------------------------------------------
PortName Status Weight
GigabitEthernet0/0/1 UP 1
GigabitEthernet0/0/2 UP 1
GigabitEthernet0/0/3 Down 1
三层链路聚合
interfaace eth-trunk 1 #创建eth-trunk 1
undo portswitch #修改端口属性为三层接口(默认为二层接口)
ip address 10.1.1.1 24
port link-type trunk #设置端口模式为trunk
port trunk allow-pass vlan x #设置trunk模式下,允许通过的vlan
mode manual load-balance #设置聚合方式为手工聚合(默认为手工聚合)
mode lacp-static #设置聚合方式为静态LACP聚合
inter gi 0/0/1 #端口加入trunk组中
eth-trunk 1
dis inter eth-trunk 1 #查看聚合接口
端口安全
端口安全、端口隔离和端口镜像是通常在交换机上进行配置的功能,因为交换机在网络中起着连接和转发数据的重要作用,用于增强网络的安全性、隔离性和监控性。这些功能可以帮助网络管理员控制网络流量、保护网络免受攻击,以及实时监控网络流量。
然而,一些高级路由器和防火墙设备也可能具有类似的功能,以提供更全面的网络安全和管理选项。
端口安全
端口安全用于限制特定交换机端口上所允许的MAC地址数量。这可以防止未授权设备连接到网络,避免ARP欺骗等攻击。
当某个端口上的MAC地址数量超过预先配置的限制时,端口安全可以采取不同的操作,如关闭端口、发送警告等。
sw:
int gi0/0/1
port-security enable #开启端口安全,该接口就只允许一个mac地址通信
port-security mac-address sticky #开启mac地址自动粘贴,第一个用户的mac地址会自动被粘贴到该接口
port-security protect-action shutdown #将动作改为shutdown (可选)
端口镜像(模拟器不支持)
端口镜像用于将一个或多个端口的数据流镜像到另一个端口或监控设备,以便进行流量分析、网络故障排除等工作。
这可以帮助网络管理员实时监控网络中的数据流量,识别异常活动、排查故障等。
作用:① 用来方便管理员维护查看网络流量
② 用来配合IDS、堡垒机等安全设备使用
observe-port 1 interface GigabitEthernet 0/0/2 #将gi 0/0/2 口配置为观察接口
int gi 0/0/1
port-mirroring to observe-port 1 both #将从gi 0/0/1口进去和出来的流量复制一份发给观察组1
注:1 为观察组
端口隔离(模拟器不支持)
端口隔离允许将同一VLAN内的不同端口隔离,使它们之间无法直接通信。这可以增加网络的隔离性,防止不同设备之间的不必要通信。
端口隔离通常用于公共网络环境,如酒店、机场等地方,以确保连接到同一VLAN的不同用户设备之间无法相互访问。
注:同一台交换机相同隔离组的端口不能互访
int gi 0/0/4
port-isolate enable #将4口设置为隔离端口,并加入隔离组1 (默认都会加入隔离组1)
int gi 0/0/1
port-isolate enable
port-isolate enable group XXX #加入指定隔离组
查看隔离组成员信息
[ ]dis port-isolate group all