数据通信网络基础

数据通信网络基础

华为设备图标

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

常见术语

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 数据载荷:可以理解为最终想要传递的信息,但实际上,在具有层次化结构的通信过程中,上一层协议传递给下一层协议的数据单元(报文)都可以称之为下一层协议的数据载荷。
  • 报文:网络中交换与传输的数据单元,具有一定的内在格式,通常都具有头部+数据载荷+尾部的基本结构。传输过程中,报文的格式和内容可能发生改变。
  • 头部:为了更好的传递信息,在组装报文时,在数据载荷的前面添加的信息段统称为报文的头部。
  • 尾部:为了更好的传递信息,在组装报文时,在数据载荷的后面添加的信息段统称为报文的尾部。注意,很多报文是没有尾部的。
  • 封装:分层协议所采用的一种技术,底层协议收到来自上层协议的消息时,将该消息附加到底层帧的数据部分。
  • 解封装:是封装的逆过程,也就是去掉报文的头部和尾部,获取数据载荷的过程。
  • 网关:是在采用不同体系结构或协议的网络之间进行互通时,用于提供协议转换、路由选择、数据交换等功能的网络设备。网关是一种根据其部署位置和功能而命名的术语,而不是一种特定的设备类型。
  • 路由器:为报文选择传递路径的网络设备。
  • 终端设备:数据通信系统的端设备,作为数据的发送者或接收者,提供用户接入协议操作所需必要功能,可以是计算机、服务器、VoIP、手机等。

网络参考模型

OSI参考模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSI 模型(Open Systems Interconnection Model),由国际化标准组织ISO (The International Organization for Standardization ) 收录在ISO 7489标准中并于1984年发布。OSI参考模型又被称为七层模型,由下至上依次为:

  • ​ 物理层:在设备之间传输比特流,规定了电平、速度和电缆针脚等物理特性。
  • ​ 数据链路层:将比特组合成字节,再将字节组合成帧,使用链路层地址(以太网使用MAC地址)来访问介质,并进行差错检测。
  • ​ 网络层:定义逻辑地址,供路由器确定路径,负责将数据从源网络传输到目的网络。
  • ​ 传输层:提供面向连接或非面向连接的数据传递以及进行重传前的差错检测。
  • ​ 会话层:负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。
  • ​ 表示层:提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。
  • ​ 应用层:OSI参考模型中最靠近用户的一层,为应用程序提供网络服务。

TCP/IP参考模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP/IP常见协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用层

  • HTTP(Hypertext Transfer Protocol,超文本传输协议):用来访问在网页服务器上的各种页面。
  • FTP(File Transfer Protocol,文件传输协议):为文件传输提供了途径,它允许数据从一台主机传送到另一台主机上。
  • DNS(Domain Name Service,域名称解析服务):用于实现从主机域名到IP地址之间的转换。

传输层

  • TCP (Transmission Control Protocol,传输控制协议) :为应用程序提供可靠的面向连接的通信服务。目前,许多流行的应用程序都使用TCP。
  • UDP(User Datagram Protocol,用户数据报协议):提供了无连接通信,且不对传送数据包进行可靠性的保证。

网络层

  • IP(Internet Protocol,互联网协议):将传输层的数据封装成数据包并完成源站点到目的站点的转发,提供无连接的、不可靠的服务。
  • IGMP(Internet Group Management Protocol,因特网组管理协议):负责IP组播成员管理的协议。它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
  • ICMP(Internet Control Message Protocol,网际报文控制协议):基于IP协议在网络中发送控制消息,提供可能发生在通信环境中的各种问题反馈。通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

数据链路层

  • PPP(Point-to-Point Protocol,点对点协议):一种点对点模式的数据链路层协议,多用于广域网。
  • Ethernet( 以太网协议 ):一种多路访问广播型数据链路层协议,是当前应用最为广泛的局域网技术。
  • PPPoE(Point-to-Point Protocol over Ethernet,以太网承载PPP协议):PPPoE提供通过简单桥接访问设备(接入设备)把一个网络的多个主机连接到远程访问集中器的功能。常见的应用有家庭宽带拨号上网。

协议标准化组织

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

传输层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP和UDP报文格式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP报文头部:

  • Source Port:源端口,标识哪个应用程序发送。长度为16比特。

  • Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。

  • Sequence Number:序号字段。TCP链接中传输的数据流每个字节都编上一个序号。序号字段的值指的是本报文段所发送数据的第一个字节的序号。长度为32比特。

  • Acknowledgment Number:确认序列号,是期望收到对方下一个报文段数据的第1个字节的序号,即上次已成功接收到的数据段的最后一个字节数据的序号加1。只有Ack标识为1,此字段有效。长度为32比特。

  • Header Length:头部长度,指出TCP报文头部长度,以32比特(4字节)为计算单位。若无选项内容,则该字段为5,即头部为20字节。Reserved:保留,必须填0。长度为6比特。

  • Control bits:控制位,包含FIN、ACK、SYN等标志位,代表不同状态下的TCP数据段。

  • Window:窗口TCP的流量控制,这个值表明当前接收端可接受的最大的数据总数(以字节为单位)。窗口最大为65535字节。长度为16比特。

  • Checksum:校验字段,是一个强制性的字段,由发端计算和存储,并由收端进行验证。在计算检验和时,要包括TCP头部和TCP数据,同时在TCP报文段的前面加上12字节的伪头部。长度为16比特。

  • Urgent:紧急指针,只有当URG标志置1时紧急指针才有效。TCP的紧急方式是发送端向另一端发送紧急数据的一种方式。紧急指针指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。长度为16比特。

  • Options:选项字段(可选),长度为0-40字节。

UDP报文头部:

  • Source Port:源端口,标识哪个应用程序发送。长度为16比特。
  • Destination Port:目的端口,标识哪个应用程序接收。长度为16比特。
  • Length:该字段指定UDP报头和数据总共占用的长度。可能的最小长度是8字节,因为UDP报头已经占用了8字节。由于这个字段的存在,UDP报文总长不可能超过65535字节(包括8字节的报头,和65527字节的数据)。
  • Checksum:覆盖UDP头部和UDP数据的校验和,长度为16比特。
TCP和UDP端口号

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP的建立 - 三次握手

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP连接建立的详细过程如下:

  • 由TCP连接发起方(图中PC1),发送第一个SYN位置1的TCP报文。初始序列号a为一个随机生成的数字,因为没收到过来自PC2的任何报文,所以确认序列号为0 ;
  • 接收方(图中PC2)接收到合法的SYN报文之后,回复一个SYN和ACK置1的TCP报文。初始序列号b为一个随机生成的数字,同时因为此报文是回复给PC1的报文,所以确认序列号为a+1;
  • PC1接收到PC2发送的SYN和ACK置位的TCP报文后,回复一个ACK置位的报文,此时序列号为a+1,确认序列号为b+1。PC2收到之后,TCP双向连接建立。
TCP的序列号与确认序列号

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

假设PC1要给PC2发送一段数据,传输过程如下:

  1. PC1将全部待TCP发送的数据按照字节为单位编上号。假设第一个字节的编号为“a+1”,第二个字节的序号为“a+2”,依次类推。
  2. PC1会把每一段数据的第一个字节的编号作为序列号(Sequence number),然后将TCP报文发送出去。
  3. PC2在收到PC1发送来的TCP报文后,需要给予确认同时请求下一段数据,如何确定下一段数据呢?序列号( a+1 )+载荷长度=下一段数据的第一个字节的序号(a+1+12)
  4. PC1在收到PC2发送的TCP报文之后,发现确认序列号为“a+1+12” ,说明“a+1”到“a+12”这一段的数据已经被接受,需要从“a+1+12”开始发送。为了提升发送效率,也可以一次性发送多段数据,由接收方统一确认。
TCP的窗口滑动机制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 在TCP三次握手建立连接时,双方都会通过Window字段告诉对方本端最大能够接受的字节数(也就是缓冲区大小)。
  2. 连接建立成功之后,发送方会根据接受方宣告的Window大小发送相应字节数的数据。
  3. 接受方接受到数据之后会放在缓冲区内,等待上层应用来取走缓冲的数据。若数据被上层取走,则相应的缓冲空间将被释放。
  4. 接收方根据自身的缓存空间大小通告当前的可以接受的数据大小( Window )。
  5. 发送方根据接收方当前的Window大小发送相应数量的数据。
TCP的关闭 - -四次挥手

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP支持全双工模式传输数据,这意味着同一时刻两个方向都可以进行数据的传输。在传输数据之前,TCP通过三次握手建立的实际上是两个方向的连接,因此在传输完毕后,两个方向的连接必须都关闭。如图所示:

  1. 由PC1发出一个FIN字段置”1 ”的不带数据的TCP段;
  2. PC2收到PC1发来的FIN置位的TCP报文后,会回复一个ACK置位的TCP报文。
  3. 若PC2也没有需要发送的数据,则直接发送FIN置位的TCP报文。假设此时PC2还有数据要发送,那么当PC2发送完这些数据之后会发送一个FIN置位的TCP报文去关闭连接。
  4. PC1收到FIN置位的TCP报文,回复ACK报文,TCP双向连接断开。

网络层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据链路层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • MAC (Media Access Control)地址在网络中唯一标识一个网卡,每个网卡都需要且会有唯一的一个MAC地址。
  • MAC用于在一个IP网段内,寻址找到具体的物理设备。工作在数据链路层的设备。例如以太网交换机,会维护一张MAC地址表,用于指导数据帧转发。
  • MAC地址由48比特(6个字节)长,12位的16进制数字组成。例如:48-A4-72-1C-8F-4F
地址解析协议(ARP)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ARP(Address Resolution Protocol,地址解析协议)是根据IP地址获取数据链路层地址的一个TCP/IP协议。

ARP是IPv4中必不可少的一种协议,它的主要功能是:

  • 将IP地址解析为MAC地址;
  • 维护IP地址与MAC地址的映射关系的缓存,即ARP表项;
  • 实现网段内重复IP地址的检测。
ARP工作原理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物理层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

双绞线:当今以太网最常见的传输介质,按照抗电磁干扰能力还可以分为:

  • STP-屏蔽双绞线
  • UTP-非屏蔽双绞线

光纤传输,按照功能部件可分为:

  • 光纤:光传输介质,简单的说,就是一根玻璃纤维,用于约束光传输的通道。
  • 光模块:将电信号与光信号互转的器件,产生光信号。

