网络上传输时,采用网络字节序。网络字节序为大端序。举例来说,对0x1020这样一个数值,按大端传输时,先传输0x10,再传输0x20;按小端传输时,先传输0x20,再传输0x10。
内存中存储数据同样有自己的字节序。可能采用大端,也可能采用小端存储。举例来说,对0x1020这样一个数值,假设其存储在内存地址0x1000处,则按大端传输时,0x1000处存储0x10,0x1001处存储0x20;按小端存储时,0x1000处存储0x20,0x1001处存储0x10。
上述的大端,小端最小粒度是字节。
网络链路上传输一个字节的数据时,对字节内各个比特位的传输也有比特序一说。通常,以太网传出字节采用小端,令牌环采用大端。举例来说,要传输一个字节0x10,按二进制展开为0b0001 0000,则按大端传输时,依次传输比特序列0 0 0 1 0 0 0 0;按小端传输时,依次传输比特序列0 0 0 0 1 0 0 0
数据链路层 (OSI 参考模型)中多个网段互联的功能实体称为桥或网桥。通过网桥进行的数据发送则称为桥接过程。
中继器(repeater) 是一种信号增强装置,在 OSI参考模型的第1层上运行。第1层是物理 层,它的功能仅仅是将被噪声影响的信号重新输出,不再进行额外的数据控制。由于物理层只是 定义了网络的电气、机械、规程、功能等标准,因此中继器无法辨别数据链路层的 MAC地址以及网络层的IP 地址。
网桥的作用相当于OSI 模型中的数据链路层。网桥的种类如表2-1所示,目前使用的几乎都是透明网桥了。大家耳熟能详的交换集线器也可以称为多端口透明网桥。
集线器(hub) 是指集中器设备(concentrator) 。 带有中继器功能的集线器也可以称为共享式 集线器、多端口中继器、中继集线器等。在网络术语中,集线器一般是指共享式集线器,但目前市场上销售的集线器产品一般都是指交换式集线器。集线器中连接线缆RJ-45 模块接口的部分称为端口,根据集线器大小的不同,端口可以分为 4、8、12、16、24等多种类型。集线器一般可以独立配置使用,因此形态多样。有的产品可以 插到个人计算机中(电源由个人计算机提供),有的产品可以安装到机架上,还有的产品可以堆叠(stackable) 在一起工作。
在最初的以太网( IEEE 802.3)标准10BASE5中,采用了如图2-4所示的粗同轴电缆(黄色 线缆)作为传输媒介,通过在接口处插入连接着各终端的转换器,形成一个总线型的拓扑结构,在一根线缆上共享10Mbit/s的带宽。
自从使用双绞线(以太网线缆)的以太网标准10BASE-T 颁布之后,各终端与共享式集线器之间都开始使用单独的接口进行连接,这样就形成了一个星星的拓扑结构,但是同样能够形成一个与10BASE5相同的共享带宽的LAN 网段。
在共享带宽的情况下,网络的每一个终端能否发送数据将采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection)方式来决定。这个决定方式首先判断的是在通信链路上有没 有其他终端节点在发送数据,也就是通过载波侦听来明确通信链路是否正在使用。如果通信链路 空闲,则开始发送数据。如果发现通信链路正在使用,则需要继续等待,因此通信效率很低。甚 至还会出现多个网络终端节点同时发送数据从而产生冲突(collision) 的情况。整个网络中共享网络终端的数量越多,发生冲突的概率也会增加。
交换式集线器是指将连接着两台通信终端的两个端口在装置内部绑定,使其他端口的信号无法介入,从而防止发生冲突,弥补了共享式集线器的不足。 一般人们所说的交换机或L2 交换机均指拥有多个透明网桥的装置。
在共享式集线器中,从发送方接收到的数据会直接转发到所有非发送方端口,也就是单纯地通过复制电气信号来实现发送。但是交换式集线器则通过学习连接的每个网络终端的 MAC 地址,将数据仅发送到发送方所期望的目的终端上去,避免了将数据发送到无关端口,从而提高了网络利用率。如果在学习MAC 地址前遇到发送目的地不明,或者想与网段内所有终端进行通信的情况 时,交换式集线器将采用“广播”方式,像共享式集线器那样,将数据帧转发到所有非发送方端口。
交换机通过确认以太网数据帧的发送源MAC 地址,习得交换机端口号和该端口所连硬件MAC 地址的配对信息,并将该信息记录到其内部的 MAC 地址表中(图2-7)。
如果 MAC 地址表的记录项(包含端口号和MAC 地址的配对信息)一直保留,当连接端口的 设备发生变化时,就会出现实际情况和表项无法对应的情况。因此需要给 MAC 地址表的记录 项设置一个超时值,该项超时值也可以称为MAC 地址的老化时间(aging time)。在思科公司的 Catalyst 交换机中该项数值默认为5分钟,并且可以通过配置进行更改。交换机设备会根据该值对习得的 MAC 地址表中的纪录项进行老化消去(aging) 操作,被消去的纪录项会显示为 aging out。管理员还能通过使用命令行静态地对 MAC 地址表中添加表项,这时交换机的老化消去将会失效。
用户从集线器(共享式集线器)向交换机(交换式集线器)迁移,会有表2-2所示的优点。
优点 | 说明 |
---|---|
冲突域固定 | 在主机(个人计算机等)直接连接到交换机时,冲突域只会在交换机端口和主机之间形成。 |
彻底的全双工通信 | 冲突域中不存在其他主机,使主机能够同时完成发送和接收工作。 |
阻断错误数据帧 | 存储转发型(02.03节)交换机能够检查接收到的数据帧是否有错误,并及时丢弃有错误的数据帧。 |
独享带宽 | 发送和接收工作在两个交换机端口之间分别进行,使每个端口的带宽都可以有效利用。 |
交换机中使用的以太网数据帧类型如表2-4所示。
名称 | 说明 |
---|---|
单播数据帧 | 发送目的地地址为广播或多播以外的数据帧 |
广播数据帧 | 发送目的地为广播地址(FF:FF:FF:FF:FF:FF)的数据帧 |
多播数据帧 | 发送目的地为多播地址的数据帧。具有代表性的多播地址为01-00-5E-xx-xx-xx(其中x为任意数字) |
不完全帧 | 包含首部信息、长度为63字节以下的数据帧。交换机将这类数据帧识别为由于冲突等原因而形成的坏帧 |
小巨人帧 | 比通常MTU规定的1518字节稍大的数据帧,在IEEE802.11Q的TRUNK中是指1522字节的数据帧 |
巨型帧 | 比通常MTU规定的1518字节大很多的数据帧 |
交换机从接收以太网数据帧到发送新的以太网数据帧,这之间会有三种处理方法,即直通转发、碎片隔离和存储转发。
直通转发
在直通转发交换技术中,交换设备只需读取数据帧最初的14个字节(图2-9)即可将数据帧 发送至目的地。由于读取的数据量固定,通信的发送方与接收方不得不采 用一致的速度来完成数据帧的发送与接收。
碎片隔离
首先会读取数据帧的前64个字节,这 就防止了冲突时转发残帧(runt, 也叫做冲突碎片,指因为发生碰撞而出现的小于63字节的废弃帧)的情况。
与直通转发一样,碎片隔离采用先进先出的方式处理数据帧,通信速率不同的以太网网段之间无法进行桥接,目前也几乎不再使用。
转发前读取的字节数 | 通信时延 | 丢弃错误数据帧 | |
---|---|---|---|
直通转发 | 14字节 | 最短 | 无 |
碎片隔离 | 64字节 | 短 | 只丢弃残帧 |
存储转发 | 全部 | 最长 | 全部 |
根据用户的设置,当残帧和CRC 错误帧的数量超过一定阈值时,能够自动变更为其他传输数方式的方式,叫做自适应交换或自适应直通转发。使用该方式时,通常采用直通转发传输数据帧。随着错误数不断累加,设备将自动切换为存 储转发传输数据帧。传输方式改变,错误帧的数量也减少后,则再度切换回直通转发方式。自适应变换这些动作的目的是将传输的错误帧数量以及通信时延降到最低。
网络通信方式的种类如表2-6所示。
通信的种类 | 说明 |
---|---|
单工通信 | 类似于电视、广播中电磁波信号的传输, 一般为固定发送方(电视台、广播站)与固定接收方(接收天线)之间的通信方式,也称为单向通信 |
双工通信 | 通信的过程中没有明确的发送方与接收方,双方能够互换角色的通信方式 |
半双工通信 | 类似于无线对讲机的通信方式,通信的一方在说话时(信号发送时),另一方不能说话 |
全双工通信 | 类似于电话的通信方式,通信的一方正在说话,另一方也可以说话 |
早期的以太网(10BASE5以及10BASE2) 采用1根同轴电缆连接通信双方,使用CSMA/CD 的技术进行半双工通信,但有时会发生冲突。在10BASE-T 标准中,使用了UTP 中不同的绞线对来发送与接收,这使得进行全双工通信变为可能。
个人计算机和路由器的接口称为MDI,交换机和集线器上的接口则称为MDI-X(交叉媒介相关接口)。 MDI 与MDI-X 接口连接时,需要使用直通线缆。MDI 之间相互连接或 MDI-X 之间相互连接时则需要使用交叉线缆。目前使用的交换机或集线器均带有自动识别MDI 与MDI-X,并切换不同电气信号的功能, 该功能称为Auto-MDIX(自适应网线类型)功能。多数个人计算机的网络接口也搭载了Auto-MDIX 功能。这就使得在通信的两台计算机之 间,只需一方搭载该功能或两方的网络接口均搭载该功能,即可任意使用直连线缆或交叉线缆进行连接。
交换机容量单位为bit/s (比特每秒),该值越大,表明交换机在单位时间内所传输的数据越多。当整个交换结构 (switching fabric) 中所有端口的总带宽小于该交换结构的容量时,整个交换结构表现为非阻塞(non-blocking) 形式,即带宽十分充裕,没有等待处理的情况。反之,当所有端口总带宽超过该交换结构容量时,则称为该交换结构过载。在交换机只有快速以太网端口时,如果处理能力达到端口数×2×100Mbit/s 的数值,就可以称之为非阻塞交换结构。其中“×2”表示上行与下行均为采用100Mbit/s 的全双工通信。以 一台有8个端口的快速以太网交换机为例,如果其背板容量达到8×2×100=1600Mbit/s, 即达到1.6Gbit/s就可将其视为非阻塞。同样,对于千兆以太网端口而言,只要处理能力达到端口数×2×1Gbit/s 的数值,即可将其视为非阻塞。交换机的处理能力和在整个交换机系统内部、各个回路处理数据的传输总线速度有着密切关系(图2-13)。
交换机按功能可以分为L2 交换机和L3 交换机两大类。
种类 | 说明 |
---|---|
智能交换机 | 拥有VLAN、QoS、认证等功能的交换机 |
Web智能交换机 | 带有Web管理界面、能够通过Web浏览器进行访问并设置管理的智能交换机 |
智慧型交换机 | 具有SNMP引擎功能,能够远程管理的交换机。没有这个功能的交换机则称为非智慧型交换机 |
根据思科公司倡导的3层模型,交换机还可以根据其在网络中所处的位置和用途分类,具体如表2-10所示。这里的三层模型是从使用思科公司网络产品进行布网的角度进行的网络分类,分为接入层、分布层和核心层。
名称 | 说明 |
---|---|
核心交换机 | 通过管理作为骨干网络的汇聚层交换机来完成高速交换任务的交换机。当企业网络分布在多个楼宇中时,通过汇聚交换机将接入交换机以楼层为单位集中,最终通过楼宇间的核心交换机完成高速交换。核心交换机可使用L2交换机,也可以使用L3交换机 |
汇聚交换机 | 汇聚接入交换机的交换机,也可以称为分布交换机。使用L3交换机完成VLAN之间的交换。有时也可以省去该层,仅使用核心层和接入层构建网络 |
接入交换机(接入层)、边缘交换机 | 直接连接用户的个人计算机、IP电话机等终端的交换机。 一般配置在企业的各个楼层中,也称为楼层交换机。使用PoE和QoS技术。VLAN在接入个人计算机的下行端口中进行 分割,成为通往汇聚交换机和核心交换机传输链路的干线(trunk) |
接入交换机、汇聚交换机需要汇聚下行连接的所有主机流量,并将这些流量传输到上行的核心交换机或网关之中,而在这个网络拓扑中用于向核心交换机、网关传输流量的链路端口就叫做上行链路端口(反方向则叫做下行链路端口)。上行链路端口原本用于集线器的级联。在箱式 交换机中一般会配备2~4个千兆以太网或万兆以太网的上行链路端口。比如, 一台拥有24个下 行链路端口的快速以太网交换机,上行速率必须达到2.4Gbit/s 才能进行非阻塞(即不发生等待延 迟)的下行至上行的通信。这样一来,交换机就需要配备3个以上千兆以太网端口或1个以上的 万兆以太网端口才能达到预期的通信效果。但由于带有非阻塞功能的交换机硬件费用很高,从降低成本角度考虑,实际中也会使用仅有两个千兆以太网端口的交换机型号。
下行链路所使用的端口几乎都是铜口,也就是 RJ-45 标准的以太网接口。在核心交换机或服务供应商的网络交换机中也有使用光纤接口作为下行链路的端口,但是一般这类交换机均采用机框式交换机(图2-20)。
在规格说明书中记载的 “MAC 地址数”是指1台交换机能够学习到的MAC 地址表的实 体总数。 一般来说,小型交换机的数目在1000至10000之间,而 Catalyst 6500 中的 Supervisor Engine 720能够达到96000个实体数。
在普通的以太网交换中,MTU(Maximum Transmit Unit, 最大传输单元)尺寸为1500个字 节。但某些通过VLAN 封装后的以太网帧格式会增大到1600个字节,此时将这类数据帧称为小 巨人帧(baby giant)。有时为了提高传输效率,以太网帧格式的有效载荷会变得更大,这时将这类帧称为巨型帧(jumbo frame)。Cisco Catalyst 产品最大可以支持9216个字节的巨型帧,并且可以通过设置调整交换机支持的巨型帧尺寸上限。
我们将这种1个以太网数据帧在两台交换机中永远相互转发的状态称为桥接环,这是一种由 于两台交换机均不知道对方存在而造成的现象。当大量的广播数据帧在桥接环内持续流通,会使整个链路的带宽被大量广播数据帧占用(广播风暴),普通的单播数据帧则无法在网络中传输。
生成树:
为了避免桥接环问题,我们可以使用生成树协议, 使交换机之间相互知道对方的存在,具体的做法就是在交换机之间交换 BPDU(网桥协议数据单元)数据帧(图2-25)。由实现生成树协议的交换机所构成的,可能会发生桥接环的网络结构称为STP 拓扑。
STP 拓扑内的交换机一般分为根网桥和非根网桥。(表2-13、图2-26)
名称 | 描述 |
---|---|
根网桥 | 作为生成树基准点的交换机。 一般选择Bridge ID(BID)最低的交换机。BID由优先级值和MAC地址构成。当优先级值相同时,选择MAC地址值最小的交换机充当根网桥。根网桥每间隔2秒(也称为Hello时间)发送一次BPDU数据帧 |
非根网桥 | 参与生成树的交换机中,除了根网桥以外的装置 |
根网桥作为发送源,每个 Hello时间将自身的MAC 地址和01:80:C2:00:00:00的多播目的 MA C 地址通过BPDU 数据帧发送到STP 拓扑内的所有交换机中。若在10个Hello 时间内,也就是20秒内没有收到 BPDU 数据帧,网络则会判断 STP拓扑内发生了故障,将重新计算生成树信息。Hello 时间初始值为2秒,但也可以将该值设置在1~10秒之间。生成树中的端口类型如表2-14所示,每个种类的端口类型通过如图2-27所示的过程来选择。
端口类型 | 描述 |
---|---|
根端口(RP) | 在交换机所有的端口中距离根网桥最近的端口。和根网桥的距离不是通过跳数(hop)来判断,而是通过通信成本来决定的。 一台非根网桥只能有一个根端口 |
指派端口(DP) | 每个网段(冲突域)指派一个端口,是离根网桥最近的网段上的端口。根网桥交换机上的所有端口均是指派端口 |
非指派端口(NDP) | 阻塞数据帧的端口,也称为阻塞端口 |
在生成树中,交换机各个端口状态的迁移过程如表2-16所示。在默认设置下,端口状态迁移至转发(forwarding)状态(收敛)一共需要50秒。也就是说在交换机启动后,或者因为故障等原因导致网络拓扑变化需要重新计算生成树时,将会有50秒的时间无法进行数据通信工作。
状态 | 说明 | 发送数据帧 | 是否学习mac地址 | 默认时间 | |
---|---|---|---|---|---|
1 | 阻塞状态 | 交换机的各个端口默认进入20秒的阻塞状态,在该期间只能接收BPDU数据帧,不能发送和接收其他数据帧。在开启电源后的一段时间里所有端口以及任何时刻的非指派端口都是这个状态 | 不发送 | 不学习 | 20秒(该时间段也称为max age,范围是6~40秒) |
2 | 侦听状态 | 能够发送或接收BPDU数据帧,但不能发送接收其他数据帧的状态。是根端口和指派端口向转发状态迁移的中间状态 | 不发送 | 不学习 | 15秒(该时间也称为 forward delay,范围是 4 ~ 3 0 秒 |
3 | 学习状态 | 能够发送或接收BPDU数据帧、接收其他数据帧的状态。从接收到的其他数据帧中学习MAC地址信息。也是根端口和指派端口向转发状态迁移的中间状态 | 不发送 | 学习 | 15秒(forward delay) |
4 | 转发状态 | 可以发送或接收(传输)其他数据帧 | 发送 | 学习 | |
0 | 禁用状态 | 生成树功能无效时的端口状态 | (发送) | (学习) |
发生故障后50秒内通信停止会导致几乎所有的用户应用程序超时,还可能带来其他各种通信方面的影响,因此更加高速的生成树收敛技术被开发出来。
RSTP:
在RSTP 中,端口状态的收敛只需1秒。RSTP 中的端口类型与 STP 定义的稍有不同, STP 中的非指派端口在RSTP 中被分为了替换
端口和备用端口(表2-18)。
端口类型 | 说明 |
---|---|
根端口(RP) | 交换机中离根网桥最近的端口 |
指派端口(DP) | 离根网桥最近的网段上的端口 |
替换端口(AP) | 除了根端口以外连接根网桥成本最低的端口,用于提供连接根网桥的备用路径,一般处于阻塞状态 |
备份端口(BP) | 指派端口所连接的网段中同时连有另一个端口,那么这个端口就可以作为指派端口的备份, 一般也处于阻塞状态 |
在 STP 协议中,根网桥生成 BPDU 数据帧,其他网桥(交换机端口)通过转发BPDU 数据 帧来进行状态迁移、完成收敛。而在RSTP 协议中,所有的网桥均会生成BPDU 数据帧,并同相邻的交换机进行握手(Handshake) 。 双方交换机通过握手,从交换的提议(Proposal)BPDU数据帧中获取对方的 BPDU 优先级信息并进行比较,选出根网桥和根端口后由根端口发送同意(Agreement)BPDU 数据帧,至此交换机间的握手才算完成。随 后 ,BPDU 数据帧会以Hello 时间(默认是2秒)为间隔连续发送,当对方在3个时间间 隔内没有发送 BPDU 数据帧时,网络会判断该链路已经失效。所以在RSTP 协议中,只需要6秒即可检测出链路发生故障。另外, RSTP 可以向下兼容 STP, 因此使用RSTP 的交换机与使用 STP 的交换机能够在同一个 STP 网路拓扑中共存。但这时, RSTP 无法进行高速收敛。
使用链路聚合(LinkAggregation) 的方法能够将多条交换机物理线路(端口)汇聚成单条逻辑线路(聚合链路)在网络中使用。物理接口的聚合有多种称呼:端口聚集(port trunking)、链路捆绑(link bundling)、绑定(bonding) 、组队(teaming) 等等。
例如,两台交换机各有3个千兆以太网端口,将每台交换机的端口聚合成1条逻辑线路 (GEC), 交换机之间便可进行最大3Gbit/s 速率的连接。这时,即使3条物理线路断开了任意一条,由于逻辑线路还有两条在维持,因此通信也不会中断,达到了线路冗余的效果。在交换机具体实现后,参考以太网数据帧中的 MAC 地址或数据帧有效载荷中IP 首部内的IP 地址信息,还可以选择使用哪根具体的物理链路来传输数据帧。
将广播域分割成一个个逻辑网段的功能称为VLAN(Virtual LAN 的简称)。关于VLAN 的信息请参考第4章。
将某个端口收发到的以太网数据帧复制到镜像端口(MirroringPort) 上进行发送的功能叫做端口镜像 (Port Mirroring)(图2-29),被复制的源端口称为监控端口(Monitor Port)。为了分析网络故障或检测网络中的通信流量信息,交换机会将收到的数据帧复制一份并转发到 LAN 分析器(也称为嗅探器、分组分析器、网络分析器)或流量监控设施中。
如果使用的是中继器,在某个端口接收到数据帧时,需要将该数据帧复制并转发到其他所有 端口。而交换机则会根据数据帧发送源的 MAC 地址,完成 MAC 地址表(转发表)的记录,通 过学习MAC 地址将数据帧只发送到目的地MAC 地址所对应的端口中去。这时,如果需要侦测发送到其他端口的通信数据,就需要使用端口镜像这一功能了。
QoS 是 Quality of Service 的缩写,也称为服务质量。这是一个为了保障高稳定和低延迟的网 络通信速率,当数据通过网络硬件时,根据其通信种类控制通信优先级和带宽的功能。 一般而 言,将主干通信业务、声音、影像等数据的通信定义为优先级较高以便它们能得到优先处理,同时将这类业务通信的时延、抖动等降至最低。
除了交换机在L2 上进行的QoS 控制以外,还有路由器以及L3 交换机进行的L3(IP)的QoS 控制以及TCP 进行的L4 的 QoS 控制。
通过3bit 的优先级控制信息,可以定义从0到7的8个优先级(即CoS 值, Class of Service值,服务等级值),交换机会优先发送该值较大的数据帧。
为了网络安全,只让网络完成满足指定条件的通信过程的功能称为通信过滤功能。
有的 L2 交换机可以提供基于以太网数据帧的首部信息进行通信过滤的功能。具体而言,就 是事先设置一定的过滤条件,如目的地 MAC 地址、发送源 MAC 地址、类型域信息等,在通信时只让满足条件的数据帧通过,阻挡其他不满足条件的数据帧。
由于不同的个人计算机会带有不同的MAC 地址,所以公司网络还可以通过MAC 过滤功能, 只允许在公司管理范围内的计算机访问公司的LAN (图2-31)。另外,考虑到可能还会有伪造 MAC 地址的情况发生,所以需要将MAC 地址过滤和更为严格的LAN 接入控制认证协议IEEE 802.1X(参考02.08.09)一同使用。
L3 交换机或路由器带有可以根据IP 首部信息完成IP 通信过滤的功能,不过有些 L2 交换机也同样带有 IP 过滤的功能。MAC 地址过滤也是在无线 LAN 的接入点中经常使用的功能。
在支持基于端口认证的交换机中,通过认证的客户端才被允许使用交换机的端口。该功能 经 由IEEE802.1X 完成了标准化。IEEE802.1X 标准是于2001年以 “Port Base Network Access Control (基于端口的网络访问控制)”为名发布的标准协议,提供了对接入LAN 的客户端(个人计算机)进行认证的一系列机制。
该认证协议常用于客户端在接入无线 LAN 接入点时的认证工作。但在支持IEEE 802.1X认证的交换机上同样可以实现接入有线LAN 的认证工作。在有线LAN 中,当与交换机相连的以太网线缆连接到个人计算机时,认证过程开始启动。 根据发送方的 MAC 地址信息进行客户端识别,通过用户名、口令或证书等认证信息进行用户认 证。对于没有认证的客户端发来的数据帧,交换机只保存包含了认证所需信息的数据帧,其余全部丢弃。而对于认证失败的客户端发来的数据帧,交换机则直接丢弃不会转发到其端口上。
表2-22列举了IEEE802.1X 的3个构成要素。
要素 | 说明 |
---|---|
认证请求者 | 在客户端所属的个人计算机上安装的用于IEEE 802.1X认证的功能实体(软件)。在Windows XP/Vista/7以及MAC OSX操作系统中内置了该功能实体。与Windows中的EAP-MD5、EAP-TLS、PEAP相对应,与MAC OSX中的EAP-TLS、EAP-FAST、EAP-TTLS、LEAP、PEAP相对应 |
认证方 | 在IEEE 802.1X中对应的交换机或无线LAN访问接口。在认证请求方和认证服务器之间转播认证消息 |
认证服务器 | 对认证请求方进行认证的服务器,通常使用RADIUS服务器 |
若想进行基于端口的认证,客户端所属电脑与交换机双方都必须预先设置成支持使用IEEE 802.1X 进行认证。只有客户端支持是无法使用IEEE 802.1X的,但仍可以无条件使用所有交换机端口。相反,如果只有交换机支持,客户端则不能使用交换机的任何端口。
IEEE802.1X 认证中使用了PPP(Point to Point Protocol, 点对点协议)的扩展协议EAP (Extensible Authentication Protocol, 可扩展认证协议),通过EAPOL(Extensible Authentication Protocol Over LAN,局域网的扩展认证协议)协议封装EAP 认证消息,然后在LAN 中进行传递。认证结束之前,客户端所属的个人计算机无法进行 EAPOL以外的通信。
SNMP:
远程管理、监视和设置网络硬件可以使用 SNMP(Simple Network Management Protocol, 简单网络管理协议)协议。使用SNMP 协议能够从远处对整个网络组织结构内安装的交换机和其他网络硬件进行集中统一的管理。被 SNMP管理的网络设施称为代理者(agent), 管理网络的设施则称为管理者(manager),能够使用 SNMP 代理和RMON功能的交换机称为智慧(Intelligent) 交换机。
SNMP 协议使用 UDP的161 端口进行数据的通信,这是由于TCP需要建立连接才能完成 通信,并不适合用于紧急数据通信的情况。而UDP无需建立连接,可以随时发送数据,符合 SNMP 的应用要求,所以 SNMP 使用了UDP 通信方式。SNMP 陷阱消息使用UDP 的162端口进行 数据的通信。SNMP陷阱消息是指像通信设备的电源坏了1个或CPU 使用率超过了90%这样的,即使管理者没有要求,代理者也会自动发送的警告消息。
SNMP 管理者与 SNMP 代理者之间使用的 SNMP 交互消息,包含了SNMP 版本、 community 名称、PDU(Protocol Data Units,协议数据单元)等信息。PDU 是 SNMP的指令数据,大致内容如表2-24所示。
PDU | 说明 |
---|---|
Get-Request | SNMP管理者为了获取(读取)数据向SNMP代理者发出的请求消息。使用UDP的161端口发送到SNMP代理者处。发送源端口取适当的值 |
Get-Response | 当SNMP代理者收到SNMP管理者的Get-Request消息后,返回给管理者的应答消息。代理者使用UDP的161端口作为发送源端口,而目的端口则是Get-Request消息中携带的发送源端口号 |
Get-Next-Request | SNMP管理者收到Get-Request消息并从中获取MIB信息后,想要得到下一项目信息时向 SNMP代理者发送的请求消息。代理者同样使用Get-Response作为该消息的应答 |
Set-Request | 想要更改通信设备的设置时,SNMP管理者会向SNMP代理者发送Set-Request消息。使用161的UDP端口号作为目的端口。代理者使用Get-Response消息应答 |
Trap | SNMP管理者从SNMP代理者自动收到的紧急消息,使用UDP的162号端 |
团体:
SNMP 协议中有一个名为团体(community) 的概念。只有携带同样团体名称的 SNMP 代理 者与 SNMP 管理者之间才能进行 SNMP 消息交互,因此团体也可以视作是二者之间进行交互的一种口令(password)。团体可以分为读取用(Read-Only, 在 Get-Request 消息中使用)、读写用(Read-Write, 在 Set-Request 消息中使用)以及 Trap 用,可以根据需要自定义团体名称。读取用团体的命名几乎都会默认使用 “public” 文字序列。团体名称可以使用明文进行通信交互,但有时不仅仅是团体名称,整个 SNMP 通信信息都可以在网络中使用明文进行通信,这一点需要注意。不过 SNMPv3 不再使用团体名称而是使用以用户为单位的口令认证。
MIB
网络硬件中会使用很多类型的配置参数来完成对设备管理,如接口和协议的设置信息等。在 SNMP 中这类信息通过MIB(Management Information Base,管理信息库)这个数据库来进行管 理。MIB 数据库采用树形结构,其中的信息来自设备制造厂商提供的相关文本文件。例如,MIB使用下述定义的结构来表示从接口处收到的通信流量字节(用八进制表示)。
OID
MIB 是所有托管对象的集合,而托管对象使用OID(Object ID, 对象标识)进行区分。MIB 采用树形构造, OID 则采用如1.3.6.1.2.1.1 这样数字与点的形式来描述。该记法按照从左到右的 顺序阅读,如iso(1) 中的org(3) 中的dod(6) 中的internet(1) 中的 mgmt(2) 中的MIB-I(1)中的 system(1)。命令行追踪式的 SNMP 应用程序通过消息类型和OID 的组合来执行相关操作。例如在SNMP管理者中输入以下命令,就能获得 SNMP 代理者返回的1.3.6.1.2.1.1 的 MIB 值。
snmp get 1.3.6.1.2.1.1.1
SNMP 管理者
有很多 SNMP管理者相关的软件产品可供使用,如 UNIX的 SNMP daemon(snmpd) 、HP 公司的 OpenView Network Node Manager、思科公司的 CiscoWorks 等。另外,在 Internet 上还有 TWSNMP 、wSnmpTrap 、SnmpCop 等供Windows 使用的免费 SNMP管理者软件。如果仅仅是用来验证,那么免费的 SNMP管理者软件就已经足够了。下载并安装 SNMP管理者软件之后,输入 SNMP 代理者的IP 地址等设置信息,并将私有 MIB 信息在 SNMP 管理者软件中进行注册。另外,也可以使用团体名将需要管理的 SNMP 代理 者信息设置在 SNMP管理者软件中。然后就可以进行各种操作了,比如从SNMP 代理者获取信息,设立通信信息采集周期、定期获取所需的统计信息等。
RMON
SNMP中还带有名为RMON(Remote network MONitoring, 远程网络监控)的扩展功能。 SNMP 代理者记录LAN 上的通信流量信息,并将其保存到MIB 数据库中。当 SNMP 管理者请求这类信息时,SNMP 代理者会在应答中返回该类信息,从而实现远程网络监控的功能。
交换机除了实现 SNMP 基本功能之外,还必须实现RMON探测(probe) 功能(有时也会将该功能独立到NetScout 这类专用设备上)。RMON 探测功能就是捕获分组,解析后收集统计信息 并将其保存到名为RMON MIB的 MIB 数据库中。SNMP 管理者通过访问RMON MIB 即可获取 相关的统计信息。虽然 SNMP 自身也能够在一定程度上获取流经网络硬件接口的字节数和分组数等信息,但使用RMON 获取的通信统计信息更为详细。RMON 和其他收集统计信息的功能,原本是用于通过监控网络接入的通信流量,检查网络 带宽是否充足、某些网段流量是否有起落异常等情况,以便日后能够进行一些增强设备性能、优化服务设置等稳定网络的调整。然而最近,用于安全方面的网络监控越来越多,在网络审计记录中会记录“谁在什么时候访 问了什么站点”这类信息。“谁”一般记录的是 MAC地址或IP 地址,但如果连接了认证服务器的话,甚至能够记录用户的ID 信息。
NetFlow、sFlow
虽然很多交换机都采用RFC 标准的RMON, 但是在进行基于MIB 的监控时,如果流量超 过100Mbit/s, 就会需要占用大量 CPU 或内存等资源,不仅无法实现内容全部监控,而且获取大 量数据会耗时过长导致数据无法实时解析。要想实时获取所需的统计信息,就需要使用NetFlow或 sFlow 技术。通过这类技术可以获得LAN 的流量内容信息,并高效管理网络性能。
NetFlow:
NetFlow 是由思科公司开发的通信流量管理技术,在Linux 和Unix 系列操作系统、Juniper 网络公司和ALAXALA 网络公司的网络硬件上也可实现。该技术对通过LAN 设备的分组进行 识别,将与“发送源IP 地址”“发送目的地IP 地址”“发送源端口”“发送目的地端口”“IP 协议 号”“输入接口”“IP 的 ToS 值”这7个参数相一致的单向传送的分组集合定义为“数据流”,并 对该数据流进行统计。随后,将统计结果发送到名为NetFlow 收集器的监控装置中,就能够以地址或协议为单位进行信息的二次统计(图2-34)。
交换机的基本架构是由带有多个RJ-45 接口、PHY 、MAC 等模块的网络接口控制器 (Network Interface Controller,简称 NIC) 和管理由各个NIC 分配的收发帧缓存、转发表的软件( 或ASIC) 组成,通过参考转发表信息,在NIC 之间进行数据帧交互。图2-37展示了交换机的基本架构。
在个人计算机和网络硬件内部,均有一种叫做网络控制器(或称为LAN控制器,缩写为 NIC) 的模块。该控制器能够将数据转换成以太网数据帧,以10/100/1000BASE-T 标准通过接口进行数据传输。网络控制器的概念图如图2-38所示,控制器有多个端口(或多个端口模块单元)。网络控制器一般由网络接口、PHY 模块、MAC 模块和总线接口构成。