串口电缆在WAN(Wide Area Network,广域网)中大规模使用,根据WAN线路类型不同,串口电缆在设备上连接的接口类型也不同:异/同步串口、ATM接口、POS接口、CE1/PRI接口等。

无线信号的传输可以通过电磁波进行,例如:无线路由器将数据通过调制以电磁波发送出去,移动终端的无线网卡将电磁波解调,得到数据,完成从无线路由器到移动终端的数

发送放数据封装

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

假设你正在通过网页浏览器访问华为官网,当你输入完网址,敲下回车后,计算机内部会发生下列事情:

  1. IE浏览器(应用程序)调用HTTP(应用层协议),完成应用层数据的封装(图中DATA还应包括HTTP头部,此处省略) 。
  2. HTTP依靠传输层的TCP进行数据的可靠性传输,将封装好的数据传递到TCP模块。
  3. TCP模块给应用层传递下来的Data添加上相应的TCP头部信息(源端口、目的端口等)。此时的PDU被称作Segment(段)。
  4. 在IPv4网络中,TCP模块会将封装好的Segment传递给网络层的IPv4模块(若在IPv6环境,会交给IPv6模块进行处理)。
  5. IPv4模块在收到TCP模块传递来的Segment之后,完成IPv4头部的封装,此时的PDU被称为Packet(包)。
  6. 由于使用了Ethernet作为数据链路层协议,故在IPv4模块完成封装之后,会将Packet交由数据链路层的Ethernet模块(例如以太网卡)处理。
  7. Ethernet模块在收到IPv4模块传递来的Packet之后,添加上相应的Ethernet头部信息和FCS帧尾,此时的PDU被称为Frame(帧)。
  8. 在Ethernet模块封装完毕之后,会将数据传递到物理层。
  9. 根据物理介质的不同,物理层负责将数字信号转换成电信号,光信号,电磁波(无线)信号等。
  10. 转换完成的信号在网络中开始传递。

中间网络数据传输

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

接收方数据解封

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

华为VRP系统基础

VRP的发展

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

目前常用的VRP版本:

  • VRP5
  • VRP8(高端设备)

文件系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 配置文件是命令行的集合。用户将当前配置保存到配置文件中,以便设备重启后,这些配置能够继续生效。另外,通过配置文件,用户可以非常方便地查阅配置信息,也可以将配置文件上传到别的设备,来实现设备的批量配置。
  • 补丁是一种与设备系统软件兼容的软件,用于解决设备系统软件少量且急需解决的问题。在设备的运行过程中,有时需要对设备系统软件进行一些适应性和排错性的修改,如改正系统中存在的缺陷、优化某功能以适应业务需求等。

文件的管理方式包括:

  • 通过Console或者telnet等直接登陆系统管理
  • 通过FTP、TFTP或SFTP登录设备进行管理

存储设备

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

存储设备包括:SDRAM、Flash、NVRAM 、SD Card、USB

  • SDRAM是系统运行内存,相当于电脑的内存;
  • NVRAM非易失存储器,日志写入FLASH操作是耗时耗CPU的操作,因此采用缓存机制,即日志产生后,先存入缓存,定时器超时或缓存满后再写入Flash;
  • Flash与SD Card属于非易失存储器,配置文件与系统文件存放于flash或SD Card中,具体设备参考产品文档;
  • SD Card是外置的SD存储卡,用来扩展。
  • USB是接口,用于外接大容量存储设备,主要用于设备升级,传输数据;
  • 补丁文件和PAF文件由维护人员上传可自行指定放置。

设备管理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VRP用户界面

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VRP用户级别

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了限制不同用户对设备的访问权限,系统对用户也进行了分级管理。用户的级别与命令级别对应,不同级别的用户登录后,只能使用等于或低于自己级别的命令。

缺省情况下,命令级别按0~3级进行注册,用户级别按0~15级进行注册,用户级别和命令级别对应关系如表所示。

命令行登录方式

命令行方式 - 本地登录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

目前大多数台式电脑提供的COM口都可以与Console口连接。

笔记本电脑一般不提供COM口,需要使用USB到RS232的转换接口。

Console口登录是设备默认开启的功能,不需要对设备做预配置。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

多终端模拟程序都能发起Console连接,例如,可以使用PuTTY连接到VRP操作系统。使用PuTTY连接VRP时,必须设置端口参数。上图是端口参数设置的示例,如果对参数值做了修改,需要恢复默认参数值。

完成设置以后,点击“Open”按钮即可与VRP建立连接。

命令行方式 - 远程登录

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

远程登录前提是由internet。

设备默认不开启SSH登录功能,需要用户先通过Console口登录,配置上SSH登录必须的参数之后,才可以使用SSH登录功能。

基本命令结构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 每条命令有最多一个命令字,若干个关键字和参数,形成一条命令,参数必须由参数名和参数值组成。
  • 命令字、关键字、参数名、参数值之间,需要用空格分隔开。

命令视图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 用户视图应为登录系统后的第一个视图。在用户视图中不提供除查询和工具命令之外的其他命令。
  • 用户视图中,唯一可进入的视图是系统视图;系统视图中提供全局的配置命令;如果系统存在下一级配置视图,则在系统视图中须提供进入下一级配置视图的命令。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 登录到系统后,首先进入的是用户视图,这里仅提供查询,以及ping,telnet等工具命令,不提供任何配置命令。
  • 用户视图下通过system-view命令可以进入到系统视图,系统视图提供一些简单的全局配置功能。
  • 一些复杂的配置功能,如配置一个以太网接口,需要的参数比较多,因此系统提供以太网接口的配置视图,在系统视图中,使用命令interface GigabitEthernet X(此处X表示一个具体接口的编号) 进入GE接口配置视图,这个配置视图当前针对GE接口X,所有的命令仅对GE接口X生效。

使用命令行在线帮助

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

undo命令行

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

命令行的快捷键

  • CTRL_C:停止当前命令的运行
  • CTRL_Z:返回到用户视图
  • CTRL+] :终止当前连接或切换连接

常见文件系统操作命令外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • cd directory命令用来修改用户当前的工作目录。
  • mkdir directory命令能够创建一个新的目录。目录名称可以包含1-64个字符。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • rmdir directory命令能够删除文件系统中的目录,此处需要注意的是,只有空目录才能被删除。
  • copy source-filename destination-filename命令可以复制文件。如果目标文件已存在,系统会提示此文件将被替换。目标文件名不能与系统启动文件同名,否则系统将会出现错误提示。
  • move source-filename destination-filename命令可以用来将文件移动到其他目录下。move命令只适用于在同一储存设备中移动文件。
  • rename old-name new-name命令可以用来对目录或文件进行重命名。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • reset recycle-bin [ filename | devicename ]可以用来永久删除回收站中的文件,filename参数指定了需要永久删除的文件的名称,device-name参数指定了储存设备的名称。

基本配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

查看配置结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

display startup命令用来查看设备本次及下次启动相关的系统软件、备份系统软件、配置文件、License文件、补丁文件以及语音文件。

  • Startup system software表示的是本次系统启动所使用的VRP文件。
  • Next startup system software表示的是下次系统启动所使用的VRP文件。
  • Startup saved-configuration file表示的是本次系统启动所使用的配置文件。
  • Next startup saved-configuration file表示的是下次系统启动所使用的配置文件。
  • 设备启动时,会从存储设备中加载配置文件并进行初始化。如果存储设备中没有配置文件,设备将会使用默认参数进行初始化。

startup saved-configuration [configuration-file] 命令用来指定系统下次启动时使用的配置文件,configuration-file参数为系统启动配置文件的名称。

VRP5和VRP8

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

网络层协议及IP编址

网络层协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IP协议有版本之分,分别是IPv4和IPv6。目前,Internet上的IP报文主要都是IPv4报文,但是逐步在向IPv6过渡。若无特别声明,本章所提及的IP均指IPv4。

  • IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族。它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应。
  • IPv6(Internet Protocol Version 6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation)。它是Internet工程任务组IETF(Internet Engineering Task Force)设计的一套规范,是IPv4(Internet Protocol Version 4)的升级版本。

数据封装

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IPv4报文格式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • IP Packet(IP数据包),其包头主要内容如下:
  • Version:4 bit,4:表示为IPv4;6:表示为IPv6。
  • Header Length:4 bit,首部长度,如果不带Option字段,则为20,最长为60。
  • Type of Service:8 bit,服务类型。只有在有QoS差分服务要求时,这个字段才起作用。
  • Total Length:16 bit,总长度,整个IP数据包的长度。
  • Identification:16 bit,标识,分片重组时会用到该字段。
  • Flags:3 bit,标志位。
  • Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。
  • Time to Live:8 bit,生存时间。
  • Protocol:8 bit,协议:下一层协议。
  • 指出此数据包携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个进程处理。
    • 常见值:
      • 1: ICMP, Internet Control Message;
      • 2: IGMP, Internet Group Management;
      • 6: TCP , Transmission Control Protocol;
      • 17: UDP, User Datagram Protocol。
  • Header Checksum:16 bit,首部检验和。
  • Source IP Address:32 bit,源IP地址。
  • Destination IP Address:32 bit,目的IP地址。
  • Options:可变,选项字段。
  • Padding:可变,填充字段,全填0。

数据包分片

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Identification:16 bit,发送主机赋予的标识,分片重组时会用到该字段。
  • Flags:3 bit,标志位。
    • 保留段位:0,保留。
    • 不分段位:1,表示“不能分片”;0,表示“能分片”。
    • 更多段位:1,表示“后面还有分片”;0,表示“最后一个数据片”。
  • Fragment Offset:12 bit,片偏移,分片重组时会用到该字段。指出较长的分组在分片后,该片在原分组中的相对位置,与更多段位组合,帮助接收方组合分段的报文。

生存时间TTL

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Time to Live:8 bit,生存时间。可经过的最多路由数,即数据包在网络中可通过的路由器数的最大值。

协议号Protocol

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该字段可以标识网络层协议,如ICMP(Internet Control Message Protocol,因特网控制报文协议,对应值0x01);也可以标识上层协议,如TCP(Transmission Control Protocol,传输控制协议,对应值0x06)、UDP(User Datagram Protocol,用户数据包协议,对应值0x11)。

IP地址构成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IPv4地址由如下两部分组成:

  • 网络部分 (网络号):用来标识一个网络。
  • 主机部分 (主机号):用来区分一个网络内的不同主机。

网络掩码 (Netmask),又称子网掩码 (Subnet Mask):

  • 网络掩码为32 bit,与IP地址的位数一样,通常也以点分十进制数来表示。
  • 通常将网络掩码中1的个数称为这个网络掩码的长度。如:掩码0.0.0.0的长度是0,掩码252.0.0.0的长度是6。
  • 网络掩码一般与IP地址结合使用,其中值为1的比特对应IP地址中的网络位;值为0的比特对应IP地址中的主机位,以此来辅助我们识别一个IP地址中的网络位与主机位。即网络掩码中1的个数就是IP地址的网络号的位数,0的个数就是IP地址的主机号的位数。

地址寻址

网络寻址:

  • 二层网络寻址:可直接通过IP地址,找到对应的主机接口。
  • 三层网络寻址:利用网关转发来自不同网段之间的数据包。

网关:

  • 报文转发过程中,首先需要确定转发路径以及通往目的网段的接口。如果目的主机与源主机不在同一网段,报文需要先转发到网关,然后通过网关将报文转发到目的网段。
  • 网关是指接收并处理本地网段主机发送的报文并转发到目的网段的设备。为实现此功能,网关必须知道目的网段的路由。网关设备上连接本地网段的接口地址即为该网段的网关地址。

IP地址分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IP地址计算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

私有IP

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

NAT (Network Address Translation),网络地址转换,其基本作用是实现私网IP地址与公网IP地址之间的转换。IANA (Internet Assigned Numbers Authority),因特网地址分配组织。

特殊IP

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IPv4与IPv6的对比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

子网划分

原网段分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

向主机借位

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 现在,将原有的24位网络位向主机位去“借”1位,这样网络位就扩充到了25位,相对的主机位就减少到了7位,而借过来的这1位就是子网位,此时网络掩码就变成了25位,即255.255.255.128,或/25。
  • 子网位:可取值0或取值1,则得到了两个新的子网。
  • 通过计算可知,现在网络中,有128个IP地址。
计算子网网络地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

计算网络地址,主机位全为0:

  • 如果子网位取值0,则网络地址为192.168.10.0。
  • 如果子网位取值1,则网络地址为192.168.10.128。
计算子网广播地址地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

广播地址:主机位全为0.

计算子网

步骤1:计算所需主机位 2*2…2-2≥最大主机个数 n ≥ 位,主机位 向主机借位

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ICMP协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了更有效地转发IP数据报文和提高数据报文交互成功的机会,在网络层使用ICMP协议。ICMP允许主机或设备报告差错情况和提供有关异常情况的报告。

ICMP消息:

  • ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。
  • 字段解释:
    • ICMP消息的格式取决于Type和Code字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数。
    • 校验和字段用于检查消息是否完整。
    • 消息中包含32 bit的可变参数,这个字段一般不使用,通常设置为0。
      • 在ICMP重定向消息中,这个字段用来指定网关IP地址,主机根据这个地址将报文重定向到指定网关。
      • 在Echo请求消息中,这个字段包含标识符和序号,源端根据这两个参数将收到的回复消息与本端发送的Echo请求消息进行关联。尤其是当源端向目的端发送了多个Echo请求消息时,需要根据标识符和序号将Echo请求和回复消息进行一一对应。
ICMP重定向

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ICMP重定向过程:

  • 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
  • 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
  • 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
ICMP差错检测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ICMP错误报告

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IP地址的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 物理接口:物理接口是指网络设备上实际存在的接口,分为负责承担业务传输的业务接口和负责管理设备的管理接口,例如GE业务接口和MEth管理接口。
  • 逻辑接口:逻辑接口是指能够实现数据交换功能但物理上不存在、需要通过配置建立的接口,需要承担业务传输,例如VLANIF接口、Loopback接口。
    • Loopback接口:用户需要一个接口状态永远是Up的接口的IP地址时,可以选择Loopback接口的IP地址。
      • Loopback接口一旦被创建,其物理状态和链路协议状态永远是Up,即使该接口上没有配置IP地址。
      • Loopback接口配置IP地址后,就可以对外发布。Loopback接口上可以配置32位掩码的IP地址,达到节省地址空间的目的。
      • Loopback接口不能封装任何链路层协议,数据链路层也就不存在协商问题,其协议状态永远都是Up。
      • 对于目的地址不是本地IP地址,出接口是本地Loopback接口的报文,设备会将其直接丢弃。

网络IP地址规划

规划原则:

  • 唯一性:一个IP网络中不能有两个主机采用相同的IP地址。
  • 连续性:连续地址在层次结构网络中易于进行路由汇总,大大缩减路由表,提高路由计算的效率、加速路由收敛。
  • 扩展性:地址分配在每一层次上都要有合理的预留,在网络规模扩展时能保证路由汇总所需的连续性。避免网络扩展造成的地址、路由重新规划。
  • 结构化、业务相关性:地址规划与网络拓扑结构和网络承载业务结合起来,便于路由规划和QoS部署。好的IP地址规划使得每个地址都具有实际含义,看到一个地址就可以大致判断出该地址所属的设备和对应的业务。

IP路由基础

路由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 网关以及中间节点(路由器)根据收到的IP报文其目的地址选择一条合适的路径,并将报文转发到下一个路由器。在路径中的最后一跳路由器二层寻址将报文转发给目的主机。这个过程被称为路由转发。
  • 中间节点选择路径所依赖的表项为称为路由表。
  • 路由条目包含明确的出接口以及下一跳,这两项信息指导IP报文转发到相应的下一跳设备上。

路由中包含以下信息:

  • 目的网络:标识目的网段
  • 掩码:与目的地址共同标识一个网段
  • 出接口:数据包被路由后离开本路由器的接口
  • 下一跳:路由器转发到达目的网段的数据包所使用的下一跳地址

路由表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 路由器依据路由表转发报文。
  • 路由表由一条条详细的路由条目组成。
  • 路由表由路由条目组成,但不代表路由表中保存了所有路由,路由表中只会保存“最优的”路由。
  • 对路由表中的路由条目的管理实际上就是路由器维护、管理路由信息的具体实现。

路由信息获取方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

直连路由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

IP路由表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Preference用于不同路由协议间路由优先级的比较,Cost用于同一种路由协议内部不同路由的优先级的比较。

路由优先级

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

度量值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最长匹配原则

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

路由转发流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来自10.0.1.0/24网段的IP报文想要去往40.0.1.0/24网段,首先到达网关,网关查找路由表项,确定转发的下一跳、出接口,之后报文转发给R2。报文到达R2之后,R2通过查找路由表项转发给R3,R3收到后查找路由表项,发现IP报文目的IP属于本地接口所在网段,直接本地转发。

IP路由小结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

静态路由配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置举例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

缺省路由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

动态路由概述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 静态路由的缺点是不能自动适应网络拓扑的变化,需要人工干预。
  • 动态路由协议有自己的路由算法,能够自动适应网络拓扑的变化,适用于具有一定数量三层设备的网络。

动态路由分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算法。因此在某些场合下,BGP也被称为路径矢量路由协议。

  • 内部网关协议IGP(Interior Gateway Protocol):在一个自治系统内部运行。RIP、OSPF、ISIS为常见的IGP协议。
  • 外部网关协议EGP(Exterior Gateway Protocol):运行于不同自治系统之间。BGP是目前最常用的EGP协议。

路由递归

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

等价路由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

浮动路由

基本概念

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

示例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • RTA-RTB之间的链路正常时,20.0.0.0/30的两条路由条目都是有效的条目,此时比较优先级,下一跳为10.1.1.2的优先级60,下一跳为10.1.2.2的优先级70,因此下一跳为10.1.1.2的加入路由表。
  • RTA-RTB之间的链路故障时,10.1.1.2不可达,因此下一跳为10.1.1.2的路由失效,此时前往20.0.0.0/30的路由就只存在一条,该条路由将会被选入路由表。前往20.0.0.1的流量将会被转发到10.1.2.2。

CIDR

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

路由汇总需求

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

路由汇总又被称为路由聚合(Route Aggregation),是将一组有规律的路由汇聚成一条路由,从而达到减小路由表规模以及优化设备资源利用率的目的,我们把汇聚之前的这组路由称为精细路由或明细路由,把汇聚之后的这条路由称为汇总路由或聚合路由。

路由汇总简介

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • RTA上为了能够前往远端地址,需要为每一个远端网段配置一条明细路由。去往10.1.1.0/24、10.1.2.0/24、10.1.3.0/24…拥有相同下一跳。将拥有相同下一跳,一组有规律的路由汇总成一条路由,这叫做路由汇总。
  • 路由汇总可以有效减少路由表项大小。

汇总计算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

汇总引发的路由

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一般来说一条路由,无论是静态的或者是动态的,都需要关联到一个出接口,路由的出接口指的是设备要到达一个目的网络时的出站接口。路由的出接口可以是该设备的物理接口,例如百兆、千兆以太网接口,也可以是逻辑接口,例如VLAN接口(VLAN Interface),或者隧道(Tunnel)接口等。在众多类型的出接口中,有一种接口非常特殊,那就是Null(无效)接口,这种类型的接口只有一个编号,也就是0。Null0是一个系统保留的逻辑接口,当网络设备在转发某些数据包时,如果使用出接口为Null0的路由,那么这些报文将被直接丢弃,就像被扔进了一个黑洞里,因此出接口为Null0的路由又被称为黑洞路由。

精确汇总

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF基础

动态路由协议分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

BGP使用一种基于距离矢量算法修改后的算法,该算法被称为路径矢量(Path Vector)算法。因此在某些场合下,BGP也被称为路径矢量路由协议。

距离矢量路由协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链路状态路由协议

LSA泛洪

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链路状态通告,可以简单的理解为每台路由器都产生一个描述自己直连接口状态(包括接口的开销、与邻居路由器之间的关系等)的通告。

LSDB组建

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STP计算

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SPF是OSPF路由协议的一个核心算法,用来在一个复杂的网络中做出路由优选的决策。

路由表生成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

链路状态路由协议有四个步骤:

  • 第一步是建立相邻路由器之间的邻居关系。
  • 第二步是邻居之间交互链路状态信息和同步LSDB。
  • 第三步是进行优选路径计算。
  • 第四步是根据最短路径树生成路由表项加载到路由表。

OSPF简介

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF基础术语

区域

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Router-ID

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在实际项目中,通常会通过手工配置方式为设备指定OSPF Router-ID。请注意必须保证在OSPF域中任意两台设备的Router-ID都不相同。通常的做法是将Router-ID配置为与该设备某个接口(通常为Loopback接口)的IP地址一致。

度量值

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF协议报文类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF三大表项

邻居表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

LSDB表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF路由表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF邻接关系建立过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF邻接关系建立流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。
  • 当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 邻居状态机从2-way转为Exstart状态后开始主从关系选举:
    • R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
    • R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
    • 选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。
  • R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
  • R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
  • R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
  • 发送完最后一个DD报文后,R1将邻居状态切换为Loading。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
  • R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
  • R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
  • 此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。

OSPF邻居表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图所示输入display ospf peer命令之后,各项参数含义如下:

  • OSPF Process 1 with Router ID 1.1.1.1:本地OSPF进程号为1与本端OSPF Router ID为1.1.1.1
  • Router ID:邻居OSPF路由器
  • IDAddress:邻居接口地址
  • GR State:使能OSPF GR功能后显示GR的状态(GR为优化功能),默认为Normal
  • State:邻居状态,正常情况下LSDB同步完成之后,稳定停留状态为Full
  • Mode:用于标识本台设备在链路状态信息交互过程中的角色是Master还是Slave
  • Priority:用于标识邻居路由器的优先级(该优先级用于后续DR角色选举)
  • DR:指定路由器
  • BDR:备份指定路由器
  • MTU:邻居接口的MTU值
  • Retrans timer interval:重传LSA的时间间隔,单位为秒
  • Authentication Sequence:认证序列号

OSPF网络类型简介

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF网络类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

DR与BDR

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选举规则:OSPF DR优先级更高的接口成为该MA的DR,如果优先级相等(默认为1),则具有更高的OSPF Router-ID的路由器(的接口)被选举成DR,并且DR具有非抢占性。

OSPF域与单区域

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF多区域

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 区域的分类:区域可以分为骨干区域与非骨干区域。骨干区域即Area0,除Area0以外其他区域都称为非骨干区域。
  • 多区域互联原则:基于防止区域间环路的考虑,非骨干区域与非骨干区域不能直接相连,所有非骨干区域必须与骨干区域相连。

OSPF路由器类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 区域内路由器(Internal Router):该类路由器的所有接口都属于同一个OSPF区域。
  • 区域边界路由器ABR(Area Border Router):该类路由器的接口同时属于两个以上的区域,但至少有一个接口属于骨干区域。
  • 骨干路由器(Backbone Router):该类路由器至少有一个接口属于骨干区域。
  • 自治系统边界路由器ASBR(AS Boundary Router):该类路由器与其他AS交换路由信息。只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。

OSPF基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Router ID的选择顺序是:优先从Loopback地址中选择最大的IP地址作为设备的ID号,如果没有配置Loopback接口,则在接口地址中选取最大的IP地址作为设备的ID号。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

OSPF配置案例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置R2的接口

  • [R2] interface GigabitEthernet 0/0/0
  • [R2-GigabitEthernet0/0/0] ip address 10.1.12.2 30
  • [R2-GigabitEthernet0/0/0] interface GigabitEthernet 0/0/1
  • [R2-GigabitEthernet0/0/1] ip address 10.1.23.1 30
配置OSPF

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果验证

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以太网交换基础

以太网协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

早期的以太网:

​ 以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。

交换机组网:

​ 交换机做为一种能隔绝冲突的二层网络设备,极大的提高了以太网的性能,并替代HUB成为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。

冲突域

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在共享网络,以太网络使用CSMA/CD技术,避免冲突问题。CSMA/CD的基本工作过程如下:

    • 终端设备不停的检测共享线路的状态。

      • 如果线路空闲则发送数据。
      • 如果线路不空闲则一直等待。
    • 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号不稳定。

    • 终端设备检测到这种不稳定之后,马上停止发送自己的数据。

    • 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了冲突。

  • CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。

广播域

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

全1MAC地址FF-FF-FF-FF-FF-FF为广播地址,所有节点都会处理目的地址为广播地址的数据帧,该数据帧所能到达的整个访问范围称为二层广播域,简称广播域。

注:MAC (Media Access Control)地址,在网络中唯一标识一个网卡,每个网卡都需要并会有唯一的一个MAC地址。

以太网卡

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

以太网帧格式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在以太网中,数据通信的基本单位是以太网帧 ( Frame )。以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式,因此协议规定以太网帧的数据格式如图所示。

Ethernet Ⅱ以太帧:

  • DMAC:6字节,目的MAC地址,6字节,该字段标识帧的接收者。
  • SMAC:6字节,源MAC地址,6字节,该字段标识帧的发送者。
  • Type:2字节,协议类型。常见值:
    • 0x0800:Internet Protocol Version 4 (IPv4) ;
    • 0x0806:Address Resolution Protocol (ARP) 。

IEEE 802.3 LLC以太帧:

  • 逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(Destination Service Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。

    • DSAP:1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号。
    • SSAP:1字节,源服务访问点,若后面类型为IP值设为0x06。
    • Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。
  • SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。

    • Org Code三个字节都为0。
    • Type字段的含义与Ethernet_II帧中的Type字段相同。

数据帧的总长度为64-1518字节,这样设计的原因是什么?(另外,以太网口的最大传输单元是1500字节,即MTU=1500B。)

  • 以太网中,最小帧长为64字节,这是由最大传输距离和CSMA/CD机制共同决定的。

    • 规定最小帧长是为了避免这种情况发生:A站点已经将一个数据包的最后一个Bit发送完毕,但这个报文的第一个Bit还没有传送到距离很远的B站点。B站点认为线路空闲继续发送数据,导致冲突。
    • 高层协议必须保证Data域至少包含46字节,这样加上以太网帧头的14字节和帧尾的4字节校验码正好满足64字节的最小帧长,如果实际数据不足46个字节,则高层协议必须填充一些数据单元。
  • 而出于对传输效率和传输可靠性的折中考虑,使得以太网帧的最大长度为1518字节,对应IP数据包就是1500字节。

    • 较大的帧长度,数据的有效传输效率会更高;但是数据帧过长,传输时会占用共享链路过多的时间,对时延敏感应用造成极大的影响。
    • 因此最终选择了一个折中的长度:1518字节的数据帧长,对应1500字节的IP数据包长度,这就是最大传输单元MTU的由来。

MAC地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须拥有一个MAC地址,用MAC地址来定义网络设备的位置。不同的网卡,MAC地址也不同。

IP地址vsMAC地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结:

  • IP地址的作用是唯一标识网络中的一个节点,可以通过IP地址进行不同网段的数据访问。
  • MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问。

MAC地址表示

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MAC地址由48比特(6个字节)长,12位的16进制数字组成。

MAC地址的分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 一个制造商在生产制造网卡之前,必须先向IEEE注册,以获取一个长度为24bit (3字节)的厂商代码,也称为OUI。
  • 后24bit由厂商自行分派,是各个厂商制造的所有网卡的唯一编号。
  • MAC地址可以分为3种类型:
    • 单播MAC地址:也称物理MAC地址,这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。
      • 单播MAC地址用于标识链路上的一个单一节点。
      • 目的MAC地址为单播MAC地址的帧发往一个单一的节点。
      • 单播MAC地址可以作为源或目的地址。
      • 注意:单播MAC地址具有全球唯一性,当一个二层网络中接入了两台具有相同MAC地址的终端时(例如误操作等),将会引发通信故障(例如这两台终端无法相互通信),且其他设备与它们之间的通信也会存在问题。
    • 广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示局域网上的所有终端设备。
      • 广播MAC地址可以理解为一种特殊的组播MAC地址。
      • 其具体格式为:FFFF-FFFF-FFFF。
      • 目的MAC地址为广播MAC地址的帧发往链路上的所有节点。
    • 组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表局域网上的一组终端。
      • 组播MAC地址用于标识链路上的一组节点。
      • 目的MAC地址为组播MAC地址的帧发往一组节点。
      • 组播MAC地址不能作为源地址,只能作为目的地址。

单播以太帧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 局域网上的帧可以通过三种方式发送。
  • 第一种是单播,指从单一的源端发送到单一的目的端。
    • 每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。

广播以太帧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 第二种发送方式是广播,表示帧从单一的源发送到共享以太网上的所有主机。

    • 广播帧的目的MAC地址为十六进制的FF-FF-FF-FF-FF-FF,所有收到该广播帧的主机都要接收并处理这个帧。

    • 广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。

    • 当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。

组播以太帧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 第三种发送方式为组播,组播比广播更加高效。
    • 组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。
    • 组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1。
    • 当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。

园区网络架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

一个典型的园区数据网络由路由器、交换机、防火墙等设备构成,通常会采用多层架构,包括:接入层、汇聚层、核心层和出口层。

以太网二层交换机

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 以太网二层交换机:
    • 在园区网络中,交换机一般来说是距离终端用户最近的设备,用于终端接入园区网,接入层的交换机一般为二层交换机。
    • 二层交换设备工作在TCP/IP对等模型的第二层,即数据链路层,它对数据包的转发是建立在MAC(Media Access Control )地址基础之上的。
  • 以太网三层交换机:
    • 不同局域网之间的网络互通需要由路由器来完成。随着数据通信网络范围的不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本高、转发性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机这样一种能实现高速三层转发的设备。

交换机的工作原理

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 二层交换机工作在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络中的冲突域。
  • 二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发。

MAC地址表

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外的所有接口发送该报文。

交换机数据帧处理行为

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用来转发数据帧。
  • 交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。
    • 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口)。
    • 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口”不能是这个帧进入交换机的那个端口)。
    • 丢弃:交换机把从某一端口进来的帧直接丢弃。
泛洪

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。
  • 如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。
  • 如图所示:
    • 场景一:主机1想要访问主机2,发送单播数据帧,交换机收到后,若MAC地址表中查不到对应的表项,则会泛洪该数据帧。
    • 场景二:主机1想要访问主机2,但不知道对应的MAC地址,则会发送ARP请求报文,该报文为广播数据帧,交换机收到后,则会泛洪该数据帧。
转发

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果不是,则交换机执行转发操作(将该帧送至该帧目的MAC地址在MAC地址表中对应的那个端口,并从那个端口发送出去)。
  • 如图所示:
    • 主机1想要访问主机2,发送单播数据帧,交换机收到后,在MAC地址表中查到了对应的表项,则会点对点转发该数据帧。
丢弃

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果是,则交换机将对该帧执行丢弃操作。
  • 如图所示:
    • 主机1想要访问主机2,发送单播数据帧,交换机1收到后,若MAC地址表中查不到对应的表项,则会泛洪该数据帧。
    • 交换机2收到该数据帧后,发现目的MAC地址对应的端口就是接收数据帧的端口,则会丢弃该数据帧。

交换机的MAC地址学习

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 主机1想要发送数据给主机2(假设已知对端的IP地址和MAC地址),会封装数据帧,包含自己的源IP地址和源MAC地址。
  • 交换机收到后会查自己的MAC地址表,发现没有对应表项,则收到的数据帧是“未知单播帧” 。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 由于收到的数据帧是“未知单播帧”,因此交换机会泛洪该数据帧。
  • 同时,交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中。
  • 注意:MAC地址表中动态学习的表项并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删除,这个生存周期被称作老化时间。例如华为S系列交换机的老化时间缺省值是300秒。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 广播网络中的所有主机均会收到该数据帧,但是只有主机2会处理(因为目的MAC地址是主机2)。
  • 主机2会回复数据帧给主机1,也是单播数据帧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 交换机收到该单播数据帧后,会查看自己的MAC地址表,发现有对应的表项,则将数据从对应的端口转发出去。
  • 同时,交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中。

同网段数据通信全过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据封装过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

主机1在发送数据报文前,需要先进行报文封装,包括源目IP地址、源目MAC地址等。

初始状态

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 主机1为了进行报文封装,会查本地的ARP缓存表。初始状态下,主机1的ARP缓存是空的。
  • 而刚上电的交换机,初始状态下,交换机的MAC地址表也是空的。
泛洪数据帧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

主机1发送ARP请求报文,请求目的MAC地址。

交换机收到的数据帧后查MAC地址表,发现没有对应表项,则向所有非接收端口,泛洪该数据帧。

学习MAC地址

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中。

目标主机回复

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 主机2收到ARP请求报文后,会进行相应的处理,并发送ARP响应报文,回复主机1。
  • 交换机收到的数据帧后查MAC地址表,发现有对应表项,则向对应端口转发该数据帧;并且交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中。
  • 最终,主机1收到主机2的ARP响应报文后,就会将对应的IP地址和MAC地址记录到自己的ARP缓存中,并封装自己的报文,访问主机2。

VLAN原理与配置

传统以太网的问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 广播域:
    • 如图是一个典型的交换网络,网络中只有终端计算机和交换机。在这样的网络中,如果某一台计算机发送了一个广播帧,由于交换机对广播帧执行泛洪操作,结果所有其他的计算机都会收到这个广播帧。
    • 把广播帧所能到达的整个访问范围称为二层广播域,简称广播域 (Broadcast Domain)。显然,一个交换网络其实就是一个广播域。
  • 网络安全问题和垃圾流量问题:
    • 如图:如果PC1向PC2发送了一个单播帧。此时SW1、SW3、SW7的MAC地址表中存在关于PC2的MAC地址表项,但SW2和SW5不存在关于PC2的MAC地址表项。那么,SW1和SW3将对该单播帧执行点对点的转发操作,SW7将对该单播帧执行丢弃操作,SW2和SW5将对该单播帧执行泛洪操作。最后的结果是,PC2虽然收到了该单播帧,但网络中的很多其他非目的主机,同样收到了不该接收的数据帧。
  • 显然,广播域越大,网络安全问题和垃圾流量问题就越严重。

虚拟局域网VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 为了解决广播域带来的问题,人们引入了VLAN (Virtual Local Area Network),即虚拟局域网技术:
    • 通过在交换机上部署VLAN,可以将一个规模较大的广播域在逻辑上划分成若干个不同的、规模较小的广播域,由此可以有效地提升网络的安全性,同时减少垃圾流量,节约网络资源。
  • VLAN的特点:
    • 一个VLAN就是一个广播域,所以在同一个VLAN内部,计算机可以直接进行二层通信;而不同VLAN内的计算机,无法直接进行二层通信,只能进行三层通信来传递信息,即广播报文被限制在一个VLAN内。
    • VLAN的划分不受地域的限制。
  • VLAN的好处:
    • 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
    • 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
    • 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信。
    • 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
  • 注:二层,即数据链路层。

VLAN标签(VLAN TAg)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如图所示,SW1识别出某个帧是属于哪个VLAN后,会在这个帧的特定位置上添加一个标签。这个标签明确地标明了这个帧是属于哪个VLAN的。其他交换机(如SW2)收到这个带标签的数据帧后,就能轻而易举地直接根据标签信息识别出这个帧属于哪个VLAN。
  • IEEE 802.1Q定义了这种带标签的数据帧的格式。满足这种格式的数据帧称为IEEE 802.1Q数据帧,也称VLAN数据帧。

VLAN数据帧

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在一个VLAN交换网络中,以太网帧主要有以下两种形式:

    • 有标记帧(Tagged帧):IEEE 802.1Q协议规定,在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag)的数据帧。
    • 无标记帧(Untagged帧):原始的、未加入4字节VLAN标签的数据帧。
  • VLAN数据帧中的主要字段:

    • TPID:2字节,Tag Protocol Identifier(标签协议标识符),表示数据帧类型。

      • 取值为0x8100时表示IEEE 802.1Q的VLAN数据帧。如果不支持802.1Q的设备收到这样的帧,会将其丢弃。
      • 各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。
    • PRI:3 bit,Priority,表示数据帧的优先级,用于QoS。

      • 取值范围为0~7,值越大优先级越高。当网络阻塞时,交换机优先发送优先级高的数据帧。
    • CFI:1 bit,Canonical Format Indicator(标准格式指示位),表示MAC地址在不同的传输介质中是否以标准格式进行封装,用于兼容以太网和令牌环网。

      • CFI取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。

      • 在以太网中,CFI的值为0。

    • VID:12 bit,VLAN ID,表示该数据帧所属VLAN的编号。

      • VLAN ID取值范围是0~4095。由于0和4095为协议保留取值,所以VLAN ID的有效取值范围是1~4094。

      • 交换机利用VLAN标签中的VID来识别数据帧所属的VLAN,广播帧只在同一VLAN内转发,这就将广播域限制在一个VLAN内。

  • 如何识别带VLAN标签的数据帧:

    • 数据帧的Length/Type = 0x8100。
  • 注意:计算机无法识别Tagged数据帧,因此计算机处理和发出的都是Untagged数据帧;为了提高处理效率,交换机内部处理的数据帧一律都是Tagged帧。

VLAN的实现

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VLAN的划分方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

计算机发出的数据帧不带任何标签。对已支持VLAN特性的交换机来说,当计算机发出的Untagged帧一旦进入交换机后,交换机必须通过某种划分原则把这个帧划分到某个特定的VLAN中去。

VLAN的划分包括如下5种方法:

  • 基于接口划分:根据交换机的接口来划分VLAN。
    • 网络管理员预先给交换机的每个接口配置不同的PVID,当一个数据帧进入交换机时,如果没有带VLAN标签,该数据帧就会被打上接口指定PVID的标签,然后数据帧将在指定VLAN中传输。
  • 基于MAC地址划分:根据数据帧的源MAC地址来划分VLAN。
    • 网络管理员预先配置MAC地址和VLAN ID映射关系表,当交换机收到的是Untagged帧时,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
  • 基于IP子网划分:根据数据帧中的源IP地址和子网掩码来划分VLAN。
    • 网络管理员预先配置IP地址和VLAN ID映射关系表,当交换机收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
  • 基于协议划分:根据数据帧所属的协议(族)类型及封装格式来划分VLAN。
    • 网络管理员预先配置以太网帧中的协议域和VLAN ID的映射关系表,如果收到的是Untagged帧,就依据该表给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
  • 基于策略划分:根据配置的策略划分VLAN,能实现多种组合的划分方式,包括接口、MAC地址、IP地址等。
    • 网络管理员预先配置策略,如果收到的是Untagged帧,且匹配配置的策略时,给数据帧添加指定VLAN的标签,然后数据帧将在指定VLAN中传输。
基于接口的VLAN划分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 划分原则:
    • 将VLAN ID配置到交换机的物理接口上,从某一个物理接口进入交换机的、由终端计算机发送的Untagged数据帧都被划分到该接口的VLAN ID所表明的那个VLAN。
  • 特点:
    • 这种划分原则简单而直观,实现容易,是目前实际的网络应用中最为广泛的划分VLAN的方式。
    • 当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属可能会发生变化。
  • 缺省VLAN,PVID (Port VLAN ID)
    • 每个交换机的接口都应该配置一个PVID,到达这个端口的Untagged帧将一律被交换机划分到PVID所指代的VLAN。
    • 默认情况下,PVID的值为1。
基于MAC地址的VLAN划分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

划分原则:

  • 交换机内部建立并维护了一个MAC地址与VLAN ID的对应表。当交换机接收到计算机发送的Untagged帧时,交换机将分析帧中的源MAC地址,然后查询MAC地址与VLAN ID的对应表,并根据对应关系把这个帧划分到相应的VLAN中。

特点:

  • 这种划分实现稍微复杂,但灵活性得到了提高。
  • 当计算机接入交换机的端口发生了变化时,该计算机发送的帧的VLAN归属不会发生变化(因为计算机的MAC地址没有变)。
  • 但这种类型的VLAN划分安全性不是很高,因为恶意计算机很容易伪造MAC地址。

以太网二层接口类型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 基于接口的VLAN划分依赖于交换机的接口类型。
  • Access接口
    • Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。
  • Trunk接口
    • Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
  • Hybrid接口
    • Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等),也可以用于连接交换机、路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。
    • 华为设备默认的接口类型是Hybrid。
Access接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 上文已经介绍了交换机如何识别数据帧属于哪个VLAN以及VLAN的划分方式,那交换机对于Untagged帧和Tagged帧又是如何处理的呢?
  • Access接口特点:
    • 仅允许VLAN ID与接口PVID相同的数据帧通过。
  • Access接口接收数据帧:
    • 当Access接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后对得到的Tagged帧进行转发操作(泛洪、转发、丢弃)。
    • 当Access接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否与PVID相同。如果相同,则对这个Tagged帧进行转发操作;如果不同,则直接丢弃这个Tagged帧。
  • Access接口发送数据帧:
    • 当一个Tagged帧从本交换机的其他接口到达一个Access接口后,交换机会检查这个帧的Tag中的VID是否与PVID相同:
      • 如果相同,则将这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
      • 如果不同,则直接丢弃这个Tagged帧。
Trunk接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 对于Trunk接口,除了要配置PVID外,还必须配置允许通过的VLAN ID列表,其中VLAN 1是默认存在的。
  • Trunk接口特点:
    • Trunk接口仅允许VLAN ID在允许通过列表中的数据帧通过。
    • Trunk接口可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
  • Trunk接口接收数据帧:
    • 当Trunk接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在允许通过的VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
    • 当Trunk接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在允许通过的VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
  • Trunk接口发送数据帧:
    • 当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID不在允许通过的VLAN ID列表中,则该Tagged帧会被直接丢弃。
    • 当一个Tagged帧从本交换机的其他接口到达一个Trunk接口后,如果这个帧的Tag中的VID在允许通过的VLAN ID列表中,则会比较该Tag中的VID是否与接口的PVID相同:
      • 如果相同,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去;
      • 如果不同,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
Acecess接口与Trunk接口举例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在本例中,SW1和SW2连接主机的接口为Access接口,PVID如图所示。SW1和SW2互连的接口为Trunk接口,PVID都为1,此Trunk接口的允许通过的VLAN ID列表也如图所示。

Hybrid接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 对于Hybrid接口,除了要配置PVID外,还存在两个允许通过的VLAN ID列表,一个是Untagged VLAN ID列表,另一个是Tagged VLAN ID列表,其中VLAN 1默认在Untagged VLAN列表中。这两个允许通过列表中的所有VLAN的帧都是允许通过这个Hybrid接口的。

  • Hybrid接口特点:

    • Hybrid接口仅允许VLAN ID在允许通过列表中的数据帧通过。
    • Hybrid接口可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag、某些VLAN的帧不带Tag。
    • 与Trunk最主要的区别就是,能够支持多个VLAN的数据帧,不带标签通过。
  • Hybrid接口接收数据帧:

    • 当Hybrid接口从链路上收到一个Untagged帧,交换机会在这个帧中添加上VID为PVID的Tag,然后查看PVID是否在Untagged或Tagged VLAN ID列表中。如果在,则对得到的Tagged帧进行转发操作;如果不在,则直接丢弃得到的Tagged帧。
    • 当Hybrid接口从链路上收到一个Tagged帧,交换机会检查这个帧的Tag中的VID是否在Untagged或Tagged VLAN ID列表中。如果在,则对这个Tagged帧进行转发操作;如果不在,则直接丢弃这个Tagged帧。
  • Hybrid接口发送数据帧:

    • 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID既不在Untagged VLAN ID列表中,也不在Tagged VLAN ID列表中,则该Tagged帧会被直接丢弃。
    • 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Untagged VLAN ID列表中,则交换机会对这个Tagged帧的Tag进行剥离,然后将得到的Untagged帧从链路上发送出去。
    • 当一个Tagged帧从本交换机的其他接口到达一个Hybrid接口后,如果这个帧的Tag中的VID在Tagged VLAN ID列表中,则交换机不会对这个Tagged帧的Tag进行剥离,而是直接将它从链路上发送出去。
Hybrid接口举例

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在本例中,SW1和SW2连接主机的接口以及互连的接口均为Hybrid接口,PVID如图所示,Hybrid接口的允许通过的VLAN ID列表也如图所示。

小结

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 各类接口添加或剥除VLAN标签的处理过程总结如下:
    • 当接收数据帧时:
      • 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
      • 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
    • 当发送数据帧时:
      • Access接口直接剥离数据帧中的VLAN标签。
      • Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
      • Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。
  • 因此,Access接口发出的数据帧肯定不带Tag;Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签;Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。

VLAN的规划

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VLAN编号建议连续分配,以保证VLAN资源合理利用。最常用的划分方式是基于接口的方式。

应用场景

基于接口的VLAN划分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基于MAC地址的VLAN划分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VLAN的基础命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • vlan命令用来创建VLAN并进入VLAN视图,如果VLAN已存在,直接进入该VLAN的视图。
  • undo vlan用来删除指定VLAN。
  • 缺省情况下,将所有接口都加入到一个缺省的VLAN中,该VLAN标识为1。
    • 命令:
    • vlan vlan-id
      • vlan-id:指定VLAN ID。整数形式,取值范围是1~4094。
    • vlan batch { vlan-id1 [ to vlan-id2 ] }
      • batch:指定批量创建VLAN。
      • vlan-id1 to vlan-id2:指定批量创建的VLAN ID,其中:
        • vlan-id1表示第一个VLAN的编号。
        • vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1,它与vlan-id1共同确定一个VLAN范围。
      • 如果不指定to vlan-id2参数,则只创建vlan-id1所指定的VLAN。
      • vlan-id1vlan-id2是整数形式,取值范围是1~4094。
Access接口的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Trunk接口的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 命令:port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] | all }
    • vlan-id1 [ to vlan-id2 ]:指定Trunk类型接口加入的VLAN,其中:
      • vlan-id1表示第一个VLAN的编号。
      • to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
      • vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
    • all:指定Trunk接口加入所有VLAN。
  • 命令:port trunk pvid vlan vlan-id,设置Trunk类型接口的缺省VLAN。
    • vlan-id:指定Trunk类型接口的缺省VLAN编号。整数形式,取值范围是1~4094。
Hybrid接口的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 命令:port hybrid untagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
    • vlan-id1 [ to vlan-id2 ]:指定Hybrid类型接口加入的VLAN,其中:
      • vlan-id1表示第一个VLAN的编号。
      • to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
      • vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
    • all:指定Hybrid接口加入所有VLAN。
  • 命令:port hybrid tagged vlan { { vlan-id1 [ to vlan-id2 ] } | all }
    • vlan-id1 [ to vlan-id2 ]:指定Hybrid类型接口加入的VLAN,其中:
      • vlan-id1表示第一个VLAN的编号。
      • to vlan-id2表示最后一个VLAN的编号。vlan-id2的取值必须大于等于vlan-id1的取值。
      • vlan-id1和vlan-id 2为整数形式,取值范围是1~4094。
    • all:指定Hybrid接口加入所有VLAN。
  • 命令:port hybrid pvid vlan vlan-id,设置Hybrid类型接口的缺省VLAN。
    • vlan-id:指定Hybrid类型接口的缺省VLAN编号。整数形式,取值范围是1~4094。

案例一

基于接口划分VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置思路:

  • 创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
  • 配置SW1和SW2的各接口类型以及通过的VLAN,实现相同业务用户通过SW1和SW2通信。
创建VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置Access接口和Trunk接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

验证配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 命令:display vlan命令用来查看VLAN的相关信息。
  • 输出信息:
    • Tagged/Untagged Port:手动加入本VLAN的接口,分为Tagged和Untagged方式。
    • VID或VLAN ID:VLAN编号。
    • Type或VLAN Type:VLAN类型,common指普通VLAN。
    • Ports:加入该VLAN的接口。

案例二

基于接口划分VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置思路:

  • 创建VLAN并将连接用户的接口加入VLAN,实现不同业务用户之间的二层流量隔离。
  • 配置SW1和SW2的各接口类型以及通过的VLAN,实现主机和服务器之间通过SW1和SW2通信。
Hybrid接口的基础配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

验证配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VLAN的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 命令:mac-vlan mac-address mac-address [ mac-address-mask | mac-address-mask-length ]
    • mac-address:指定与VLAN关联的MAC地址。
      • 格式为H-H-H。其中H为4位的十六进制数,可以输入1~4位,如00e0、fc01。当输入不足4位时,表示前面的几位为0,如:输入e0,等同于00e0。
      • MAC地址不可设置为0000-0000-0000、FFFF-FFFF-FFFF和组播地址。
    • mac-address-mask:指定MAC地址掩码。
      • 格式为H-H-H,其中H为1至4位的十六进制数。
    • mac-address-mask-length:指定MAC地址掩码长度。
      • 整数形式,取值范围是1~48。
  • 命令:mac-vlan enable,用来使能接口的MAC VLAN功能。

案例

基于MAC地址划分VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置思路:

  • 创建VLAN。
  • 配置各以太网接口以正确的方式加入VLAN。
  • 配置主机1、主机2、主机3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。
创建VLAN,并关联MAC地址和VLAN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

加入VLAN,并使能MAVC VLAN功能

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置接口为Hybrid接口:在Access接口和Trunk接口上,只有基于MAC划分的VLAN和PVID相同时,才能使用MAC VLAN功能。所以基于MAC地址划分VLAN推荐在Hybrid口上配置。

验证配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 命令:display mac-vlan { mac-address { all | mac-address [ mac-address-mask | mac-address-mask-length ] } | vlan vlan-id },用来查看基于MAC地址划分VLAN的配置信息。
    • all:显示所有MAC地址VLAN划分信息。
    • mac-address mac-address:显示指定MAC地址的VLAN划分信息。
      • 格式为H-H-H,其中H为1至4位的十六进制数。
    • mac-address-mask:MAC地址掩码。
      • 格式为H-H-H,其中H为1至4位的十六进制数。
    • mac-address-mask-length:MAC地址掩码长度。
      • 整数形式,取值范围是1~48。
    • vlan vlan-id:显示指定MAC-VLAN的配置信息。
      • 整数形式,取值范围是1~4094。
  • 输出信息:
    • MAC Address:MAC地址。
    • MASK:MAC地址的掩码。
    • VLAN:基于MAC地址划分的VLAN。
    • Priority:指定MAC地址对应VLAN的802.1P优先级。

生成树

二层环路带来的问题

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 问题一:广播风暴
    • 根据交换机的转发原则,如果交换机从一个端口上接收到的是一个广播帧,或者是一个目的MAC地址未知的单播帧,则会将这个帧向除源端口之外的所有其他端口转发。如果交换网络中有环路,则这个帧会被无限转发,此时便会形成广播风暴,网络中也会充斥着重复的数据帧。
    • 本例中,SW3收到了一个广播帧将其进行泛洪,SW1和SW2也会将此帧转发到除了接收此帧的其他所有端口,结果此帧又会被再次转发给SW3,这种循环会一直持续,于是便产生了广播风暴。交换机性能会因此急速下降,并会导致业务中断。
  • 问题二:MAC地址表漂移
    • 交换机是根据所接收到的数据帧的源地址和接收端口生成MAC地址表项的。
    • 本例中,SW3收到一个广播帧泛洪,SW1从GE0/0/1接口接收到广播帧后学习且泛洪,形成MAC地址5489-98EE-788A与GE0/0/1的映射;SW2收到广播帧后学习且泛洪,SW1再次从GE0/0/2收到源MAC地址为5489-98EE-788A的广播帧并进行学习,5489-98EE-788A会不断地在GE0/0/1与GE0/0/2接口之间来回切换,这被称为MAC地址漂移现象。

初始生成树协议

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在以太网中,二层网络的环路会带来广播风暴,MAC地址表震荡,重复数据帧等问题,为解决交换网络中的环路问题,提出了STP。
  • STP通过构造一棵树来消除交换网络中的环路。
  • 运行STP算法,判断网络中存在环路的地方并阻断冗余链路,将环路网络修剪成无环路的树型网络,从而避免了数据帧在环路网络中的增生和无穷循环。

生成树能够动态响应网络拓扑变化调整阻塞接口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图,交换机上运行STP协议,会通过报文监控网络的拓扑结构,正常情况下是将SW3上的一个接口进行阻塞(Block),从而打破环路,当监控到SW1与SW3之间出现链路故障,则恢复阻塞端口进入转发状态。

二层及三层环路

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

常见环路主要分为二层环路和三层环路。

  • 二层环路主要因为网络中部署了二层冗余环境,或人为的误接线缆导致,可以通过借助特定的协议或机制实现二层防环;
  • 三层环路主要因为路由环路,可以通过动态路由协议防环和IP报文头部中的TTL字段用于防止报文被无止尽地转发。

生成树协议应用于园区网络的二层网络中,进行链路备份和消除环路。、

STP概述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STP的基本概念

桥ID

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在STP中,每一台交换机都有一个标示符,叫做Bridge ID或者桥ID,桥ID由16位的桥优先级(Bridge Priority)和48位的MAC地址构成。在STP网络中,桥优先级是可以配置的,取值范围是0~65535,默认值为32768,可以修改但是修改值必须为4096的倍数。优先级最高的设备(数值越小越优先)会被选举为根桥。如果优先级相同,则会比较MAC地址,MAC地址越小则越优先。
  • 如图,需要在该网络中选举根桥,首先比较三台交换机的桥优先级,桥优先级都为4096,再比较三台交换机的MAC地址,谁小谁优先,最终选择SW1为根桥。
根桥

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)概念。
  • 对于一个STP网络,根桥在全网中只有一个,它是整个网络的逻辑中心,但不一定是物理中心。根桥会根据网络拓扑的变化而动态变化。
  • 网络收敛后,根桥会按照一定的时间间隔产生并向外发送配置BPDU,其他设备仅对该报文进行处理,传达拓扑变化记录,从而保证拓扑的稳定。
Cost

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 交换机的每个端口都有一个端口开销(Port Cost)参数,此参数表示该端口在STP中的开销值。默认情况下端口的开销和端口的带宽有关,带宽越高,开销越小。
  • 华为交换机支持多种STP的路径开销计算标准,提供多厂商场景下最大程度的兼容性。缺省情况下,华为交换机使用IEEE 802.1t标准来计算路径开销。
Cost计算方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

RPC

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从一个非根桥到达根桥的路径可能有多条,每一条路径都有一个总的开销值,此开销值是该路径上所有接收BPDU端口的端口开销总和(即BPDU的入方向端口),称为路径开销。非根桥通过对比多条路径的路径开销,选出到达根桥的最短路径,这条最短路径的路径开销被称为RPC,并生成无环树状网络。根桥的根路径开销是0。

Port ID

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

运行STP交换机的每个端口都有一个端口ID,端口ID由端口优先级和端口号构成。端口优先级取值范围是0到240,步长为16,即取值必须为16的整数倍。缺省情况下,端口优先级是128。端口ID可以用来确定端口角色。

BPDU

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 为了计算生成树,交换机之间需要交换相关的信息和参数,这些信息和参数被封装在BPDU中。
  • BPDU有两种类型:配置BPDU和TCN BPDU。
  • 配置BPDU包含了桥ID、路径开销和端口ID等参数。STP协议通过在交换机之间传递配置BPDU来选举根交换机,以及确定每个交换机端口的角色和状态。在初始化过程中,每个桥都主动发送配置BPDU。在网络拓扑稳定以后,只有根桥主动发送配置BPDU,其他交换机在收到上游传来的配置BPDU后,才会发送自己的配置BPDU。
  • TCN BPDU是指下游交换机感知到拓扑发生变化时向上游发送的拓扑变化通知。

配置BPDU的报文格式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

配置BPDU的比较原则

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • STP操作:
    • 选举一个根桥。
    • 每个非根交换机选举一个根端口。
    • 每个网段选举一个指定端口。
    • 阻塞非根、非指定端口。
  • STP中定义了三种端口角色:指定端口,根端口和预备端口。
    • 指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。
    • 根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。
    • 如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。

配置BPDU的转发过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

交换机在刚启动时都认为自己是根桥,互相发送配置BPDU进行STP运算。

STP的计算过程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 什么是根桥?
    • 根桥是STP树的根节点。要生成一棵STP树,首先要确定出一个根桥。
    • 根桥是整个交换网络的逻辑中心,但不一定是它的物理中心。
    • 当网络的拓扑发生变化时,根桥也可能发生变化。
  • (抢占)选举过程:
    • STP交换机初始启动之后,都会认为自己是根桥,并在发送给其他交换机的BPDU中宣告自己为根桥。因此,此时BPDU中的根桥ID为各自设备的网桥ID。
    • 当交换机收到网络中其他设备发送来的BPDU后,会比较BPDU中的根桥ID和自己的BID。
    • 交换机不断交互BPDU,同时对BID进行比较,最终选举一台BID最小的交换机作为根桥,其他的则为非根桥。
    • 如图:根桥的选举先比较优先级,交换机SW1、2、3的优先级相等,则比较MAC地址,也优选最小的,所以SW1的BID最小,因此SW1为根桥,SW2和SW3为非根桥。
  • 注意:
    • 根桥的角色可抢占。当有更优的BID的交换机加入网络时,网络会重新进行STP计算,选出新的根桥。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 什么是根端口?
    • 一个非根桥设备上会有多个端口与网络相连,为了保证从某台非根桥设备到根桥设备的工作路径是最优且唯一的,就必须从该非根桥设备的端口中确定出一个被称为“根端口”的端口,由根端口来作为该非根桥设备与根桥设备之间进行报文交互的端口。
    • 在选举出根桥后,根桥仍然持续发送BPDU,而非根桥将持续不断的收到根桥发送的BPDU。因此,在所有非根桥上选举一个距离根桥“最近”的端口(根端口),在网络收敛后,根端口将不断的收到来自根桥的BPDU。
    • 即:根端口保证了交换机与根桥之间工作路径的唯一性和最优性。
  • 注意:一个非根桥设备上,最多只能有一个根端口。

选举过程:

  1. 交换机有多个端口接入网络,各个端口都会收到BPDU报文,报文中会携带“RootID、RPC、BID、PID”等关键字段,端口会针对这些字段进行PK。
  2. 首先比较根路径开销(RPC),STP协议把根路径开销作为确定根端口的重要依据。RPC值越小,越优选,因此交换机会选RPC最小的端口作为根端口。
  3. 当RPC相同时,比较上行交换机的BID,即比较交换机各个端口收到的BPDU中的BID,值越小,越优选,因此交换机会选上行设备BID最小的端口作为根端口。
  4. 当上行交换机BID相同时,比较上行交换机的PID,即比较交换机各个端口收到的BPDU中的PID,值越小,越优先,因此交换机会选上行设备PID最小的端口作为根端口。
  5. 当上行交换机的PID相同时,则比较本地交换机的PID,即比较本端交换机各个端口各自的PID,值越小,越优先,因此交换机会选端口PID最小的端口作为根端口。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 什么是指定端口?

    • 网络中的每个链路与根桥之间的工作路径必须是唯一的且最优的。当一个链路有两条及以上的路径通往根桥时(该链路连接了不同的交换机,或者该链路连接了同一台交换机的不同端口),与该链路相连的交换机(可能不止一台)就必须确定出一个唯一的指定端口。
    • 因此,每个链路(Link)选举一个指定端口,用于向这个链路发送BPDU。
  • 注意:一般情况下,根桥上不存在任何根端口,只存在指定端口。

  • 选举过程:

    指定端口也是通过比较RPC来确定的,选择RPC最小的作为指定端口,如果RPC相同,则比较BID和PID。

    1. 首先比较根路径开销(RPC),值越小,越优选,因此交换机会选RPC最小的端口作为指定端口。
    2. 若RPC相等,则比较链路两端交换机的BID,值越小,越优选,因此交换机会选BID最小的交换机的端口作为指定端口。
    3. 若BID相等,则比较链路两端端口的PID,值越小,越优选,因此交换机会选PID最小的交换机的端口作为指定端口。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 什么是非指定端口(预备端口)?
  • 在确定了根端口和指定端口之后,交换机上所有剩余的非根端口和非指定端口统称为预备端口。
  • 阻塞非指定端口
    • STP会对这些非指定端口进行逻辑阻塞,即这些端口不能转发由终端计算机产生并发送的帧(用户数据帧)。
    • 一旦非指定端口被逻辑阻塞后,STP树(无环路工作拓扑)就生成了。
  • 注意:
    • 非指定端口可以接收并处理BPDU。
    • 根端口和指定端口既可以接收和发送BPDU,也可以转发用户数据帧。

思考题1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

思考题2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

思考题3

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STP的接口状态

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STP的接口状态迁移

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图中所示为STP的端口状态迁移机制,运行STP协议的设备上端口状态有5种:

  • Forwarding:转发状态。端口既可转发用户流量也可转发BPDU报文,只有根端口或指定端口才能进入Forwarding状态。
  • Learning:学习状态。端口可根据收到的用户流量构建MAC地址表,但不转发用户流量。增加Learning状态是为了防止临时环路。
  • Listening:侦听状态。端口可以转发BPDU报文,但不能转发用户流量。
  • Blocking:阻塞状态。端口仅仅能接收并处理BPDU,不能转发BPDU,也不能转发用户流量。此状态是预备端口的最终状态。
  • Disabled:禁用状态。端口既不处理和转发BPDU报文,也不转发用户流量。

拓扑变化

根桥故障

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 根桥故障:
    • 在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。
    • 如果根桥发生了故障,停止发送BPDU,下游交换机就无法收到来自根桥的BPDU报文。
    • 如果下游交换机一直收不到BPDU报文,Max Age计时器(缺省: 20s)就会超时,从而导致已经收到的BPDU报文失效,此时,非根桥会互相发送配置BPDU,重新选举新的根桥。
  • 端口状态:
    • SW3的预备端口,20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
  • 收敛时间:
    • 根桥故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时间。
物理链路故障

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物理链路故障:

  • 当两台交换机间用两条链路互连时,其中一条是主用链路,另一条为备用链路。
  • 当网络稳定时,交换机SW2检测到根端口的链路发生故障,则其备用端口会进入用户流量转发状态。

端口状态:

  • 备用端口会从Blocking状态,迁移到Listening-Learning-Forwarding状态。
  • 收敛时间:直连链路故障,备用端口会经过30s后恢复转发状态。
非物理链路故障

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 非直连故障在稳定的STP网络,非根桥会定期收到来自根桥的BPDU报文。

    • 若SW1与SW2之间的链路发生了某种故障(非物理故障),因此SW2一直收不到来自根桥SW1的BPDU报文,Max Age计时器(缺省: 20 s)就会超时,从而导致已经收到的BPDU报文失效。
    • 此时,非根桥SW2会认为根桥失效,并且认为自己是根桥,从而发送自己的配置BPDU给SW3,通知SW3自己是新的根桥。
    • 在此期间,SW3的预备端口一直收不到包含根桥ID的BPDU,Max Age计时器超时后,端口进入到Listening状态,开始向SW2“转发”从上游发来的包含根桥ID的BPDU。
    • 因此,Max Age定时器超时后,SW2和SW3几乎同时收到对方发来的BPDU,再进行STP重新计算,SW2发现SW3发来的BPDU更优,就放弃宣称自己是根桥并重新确定端口角色。
  • 端口状态:

    • SW3预备端口20s后会从Blocking状态进入到Listening状态,再进入Learning状态,最终进入到Forwarding状态,进行用户流量的转发。
  • 收敛时间:

    • 非直连故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay收敛时间。

拓扑改变导致MAC地址表错误

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在交换网络中,交换机依赖MAC地址表转发数据帧。缺省情况下,MAC地址表项的老化时间是300秒。如果生成树拓扑发生变化,交换机转发数据的路径也会随着发生改变,此时MAC地址表中未及时老化掉的表项会导致数据转发错误,因此在拓扑发生变化后需要及时更新MAC地址表项。
  • 本例中,SW2中的MAC地址表项定义了通过端口GigabitEthernet 0/0/1可以到达主机A,通过端口GigabitEthernet 0/0/3可以到达主机B。由于SW3的根端口产生故障,导致生成树拓扑重新收敛,在生成树拓扑完成收敛之后,从主机A到主机B的帧仍然不能到达目的地。这是因为MAC地址表项老化时间是300秒,主机A发往主机B的帧到达SW2后,SW2会继续通过端口GigabitEthernet 0/0/3转发该数据帧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

拓扑变化过程中,根桥通过TCN BPDU报文获知生成树拓扑里发生了故障。根桥生成TC用来通知其他交换机加速老化现有的MAC地址表项。

拓扑变更以及MAC地址表项更新的具体过程如下:

  • SW3感知到网络拓扑发生变化后,会不间断地向SW2发送TCN BPDU报文。
  • SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。
  • SW2向根桥转发TCN BPDU报文。
  • SW1把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。
  • 最多等待15 s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。

STP的基础配置命令

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

案例1

STP的基础配置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

STP的不足之处

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

RSTP的概述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。
  • RSTP(快速生成树)是从STP演化而来的,基本思想一样;当交换网络拓扑结构发生变化时, RSTP可以通过Proposal/Agreement机制更快地恢复网络的连通性。
  • 根据STP的不足,RSTP删除了3种端口状态,新增加了2种端口角色,并且把端口属性充分的按照状态和角色解耦;此外,RSTP还增加了相应的一些增强特性和保护措施,实现网络的稳定和快速收敛。
  • RSTP是可以与STP实现后向兼容的,但在实际中,并不推荐这样的做法,原因是RSTP会失去其快速收敛的优势,而STP慢速收敛的缺点会暴露出来。
  • RSTP对STP的其他改进:
    • 配置BPDU的处理发生变化:
      • 拓扑稳定后,配置BPDU报文的发送方式进行了优化;
      • 使用更短的BPDU超时计时;
      • 对处理次等BPDU的方式进行了优化;
    • 配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口角色。
    • RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度。

RSTP对STP的其他改进

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

端口角色不同

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从配置BPDU报文发送角度来看:

  • 预备(Alternate)接口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的接口。
  • 备份(Backup)接口就是由于学习到自己发送的配置BPDU报文而阻塞的接口。

从用户流量角度来看:

  • Alternate接口提供了从指定桥到根的另一条可切换路径,作为根接口的备份接口。
  • Backup接口作为指定接口的备份,提供了另一条从根桥到相应网段的备份通路。

边缘端口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在STP中用户终端接入交换设备端口状态由Disabled状态转到Forwarding状态需要经过15s,那么用户在这段时间无法上网,如果网络频繁变化,用户上网状态非常不稳定,时断时续。
  • 边缘端口一般与用户终端设备直接连接,不与任何交换设备连接。边缘端口正常情况下接收不到配置BPDU报文,不参与RSTP运算,可以由Disabled状态直接转到Forwarding状态,且不经历时延,就像在端口上将STP禁用了一样。但是,一旦边缘端口收到配置BPDU报文,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

端口状态不同

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

RSTP把原来STP的5种端口状态简化成了3种。

  • Discarding状态,端口既不转发用户流量也不学习MAC地址。
  • Learning状态,端口不转发用户流量但是学习MAC地址。
  • Forwarding状态,端口既转发用户流量又学习MAC地址。

STP/RSTP的缺陷

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VBST:基于VLAN的生成树

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 企业网中部署VBST:
    • 可消除网络中可能存在的通信环路。
    • 可实现链路的复用和流量的负载分担,进而有效地提高链路带宽的利用率。
    • 配置和维护简单,进而可降低配置和维护成本。
  • 但是如果网络中VLAN的数量较多,为每个VLAN执行独立的生成树计算将耗费交换机大量的资源。

MSTP:多生成树

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MSTP概述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

堆叠与园区网络树形结构组网形态

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 堆叠iStack(Intelligent Stack),是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台整体交换设备。
  • 堆叠系统建立之前,每台交换机都是单独的实体,有自己独立的IP地址和MAC地址,对外体现为多台交换机,用户需要独立的管理所有的交换机;堆叠建立后堆叠成员对外体现为一个统一的逻辑实体,用户使用一个IP地址对堆叠中的所有交换机进行管理和维护,如图所示。通过交换机堆叠,可以实现网络大数据量转发和网络高可靠性,同时简化网络管理。

Smart Link

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如图所示Switch3采用双上行方式分别连接到FW1和FW2,这样Switch3到达上行的链路就可以有两条。在Switch3上配置Smart Link,正常情况下,可实现Port2所在链路作为Port1所在链路的备份。若Port1所在的链路发生故障,Smart Link会自动将数据流量切换到Port2所在链路,保证业务不中断。

扑稳定后,配置BPDU报文的发送方式进行了优化;
- 使用更短的BPDU超时计时;
- 对处理次等BPDU的方式进行了优化;

  • 配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了接口角色。
  • RSTP拓扑变化处理:相比于STP进行了优化,加速针对拓扑变更的反应速度。

RSTP对STP的其他改进

[外链图片转存中…(img-uddoFRfJ-1721102175313)]

端口角色不同

[外链图片转存中…(img-zfdp6e7d-1721102175313)]

从配置BPDU报文发送角度来看:

  • 预备(Alternate)接口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的接口。
  • 备份(Backup)接口就是由于学习到自己发送的配置BPDU报文而阻塞的接口。

从用户流量角度来看:

  • Alternate接口提供了从指定桥到根的另一条可切换路径,作为根接口的备份接口。
  • Backup接口作为指定接口的备份,提供了另一条从根桥到相应网段的备份通路。

边缘端口

[外链图片转存中…(img-9YcoQ0jp-1721102175313)]

  • 在STP中用户终端接入交换设备端口状态由Disabled状态转到Forwarding状态需要经过15s,那么用户在这段时间无法上网,如果网络频繁变化,用户上网状态非常不稳定,时断时续。
  • 边缘端口一般与用户终端设备直接连接,不与任何交换设备连接。边缘端口正常情况下接收不到配置BPDU报文,不参与RSTP运算,可以由Disabled状态直接转到Forwarding状态,且不经历时延,就像在端口上将STP禁用了一样。但是,一旦边缘端口收到配置BPDU报文,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

端口状态不同

[外链图片转存中…(img-R4lJBcpF-1721102175314)]

RSTP把原来STP的5种端口状态简化成了3种。

  • Discarding状态,端口既不转发用户流量也不学习MAC地址。
  • Learning状态,端口不转发用户流量但是学习MAC地址。
  • Forwarding状态,端口既转发用户流量又学习MAC地址。

STP/RSTP的缺陷

[外链图片转存中…(img-cTicFLrG-1721102175314)]

VBST:基于VLAN的生成树

[外链图片转存中…(img-sA9256Ez-1721102175314)]

  • 企业网中部署VBST:
    • 可消除网络中可能存在的通信环路。
    • 可实现链路的复用和流量的负载分担,进而有效地提高链路带宽的利用率。
    • 配置和维护简单,进而可降低配置和维护成本。
  • 但是如果网络中VLAN的数量较多,为每个VLAN执行独立的生成树计算将耗费交换机大量的资源。

MSTP:多生成树

[外链图片转存中…(img-EZuXRoa3-1721102175314)]

MSTP概述

[外链图片转存中…(img-VxVPDBGS-1721102175314)]

堆叠与园区网络树形结构组网形态

[外链图片转存中…(img-RSRamwbG-1721102175315)]

  • 堆叠iStack(Intelligent Stack),是指将多台支持堆叠特性的交换机设备组合在一起,从逻辑上组合成一台整体交换设备。
  • 堆叠系统建立之前,每台交换机都是单独的实体,有自己独立的IP地址和MAC地址,对外体现为多台交换机,用户需要独立的管理所有的交换机;堆叠建立后堆叠成员对外体现为一个统一的逻辑实体,用户使用一个IP地址对堆叠中的所有交换机进行管理和维护,如图所示。通过交换机堆叠,可以实现网络大数据量转发和网络高可靠性,同时简化网络管理。

Smart Link

[外链图片转存中…(img-i28sy6NM-1721102175315)]

如图所示Switch3采用双上行方式分别连接到FW1和FW2,这样Switch3到达上行的链路就可以有两条。在Switch3上配置Smart Link,正常情况下,可实现Port2所在链路作为Port1所在链路的备份。若Port1所在的链路发生故障,Smart Link会自动将数据流量切换到Port2所在链路,保证业务不中断。

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值