LAN定义:通常指几公里以内的,可以通过某种介质互联的计算机、打印机、modem或其他设备的集合。
特点:距离短、延迟小、数据速率高、传输可靠。
WAN定义:在大范围区域内提供数据通信服务,主要用于互连局域网。
WAN分类:
共用电话网:PSTN
综合业务数字网:ISDN
数字数据网:DDN
X.25共用分组交换网
帧中继:Frame Relay
异步传输模式:ATM
WAN交换模式:
电路交换:基于电话网的电路交换
优点:时延小、透明传输;
缺点:带宽固定,网络资源利用率低。
分组交换:以分组为单位存储转发
优点:多路复用,网络资源利用率高;
缺点:实时性差
网络的时延(delay):又称延迟,定义了网络把一位数据从一个网络节点传送到另一个网络节点所需要的时间
网络延迟主要由传导延迟(propagation delay)、交换延迟(switchingdelay)、介质访问延迟(access delay)和队列延迟(queuingdelay)组成
LAN的拓扑结构:总线(bus)型、星型(star)
WAN的网络拓扑结构:星型、树型、全网状(Full meshed)、半网状
电子电器工程师协会(IEEE,Instituteof Electrical and Electronics Engineers):
提供了网络硬件上的标准使各种不同网络硬件厂商生产的硬件设备相互连通。IEEE LAN标准是当今居于主导地位的LAN标准。它主要定义了802.X协议族,其中
802.1描述了基本的局域网需要解决的问题,例如802.1d描述了生成树协议。
802.2 小组负责逻辑链路子层(LLC)标准的制定。
802.3为以太网标准协议簇、
802.4为令牌总线网(Toking Bus)标准、
802.5为令牌环网(Toking Ring)标准、
802.11为无线局域网(WLAN)标准。
OSI参考模型依层次结构来划分:第一层,物理层(Physical layer);
第二层,数据链路层(data link layer);
第三层,网络层(network layer);
第四层,传输层(transport layer);
第五层,会话层(session layer);
第六层,表示层(presentation layer);
第七层,应用层(application layer)。
模型第一层到第三层称为底层(lower layer),又叫介质层(MediaLayer)。这些层负责数据在网络中的传送,网络互连设备往往位于下三层。底层通常以硬件和软件相结合的方式来实现。OSI参考模型的第五层到第七层称为高层(upper layer),又叫主机层(host layer)。高层用于保障数据的正确传输,通常以软件方式来实现
数据终端设备(DTE,DataTerminal Equipment):DTE指位于用户网络接口用户端设备。数据电路终端设备(DCE,DataCircuit Equipment):DCE提供到网络的物理连接口,提供了用于同步DTE和DCE设备之间数据传输的时钟信号。
DTE设备接近用户侧,DCE设备接近网络侧。常用于DTE设备的有:终端主机、路由器;常用于DCE设备的有:广域网交换机、Modem、CSU/DSU(Channel Service Unit/Data Service Unit)
数据链路层分为两个子层:逻辑链路控制子层(LLC,LogicLink Control sublayer),介质访问控制子层(MAC,Media Access Controlsublayer)。
逻辑链路控制子层提供了面向连接与面向无连接的网络服务环境的需要。该层用于管理通过单一链路连接的两个系统间的通讯,它允许多个高层网络协议共享一条链路。
LLC子层位于网络层和MAC子层之间,是上层和下一层的管理层,负责流量控制、同步等。LLC子层通过SSAP(源服务访问点,Source Service Access Point)和DSAP(目的服务访问点,Destination Service Access Point)负责底层协议与网络层协议的通信。
MAC子层负责把物理层的“0”,“1”比特流组建成帧,并且通过帧尾部的CRC(CyclicRedundancy Check,循环冗余校验)子段进行错误检测。总之,MAC子层定义了网络对共享介质的访问。
PPP协议:由LCP(Link Control Protocol)、NCP(Network Control Protocol)以及PPP扩展协议簇组成。LCP规定了链路建立、维护以及拆除。
HDLC:是ISO开发的一种面向位同步的数据链路层协议,它规定了使用帧字符和校验和的同步串行链路的数据封装方法。
可路由协议(routed protocol):可路由协议是定义数据包内各个字段的格式和用途的网络层封装协议,该网络层协议允许将数据包从一个网络设备转发到另外一个网络设备。常见的可路由协议有TCP/IP协议栈中的IP协议、Novell IPX/SPX协议栈的IPX协议。
路由协议(routing protocol):路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其他路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;可路由协议与路由协议协同工作,执行路由选择和数据包转发功能。
在每一个协议栈中都制定了一些路由协议创建路由表。例如,OSI参考模型的IS-IS(Intermediate System to Intermediate System)协议;TCP/IP协议栈的RIP(RoutingInformation Protocol,路由信息协议)协议、OSPF(OpenShortest Path First,开放式最短路径优先)协议;IPX/SPX协议栈的IPX RIP协议等。
传输层主要定义了主机应用程序间端到端的连通性,它一般包含四项基本功能。
1.将应用层发往网络层的数据分段或将网络层发往应用层的数据段合并。
2.建立端到端的连接,主要是建立逻辑连接以传送数据流。
3.将数据段从一台主机发往另一台主机。在传送过程中通过计算校验和以及通过流控制的方式保证数据的正确性,流控制可以避免缓冲区溢出。
4.部分传输层协议保证数据传送正确性。主要是在数据传送过程中确保同一数据既不多次传送也不丢失。同时还要保证数据包的接收顺序与发送顺序一致。
传输层协议主要有TCP/IP协议栈的TCP协议和UDP协议,IPX/SPX协议栈的SPX协议等。其中,TCP协议和SPX协议为应用程序提供可靠的、面向连接的服务;UDP协议提供不可靠的、无连接的服务。
三种常用的流量控制技术:缓存(buffering)技术、源抑制报文(sourcequench messages)、窗口机制(windowing)
窗口机制流量控制过程。
1、源设备向目的设备发送一定数量(如果窗口大小为3,就发送3个)的数据包;
2、目的设备收到数据包,向源设备发送确认报文;
3、源设备收到确认报文,向目的设备发送同样数量的数据包;
4、如果目的设备由于某些原因(例如缓冲区数据溢出等)没有收到全部或者部分数据包,则不向源设备发送后续的确认报文。源设备通过调节窗口大小,降低数据传送速率,重发数据包
面向连接的服务:适合延迟敏感性应用
建立连接
数据传输
断开连接
无连接的服务:适合延迟不敏感的应用
无需建立连接
资源动态分配
TCP/IP协议简化了层次设计,只有五层:应用层、传输层、网络层、数据链路层和物理层
网络层的主要协议:IP、ICMP(InternetControl Message Protocol,互联网控制报文协议)、IGMP(InternetGroup Management Protocol,互联网组管理协议)、ARP(AddressResolution Protocol,地址解析协议)和RARP(ReverseAddress Resolution Protocol,反向地址解析协议)
传输层的主要协议:TCP、UDP(UserDatagraph Protocol,用户数据报协议)
应用层:常用的应用程序,HTTP(HyperText Transfer Protocol文本传输协议)、Telnet(远程登录)、FTP(FileTransfer Protocol)
传输控制协议TCP:为应用程序提供可靠的面向连接的通信服务,适用于要求得到响应的应用程序。目前,许多流行的应用程序都使用TCP。
用户数据报协议UDP:提供了无连接通信,且不对传送数据包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。
TCP协议通过以下过程来保证端到端数据通信的可靠性:
1、TCP实体把应用程序划分为合适的数据块,加上TCP报文头,生成数据段;
2、当TCP实体发出数据段后,立即启动计时器,如果源设备在计时器清零后仍然没有收到目的设备的确认报文,重发数据段;
3、当对端TCP实体收到数据,发回一个确认。
4、TCP包含一个端到端的校验和字段,检测数据传输过程的任何变化。如果目的设备收到的数据校验和计算结果有误,TCP将丢弃数据段,源设备在前面所述的计时器清零后重发数据段。
5、由于TCP数据承载在IP数据包内,而IP提供了无连接的、不可靠的服务,数据包有可能会失序。TCP提供了重新排序机制,目的设备将收到的数据重新排序,交给应用程序。
6、TCP提供流量控制。TCP连接的每一端都有缓冲窗口。目的设备只允许源设备发送自己可以接收的数据,防止缓冲区溢出。
7、TCP支持全双工数据传输。
UDP报文没有可靠性保证和顺序保证字段,流量控制字段等,可靠性较差。当然,使用传输层UDP服务的应用程序也有优势。正因为UDP协议较少的控制选项,在数据传输过程中,延迟较小,数据传输效率较高,适合于对可靠性要求并不高的应用程序,或者可以保障可靠性的应用程序像DNS、TFTP、SNMP等;UDP协议也可以用于传输链路可靠的网络。
TCP协议和UDP协议使用16bits端口号(或者socket)来表示和区别网络中的不同应用程序,网络层协议IP使用特定的协议号(TCP6,UDP 17)来表示和区别传输层协议。
任何TCP/IP实现所提供的服务都是1~1023之间的端口号,这些端口号由IANA(Internet Assigned Numbers Authority,Internet号码分配机构)分配管理。其中,低于255的端口号保留用于公共应用;255到1023的端口号分配给各个公司,用于特殊应用;对于高于1023的端口号,称为临时端口号,IANA未做规定。
常用的TCP端口号有:HTTP 80,FTP 20/21,Telnet 23,SMTP 25,DNS 53等;常用的保留UDP端口号有:DNS 53,BootP 67(server)/ 68(client),TFTP 69,SNMP 161等。
TCP协议的协议号为6,UDP协议的协议号为17。
IP(Internet Protocol)协议:IP协议和路由协议协同工作,寻找能够将数据包传送到目的端的最优路径。IP协议不关心数据报文的内容,提供无连接的、不可靠的服务。
ARP协议(Address Resolution Protocol,地址解析协议):把已知的IP地址解析为MAC地址;
RARP(Reverse Address ResolutionProtocol,反向地址解析协议):用于数据链路层地址已知时,解析IP地址;
ICMP(Internet Control MessageProtocol,网际控制消息协议):定义了网络层控制和传递消息的功能。
IGMP(Internet Group ManagementProtocol,网际组管理协议):一种组播应用协议。
ARP、RARP请求以广播方式发送,ARP、RARP应答一般以单播方式发送,以节省网络资源。
网际控制消息协议ICMP:是一个网络层的协议,它提供了错误报告和其它回送给源点的关于 IP 数据包处理情况的消息。ICMP通常为IP层或者更高层协议使用,一些ICMP报文把差错报文返回给用户进程。ICMP报文通常被封装在IP数据包内传输。
ICMP包含几种不同的消息,其中ping程序借助于echo request消息,主机可通过它来测试网络的可达性,ICMP Echo Reply 消息表示该节点是可达的。ICMP还定义了源抑制(sourcequench)报文。
IP包结构:
�版本�部首长度�服务类型�总长度 � IP
� 标识符 �标志 �片偏移� 报
� 生存时间 �协议�部道校验和� 文
� 源IP地址 � 头
� 目的IP地址 �
� 长度可变的任选字段 �填充�
� 数据 �
版本:4比特 IPv4
首部长度:单位为4字节最大60字节
总长度:单位字节最大65535字节
标识:数据包分片后重组
标志:占3比特,只用到低位的两个比特
MF More Fragment
MF=1,后面还有分片的数据包
MF=0,分片数据包的最后一个
DF Don't Fragment
DF=1,不允许分片
DF=0,允许分片
段偏移:分片后的分组在原分组中的相对位置总共13比特单位为8字节
生存时间:TTL( Time ToLive),丢弃TTL=0的报文
协议:携带的是何种协议报文
1 ICMP
6 TCP
17 UDP
89 OSPF
IP报文头固定为20个字节
TCP连接的三步握手:
1、主机发送一个序列号为a的报文段1;
2、服务器发回包含序列号为b的报文段2,并用确认号a+1对主机的报文段1进行确认;
3、主机接收服务器发回的报文段2,发送报文段3,用确认号b+1对报文段2进行确认。
这样在主机和服务器之间建立了一条TCP连接,这个过程被称为三步握手(three-way handshake)。接下来,数据传输开始
IP地址共分为五类
A类:1.0.0.0~126.255.255.255 私网地址:10.0.0.0~10.255.255.255
B类:127.0.0.0~191.255.255.255 私网地址:172.16.0.0~172.31.255.255
C类:192.0.0.0~223.255.255.255 私网地址:192.168.0.0~192.168.255.255
D类:224.0.0.0~239.255.255.255
E类:240.0.0.0~255.255.255.255
PPP(Point-to-Point Protocol)协议:是在SLIP的基础上发展起来的,由于SLIP只支持异步传输方式、无协商过程,它逐渐被PPP协议所替代。PPP协议作为一种提供在点到点链路上封装、传输网络层数据包的数据链路层协议,处于OSI参考模型的第二层,主要被设计用来在支持全双工的同异步链路上进行点到点之间的数据传输。
物理层可以是同步电路或异步电路
PPP协议及PPP协议中的五个阶段
PPP 主要由三类协议组成链路控制协议族(LCP) 网络层控制协议族(NCP)和PPP扩展协议族组成。
链路控制协议(LCP):建立、配置、测试PPP数据链路连接 ;
网络控制协议族(NCPs):协商在该链路上所传输的数据包的格式与类型,建立、配置不同网络层协议;
PPP扩展协议族:提供对PPP功能的进一步支持。
PPP协商分为五个阶段:
1、Dead阶段
当物理层不可用时,PPP链路处于dead阶段,链路必须从这个阶段开始和结束。当物理层可用时, PPP在建立链路之前首先进行LCP协商,协商内容包括工作方式是SP还是MP、验证方式和最大传输单元等。
2、Establish阶段
LCP协商过后就进入Establish阶段,此时LCP状态为Opened,表示链路已经建立
3、Authenticate阶段
如果配置了验证(远端验证本地或者本地验证远端)就进入Authenticate阶段,开始CHAP或PAP验证。
4、Network阶段
如果验证失败进入Terminate阶段,拆除链路,LCP状态转为Down;如果验证成功就进入Network协商阶段(NCP),此时LCP状态仍为Opened,而IPCP状态从Initial转到Request。
5、Terminate 阶段
NCP协商支持IPCP协商,IPCP协商主要包括双方的IP地址。通过NCP协商来选择和配置一个网络层协议。当选中的网络层协议配置成功后,该网络层协议就可以通过这条链路发送报文了。
PPP用于网络安全方面的验证协议族:PAP、CHAP
PAP:PAP验证为两次握手验证,口令为明文,PAP验证的过程如下:
1、被验证方发送用户名和口令到验证方;
2、验证方根据用户配置查看是否有此用户以及口令是否正确,然后返回不同的响应(Acknowledgeor Not Acknowledge)。
3、如正确则会给对端发送ACK报文,通告对端已被允许进入下一阶段协商;否则发送NAK报文,通告对端验证失败。此时,并不会直接将链路关闭。只有当验证不通过次数达到一定值(缺省为4)时,才会关闭链路,来防止因误传、网络干扰等造成不必要的LCP重新协商过程。
PAP的特点是在网络上以明文的方式传递用户名及口令,如在传输过程中被截获,便有可能对网络安全造成极大的威胁。因此,它适用于对网络安全要求相对较低的环境。
CHAP:CHAP验证为三次握手验证,口令为密文(密钥),CHAP验证过程如下:
1、验证方向被验证方发送一些随机产生的报文,并同时将本端的主机名附带上一起发送给被验证方;
2、被验证方接到对端对本端的验证请求(Challenge)时,便根据此报文中验证方的主机名和本端的用户表查找用户口令字,如找到用户表中与验证方主机名相同的用户,便利用接收到的随机报文、此用户的密钥用Md5算法生成应答(Response),随后将应答和自己的主机名送回;
3、验证方接到此应答后,利用对端的用户名在本端的用户表中查找本方保留的口令字,用本方保留的口令字(密钥)和随机报文用Md5算法得出结果,与被验证方应答比较,根据比较结果返回相应的结果(ACK or NAK)。
它的特点是只在网络上传输用户名,而并不传输用户口令,因此它的安全性要比PAP高。
MP:是MultiLink PPP的缩写,是人们出于增加带宽的考虑,将多个PPP链路捆绑使用产生的,简称MP。MultiLinkPPP允许将报文分片,分片将从多个点对点链路上送到同一个目的地
MP方式下链路协商过程
1) 首先和对端进行LCP协商,协商过程中,除了协商一般的LCP参数外,还验证对端接口是否也工作在MP方式下。如果对端不工作在MP方式下,则在LCP协商成功后,进行一般的NCP协商步骤,不进行MP捆绑。
2) 然后对PPP进行验证,得到对方的用户名。如果在LCP协商中得知对端也工作在MP方式下,则根据用户名找到为该用户指定的虚拟接口模板,并以该虚拟模板的各项NCP参数(如IP地址等)为参数进行NCP协商,物理接口配置的NCP参数不起作用。NCP协商通过后,即可建立MP链路,用更大的带宽传输数据。
E1/CE1:在PDH中,以两种基本的PCM 通信系统作为其基础,一种是由ANSI 推荐的T1系统,一种是ITU-T推荐的E1系统。T1系统主要在北美得到广泛使用(日本采用的J1,与T1 基本相似),而欧洲以及中国使用的则是E1系统。
PCM:即脉冲编码调制,它通常包含三个过程:抽样、量化和编码。
PCM量化方法有两种:一种是北美和日本的u律压扩(15折线法分段);令一种是欧洲和我国采用的A律压扩(13折线法分段)。T1系统采用u律压扩方法,它有24个时隙。E1系统采用A律压扩,它有32个时隙。
DS0:量化后的数据进行编码,就实现了将模拟信号变化成64K标准速率的PCM信号了,我们通常称其为DS0(digitalsignal-level zero )
时分复用:是将某一信道按时间加以分割,各路信号的抽样值依一定的顺序占用某一时间间隔(也称作时隙),即多路信号利用同一个信道在不同的时间进行各自独立的传输。
E1:相当于一个不分时隙、数据带宽为2M的接口,其逻辑特性与同步串口相同,支持PPP、帧中继等链路层协议,支持IP网络协议。
CE1:在物理上分为32个时隙,对应编号为0~31。其中的31个时隙可以被任意地分成若干组(时隙0用于传送帧同步信号,不能被捆绑),每组时隙捆绑以后作为一个接口(channel-group)使用,其逻辑特性与同步串口相同,支持PPP、HDLC、FR、LAPB和X.25等链路层协议,支持IP等网络协议。
POS(Packet Over SONET/SDH):是一种新出现的在SONET/SDH上承载IP和其他数据包的传输技术。
SONET(Synchronous Optical Network)同步光学网络:是ANSI定义的同步传输体制,包含一组以51.840Mbps(STS-1)为基数的速率,如STS-3(155.520)、STS-9(466.560)、STS-12(622.080)、STS-18(933.120)、STS-24(1,244.160)、STS-36(1,866.240)、STS-48(2,488.320)。
SONET是一种全球化的标准传输协议。它通过工业标准化接口提供了强大,速率可选的传输机制。
SDH(Synchronous Digital Hierarchy)同步数字系列:是CCITT定义的,它使用了SONET速率的一个子集。基本速率是155.520Mbps(STM-1),以4的倍数递增如STM-4(622.080)、STM-16(2,488.32)。
802.3 线缆名称 电缆 最大区间长度
10BASE-5 粗同轴电缆 500m
10BASE-2 细同轴电缆 200m
10BASE-T 双绞线 100m
10BASE-F 光纤 2000m
802.3规定两个收发器间不得超过2.5km,任意两个收发器间的路径上不得有4个以上的中继器。
以太网帧结构:
VLAN:虚拟局域网(VLAN――Virtual Local Area Network)逻辑上把网络资源和网络用户按照一定的原则进行划分,把一个物理上实际的网络划分成多个小的逻辑的网络
IEEE802.1Q协议:IEEE802.1Q是虚拟桥接局域网的正式标准,定义了同一个物理链路上承载多个子网的数据流的方法。IEEE 802.1Q定义了VLAN帧格式,为识别帧属于哪个VLAN提供了一个标准的方法。这个格式统一了标识VLAN的方法,有利于保证不同厂家设备配置的VLAN可以互通。
IEEE 802.1Q定义了以下内容:
VLAN的架构;
VLAN中所提供的服务;
VLAN实施中涉及的协议和算法
IEEE802.1Q协议不仅规定VLAN中的MAC帧的格式,而且还制定诸如帧发送及校验、回路检测,对业务质量(QOS)参数的支持以及对网管系统的支持等方面的标准。
VLAN的划分方法:
1、 基于端口的VLAN
这种划分VLAN的方法是根据以太网交换机的端口来划分,比如交换机的1~4端口为VLAN A,5~17为VLAN B,18~24为VLAN C。当然,这些属于同一VLAN的端口可以不连续,如何配置,由管理员决定。
2、基于MAC地址的VLAN
这种划分VLAN的方法是根据每个主机的MAC地址来划分,即对所有主机都根据它的MAC地址配置主机属于哪个VLAN;交换机维护一张VLAN映射表,这个VLAN表记录MAC地址和VLAN的对应关系。这种划分VLAN的方法的最大优点就是当用户物理位置移动时,即从一个交换机换到其他的交换机时,VLAN不用重新配置,所以,可以认为这种根据MAC地址的划分方法是基于用户的VLAN。
这种方法的缺点是初始化时,所有的用户都必须进行配置,如果用户很多,配置的工作量是很大的。此外这种划分的方法也导致了交换机执行效率的降低,因为在每一个交换机的端口都可能存在很多个VLAN组的成员,这样就无法限制广播包。另外,对于使用笔记本电脑的用户来说,他们的网卡可能经常更换,这样,VLAN就必须不停的配置。
3、基于协议的VLAN
这种情况是根据二层数据帧中协议字段进行VLAN的划分。通过二层数据中协议字段,可以判断出上层运行的网络协议,如IP协议或者是IPX协议。如果一个物理网络中既有IP网络又有IPX等多种协议运行的时候,可以采用这种VLAN的划分方法。
4、基于子网的VLAN
基于IP子网的VLAN根据报文中的IP地址决定报文属于哪个VLAN:同一个IP子网的所有报文属于同一个VLAN。这样,可以将同一个IP子网中的用户被划分在一个VLAN内。
VLAN的帧格式:
DA |
SA |
Type |
Data |
CRC |
标准的以太网帧
DA |
SA |
Type |
tag |
Data |
CRC |
� TCI �
TPID |
Priority |
CFI |
VLAN |
ID |
带有IEEE802.1Q标记的以太网帧
1、 每一个支持802.1Q协议的交换机端口,在发送数据包时,都在原来的以太网帧头中的
源地址后增加了一个四个字节的802.1Q标签头,这个标签头包含了2个字节的标签协议标识(TPID)和2个字节的标签控制信息(TCI)。
TPID(Tag Protocol Identifier)是IEEE定义的新的类型,表明这是一个加了802.1Q标签的帧。TPID包含了一个固定的值0x8100。
TCI是包含的是帧的控制信息,它包含了下面的一些元素:
Priority:这3 位指明帧的优先级。一共有8种优先级,0-7。IEEE 802.1Q标准使用这三位信息。
Canonical Format Indicator( CFI ):CFI值为0说明是规范格式,1为非规范格式。它被用在令牌环/源路由FDDI介质访问方法中来指示封装帧中所带地址的比特次序信息。
VLANIdentified( VLAN ID ): 这是一个12位的域,指明VLAN的ID,一共4096个,每个支持802.1Q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。
在一个交换网络环境中,以太网的帧有两种格式:有些帧是没有加上这四个字节标志的,称为未标记的帧(ungtagged frame),有些帧加上了这四个字节的标志,称为带有标记的帧(taggedframe)。
2、VLAN Identified( VLAN ID ): 这是一个12位的域,指明VLAN的ID,一共4096个,每个支持802.1Q协议的交换机发送出来的数据包都会包含这个域,以指明自己属于哪一个VLAN。
3、在一个交换网络环境中,以太网的帧有两种格式:有些帧是没有加上这四个字节标志的,称为未标记的帧(ungtagged frame),有些帧加上了这四个字节的标志,称为带有标记的帧(taggedframe)。
接入链路:指的是用于连接主机和交换机的链路。通常情况下主机并不需要知道自己属于哪些VLAN,主机的硬件也不一定支持带有VLAN标记的帧。主机要求发送和接收的帧都是没有打上标记的帧。
接入链路属于某一个特定的端口,这个端口属于一个并且只能是一个VLAN。这个端口不能直接接收其它VLAN的信息,也不能直接向其它VLAN发送信息。不同VLAN的信息必须通过三层路由处理才能转发到这个端口上。
干道链路:是可以承载多个不同VLAN数据的链路。干道链路通常用于交换机间的互连,或者用于交换机和路由器之间的连接。干道链路的英文叫做“trunk link”。
数据帧在干道链路上传输的时候,交换机必须用一种方法来识别数据帧是属于哪个VLAN的。IEEE 802.1Q定义了VLAN帧格式,所有在干道链路上传输的帧都是打上标记的帧(tagged frame)。通过这些标记,交换机就可以确定哪些帧分别属于哪个VLAN。
干道链路是用来在不同的设备之间(如交换机和路由器之间、交换机和交换机之间)承载VLAN数据的,因此干道链路是不属于任何一个具体的VLAN的。通过配置,干道链路可以承载所有的VLAN数据,也可以配置为只能传输指定的VLAN的数据。
干道链路虽然不属于任何一个具体的VLAN,但是可以给干道链路配置一个pvid(port VLAN ID)。当干道链路不论因为什么原因,trunk链路上出现了没有带标记的帧,交换机就给这个帧增加带有pvid的VLAN标记,然后进行处理。
干道链路上传送的都是Tagged Frame,接入链路上传送的都是Untagged Frame。这样做的最终结果是:网络中配置的VLAN可以被所有的交换机正确处理,而主机不需要了解VLAN信息。
GVRP(GARP VLAN Registration Protocol):是VLAN注册协议,GVRP基于GARP的工作机制,是GARP的一种应用,维护交换机中的VLAN动态注册信息并传播该信息到其他的交换机中。所有支持GVRP特性的交换机能够接收来自其它交换机的VLAN注册信息,并动态更新本地的VLAN注册信息,包括当前的VLAN成员、这些VLAN成员可以通过哪个端口到达等。而且所有支持GVRP特性的交换机能够将本地的VLAN注册信息向其他交换机传播,以便使同一交换网内所有支持GVRP特性的设备的VLAN信息达成一致。 GVRP传播的VLAN注册信息包括本地手工配置的静态注册信息和来自其它Switch的动态注册信息。
端口对接收报文的处理
收报文:
Acess端口: 1、收到一个报文
2、判断是否有VLAN信息:如果没有则转到第3步,否则转到第4步
3、打上端口的PVID,并进行交换转发
4、直接丢弃(缺省)
trunk端口: 1、收到一个报文
2、判断是否有VLAN信息:如果没有则转到第3步,否则转到第4步
3、打上端口的PVID,并进行交换转发
4、判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃
hybrid端口: 1、收到一个报文
2、判断是否有VLAN信息:如果没有则转到第3步,否则转到第4步
3、打上端口的PVID,并进行交换转发
4、判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃
发报文:
Acess端口: 1、将报文的VLAN信息剥离,直接发送出去
trunk端口: 1、比较端口的PVID和将要发送报文的VLAN信息
2、如果两者相等则转到第3步,否则转到第4步
3、剥离VLAN信息,再发送
4、直接发送
hybrid端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端 口对哪些VLAN是untag,哪些VLAN是tag)
2、如果是untag则转到第3步,如果是tag则转到第4步
3、剥离VLAN信息,再发送
4、直接发送
VLAN与端口的关系
ACCESS端口:这种端口只能属于一个VLAN,并且从该端口进来的数据包都不包含TAG标记,数据包进入之后,会被加上该端口的VLAN ID(加上TAG标记)。如果有数据需要从这种接口发送出去,数据帧中的TAG标记将被删除。这种端口一般用于连接用户主机或路由器
TRUNK端口:这种端口可以属于多个VLAN,或者说这种端口可以传送多个VLAN的数据帧。从这种端口发送出去的数据帧都包含有TAG标记(缺省VLAN ID的数据帧除外);从这种端口接收到的报文,如果已经有TAG标记,则直接转发;如果没有TAG标记,则加上带有缺省VLAN ID的TAG标记。这种端口一般用于连接交换机或路由器。
HYBRID端口:这种端口可以属于多个VLAN。但是与TRUNK端口不同的是它所传送的数据帧,可以包含TAG标记也可以不包含TAG标记;而TRUNK端口则必须包含TAG标记。其发送数据帧时根据配置信息进行判断是否加上TAG标记;接收数据帧时和TRUNK端口相同。这种端口一般用于连接交换机。
PVLAN技术简介
PVLAN技术解决VLAN ID不足的问题。
采用VLAN ID屏蔽的办法,将接入层的用户VLAN ID对汇聚层设备屏蔽起来,在接入层使用VLAN的方法进行用户二层隔离。
接入层设备Primary VLANID访问汇聚层设备,对于会聚层设备来说,它只知道Primary VLAN ID,数据包返回时,送往Primary VLAN ID所包含的所有Secondary VLAN用户。
VLAN路由技术简介
VLAN路由技术模拟路由器的三层接口,在以太网上创建出虚拟局域网三层接口。
这些接口具有三层报文转发的功能。将二层不能转发的数据帧进行数据帧头的剥离,然后根据IP报文头信息进行转发。
路由:是指导IP报文发送的路径信息
根据路由的目的地不同,可以划分为:
子网路由:目的地为子网
主机路由:目的地为主机
根据目的地与该路由器是否直接相连,又可分为:
直接路由:目的地所在网络与路由器直接相连
间接路由:目的地所在网络与路由器不是直接相连
路由表中包含了下列关键项:
目的地址(Destination):用来标识IP包的目的地址或目的网络。
网络掩码(Mask):与目的地址一起来标识目的主机或路由器所在的网段的地址。将目的地址和网络掩码“逻辑与”后可得到目的主机或路由器所在网段的地址。
输出接口(Interface):说明IP包将从该路由器哪个接口转发。
下一跳IP地址(Nexthop):说明IP包所经由的下一个路由器的接口地址。
路由的来源主要有3 种:
1、链路层协议发现的路由(Direct)
开销小,配置简单,无需人工维护,只能发现本接口所属网段拓扑的路由。
2、手工配置的静态路由(Static)
静态路由是一种特殊的路由,它由管理员手工配置而成。通过静态路由的配置可建立一个互通的网络,但这种配置问题在于:当一个网络故障发生后,静态路由不会自动修正,必须有管理员的介入。静态路由无开销,配置简单,适合简单拓扑结构的网络。
3、动态路由协议发现的路由(RIP、OSPF ……)
当网络拓扑结构十分复杂时,手工配置静态路由工作量大而且容易出现错误,这时就可用动态路由协议,让其自动发现和修改路由,无需人工维护,但动态路由协议开销大,配置复杂。
华为 Quidway 路由器的缺省优先级:0表示直接连接的路由,255表示任何来自不可信源端的路由。
路由协议或路由种类 |
相应路由的优先级 |
DIRECT |
0 |
OSPF |
10 |
STATIC |
60 |
RIP |
100 |
IBGP |
130 |
OSPF ASE |
150 |
EBGP |
170 |
UNKNOWN |
255 |
除了直接路由(DIRECT)外,各动态路由协议的优先级都可根据用户需求,手工进行配置。另外,每条静态路由的优先级都可以不相同。
路由的花费(metric):标识出了到达这条路由所指的目的地址的代价,通常路由的花费值会受到线路延迟、带宽、线路占有率、线路可信度、跳数、最大传输单元等因素的影响,不同的动态路由协议会选择其中的一种或几种因素来计算花费值(如RIP用跳数来计算花费值)。该花费值只在同一种路由协议内有比较意义,不同的路由协议之间的路由花费值没有可比性,也不存在换算关系。静态路由的花费值为0。
动态路由协义的特点:
所有的动态路由协议在TCP/IP协议栈中都属于应用层的协议。但是不同的路由协议使用的底层协议不同。
OSPF将协议报文直接封装在IP 报文中,协议号89,由于IP协议本身是不可靠传输协议,所以OSPF传输的可靠性需要协议本身来保证。
BGP使用TCP作为传输协议,提高了协议的可靠性,TCP的端口号是179。
RIP使用UDP作为传输协议,端口号520。
自治系统AS:由同一机构管理,使用同一组选路策略的路由器的集合。
自治系统的编号范围是1到65535,其中1到65411是注册的因特网编号,65412到65535是专用网络编号。
按照工作区域,路由协议可以分为IGP和EGP:
IGP(Interior gateway protocols)内部网关协议:在同一个自治系统内交换路由信息,RIP 和IS-IS 都属于IGP。IGP的主要目的是发现和计算自治域内的路由信息。
EGP(Exterior gateway protocols)外部网关协议:用于连接不同的自治系统,在不同的自治系统之间交换路由信息,主要使用路由策略和路由过滤等控制路由信息在自治域间的传播,应用的一个实例是BGP。
按照路由的寻径算法和交换路由信息的方式,路由协议可以分为 距离矢量协议(Distant-Vector)和链路状态协议。
距离矢量协议包括 RIP 和 BGP,链路状态协议包括 OSPF、IS-IS。
距离矢量协议(Distant-Vector)和链路状态协议的区别:
距离矢量路由协议:基于贝尔曼-福特算法,使用D-V算法的路由器通常以一定的时间间隔向相邻的路由器发送他们完整的路由表。接收到路由表的邻居路由器将收到的路由表和自己的路由表进行比较,新的路由或到已知网络但开销(Metric)更小的路由都被加入到路由表中。相邻路由器然后再继续向外广播它自己的路由表(包括更新后的路由)。距离矢量路由器关心的是到目的网段的距离(Metric)和矢量(方向,从哪个接口转发数据)。在发送数据前,路由协议计算到目的网段的Metric;在收到邻居路由器通告的路由时,将学到的网段信息和收到此网段信息的接口关联起来,以后有数据要转发到这个网段就使用这个关联的接口。
距离矢量路由协议的优点:配置简单,占用较少的内存和CPU处理时间。缺点:扩展性较差,比如RIP最大跳数不能超过16 跳
链路状态路由协议:基于Dijkstra算法,有时被称为最短路径优先算法。L-S算法提供比RIP等D-V算法更大的扩展性和快速收敛性,但是它的算法耗费更多的路由器内存和处理能力。D-V算法关心网络中链路或接口的状态(up或down、IP地址、掩码),每个路由器将自己已知的链路状态向该区域的其他路由器通告,这些通告称为链路状态通告(LSA:Link State Advitisement)。通过这种方式区域内的每台路由器都建立了一个本区域的完整的链路状态数据库。然后路由器根据收集到的链路状态信息来创建它自己的网络拓朴图,形成一个到各个目的网段的带权有向图。
链路状态算法使用增量更新的机制,只有当链路的状态发生了变化时才发送路由更新信息,这种方式节省了相邻路由器之间的链路带宽。部分更新只包含改变了的链路状态信息,而不是整个的路由表。
路由环路避免方案:定义一个最大值、路由中毒和抑制时间、水平分割、触发更新
定议一个最大值:我们给跳数定义一个最大值,在RIP 路由协议中,允许跳数最大值为16。在图中,当跳数到达最大值时,网络被认为是不可达的。
通过定义最大值,距离矢量路由协议可以解决发生环路时路由权值无限增大的问题,同时也校正了错误的路由信息。但是,在最大权值到达之前,路由环路还是会存在。也就是说,以上解决方案只是补救措施,不能避免环路产生,只能减轻路由环路产生的危害。路由协议的设计者们又提供了诸如水平分割、触发更新等多种避免环路产生几率的方案。
水平分割:是在距离矢量路由协议中最常用的避免环路发生的解决方案之一。分析产生路由环路的原因,其中一条就是因为路由器将从某个邻居学到的路由信息又告诉了这个邻居。水平分割的思想就是在路由信息传送过程中,不再把路由信息发送给接收此路由信息的接口上。
路由中毒和抑制时间:路由中毒和抑制时间结合起来,也可以在一定程度上避免路由环路产生,同时也可以抑制因复位接口等原因,引起的网络动荡。这种方法在网络故障或接口复位时,使相应路由中毒,同时启动抑制时间,控制路由器在抑制时间内不要轻易更新自己的路由表。从而,避免环路产生、抑制网络动荡。
触发更新:触发更新机制是在路由信息产生某些改变时,立即发送给相邻路由器一种称为触发更新的信息。路由器检测到网络拓扑变化,立即依次发送触发更新信息给相邻路由器,如果每个路由器都这样做,这个更新会很快传播到整个网络。
RIP:是Routing Information Protocol (路由信息协议)的简称。它是一种相对简单的动态路由协议,但在实际使用中有着广泛的应用。RIP是一种基于D-V算法的路由协议,它通过UDP交换路由信息,每隔30秒向外发送一次更新报文。如果路由器经过180秒没有收到来自对端的路由更新报文,则将所有来自此路由器的路由信息标志为不可达,若在其后120 秒内仍未收到更新报文,就将该条路由从路由表中删除。
RIP 使用跳数(Hop Count)来衡量到达目的网络的距离,称为路由权(Routing Metric)。在RIP中,路由器到与它直接相连网络的跳数为0,通过一个路由器可达的网络的跳数为1,其余依此类推。为限制收敛时间,RIP规定metric取值0~15之间的整数,大于或等于16的跳数被定义为无穷大,即目的网络或主机不可达。
为提高性能,防止产生路由环路,RIP支持水平分割(Split Horizon)与路由中毒(Poison Reverse),并在路由中毒时采用触发更新(Triggered Update)。另外,RIP协议还允许引入其它路由协议所得到的路由。
RIP包括RIP-1和RIP-2两个版本,RIP-1 不支持变长子网掩码(VLSM),RIP-2 支持变长子网掩码(VLSM),同时RIP-2支持明文认证和 MD5 密文认证。
RIP-1使用广播发送报文,RIP-2有两种传送方式:广播方式和组播方式,缺省将采用组播发送报文,RIP-2的组播地址为224.0.0.9。组播发送报文的好处是在同一网络中那些没有运行RIP的网段可以避免接收RIP的广播报文;另外,组播发送报文还可以使运行RIP-1的网段避免错误地接收和处理RIP-2中带有子网掩码的路由。
RIP状态机
RIP 启动时的初始路由表仅包含本路由器的一些直连接口路由。
RIP 协议启动后向各接口广播一个 Request 报 文。
邻居路由器的 RIP 协议从某接口收到 Request 报文后,根据自己的路由表,形成 Response 报文向该接口对应的网络广播。
RIP 接收邻居路由器回复的包含邻居路由器路由表的Response 报文,形成自己的路由表。
RIP 协议以 30 秒为周期用Response 报文广播自己的路由表。
RIP 路由表的更新原则:
1、对本路由表中已有的路由项,当发送报文的网关相同时,不论度量值增大或是减少,都更新该路由项(度量值相同时只将其老化定时器清零);
2、对本路由表中已有的路由项,当发送报文的网关不同时,只在度量值减少时,更新该路由项;
3、对本路由表中不存在的路由项,在度量值小于不可达(16)时,在路由表中增加该路由项;
4、路由表中的每一路由项都对应一老化定时器,当路由项在 180 秒内没有任何更新时,定时器超时,该路由项的度量值变为不可达(16)。
5、某路由项的度量值变为不可达后,以该度量值在 Response 报文中发布四次(120 秒),之后从路由表中清除。
RIP-1与RIP-2接收或发送报文的原则:RIP-1采用广播形式发送报文; RIP-2有两种传送方式,广播方式和多播方式,缺省将采用多播发送报文。 RIP-2中多播地址为224.0.0.9。多播发送报文的好处是在同一网络中那些未运行RIP的主机可以避免接收RIP的广播报文。另外,多播发送报文还可以使运行RIP-1的主机避免错误地接收和处理RIP-2中带有子网掩码的路由。
当接口运行RIP-1时,只接收与发送RIP-1与RIP-2广播报文,不接收RIP-2多播报文。当接口运行在RIP-2 广播方式时,只接收与发送RIP-1与RIP-2广播报文,不接收RIP-2多播报文; 当接口运行在RIP-2多播方式时,只接收和发送RIP-2多播报文;不接收RIP-1与RIP-2 广播报文。
缺省情况下,接口运行RIP-1报文,即只能接收与发送RIP-1报文。
路由聚合是指:同一自然网段内的不同子网的路由在向外(其它网段)发送时聚合成一条自然掩码的路由发送。路由聚合减少了路由表中的 路由信息量,也减少了路由交换的信息量。
RIP与路由聚合:
RIP-1只发送自然掩码的路由,即总是以路由聚合形式向外发送路由,关闭路由聚合对RIP-1将不起作用。RIP-2支持无类别路由,当需要将子网的路由广播出去时,可关闭RIP-2 的路由聚合功能。
缺省情况下,允许RIP-2进行路由聚合。
RIP与报文认证:
RIP-1不支持报文认证,但当接口运行RIP-2时, 可进行报文的认证。
RIP-2支持两种认证方式:明文认证Simple 和 MD5 密文认证。
OSPF 是 Open Shortest Path First(即“开放最短路由优先协议”)的缩写:它是 IETF (Internet Engineering Task Force)组织开发的一个基于链路状态的自治系统内部路由协议。在 IP 网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由。当前OSPF协议使用的是第二版,最新的RFC是2328。
OSPF协议具有如下特点:
适应范围: OSPF 支持各种规模的网络,最多可支持几百台路由器。
快速收敛: 如果网络的拓扑结构发生变化,OSPF 立即发送更新报文,使这一变化在自治系统中同步。
无 自 环: 由于 OSPF 通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。
子网掩码 : 由于 OSPF 在描述路由时携带网段的掩码信息,所以OSPF协议不受自然掩码的限制,对VLSM 提供很好的支持。
区域划分 : OSPF 协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。
等值路由 : OSPF 支持到同一目的地址的多条等值路由。
路由分级 : OSPF 使用 4 类不同的路由,按优先顺序来说分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
支持验证 : 它支持基于接口的报文验证以保证路由计算的安全性。
组播发送 : OSPF在有组播发送能力的链路层上以组播地址发送协议报文,即达到了广播的作用,又最大程度的减少了对其他网络设备的干扰。
Router ID
一个32bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内唯一。
协议号
OSPF的协议号是89。
OSPF协议报文不转发
通常OSPF的协议报文是不被转发的,只能传递一跳,即在IP报文头中TTL值被设为1。(虚连接除外)
OSPF 将不同的网络拓扑抽象为以下四种类型:
1、该接口所连的网段中只有本路由器自己。(stub networks)
2、该接口通过点到点的网络与一台路由器相连。(point-to-point )
3、该接口通过广播或NBMA的网络与多台路由器相连。(broadcastor NBMA networks)
4、该接口通过点到多点的网络与多台路由器相连。(point-to-multipoint)
NBMA与点到多点的区别:
在OSPF协议中NBMA和点到多点都是指非广播多点可达的网络,但NBMA网络必须满足全连通(full meshed)的要求,即任意两点都可以不经转发而使报文直达对端。否则,我们称该网络是点到多点网络。
OSPF协议计算出路由主要有以下三个主要步骤:
1、描述本路由器周边的网络拓扑结构,并生成LSA。
2、将自己生成的LSA在自治系统中传播。并同时收集所有的其他路由器生成的LSA。
3、根据收集的所有的LSA计算路由。
OSPF的五种协议报文: HELLO 报文、DD报文、LSR报文、LSU报文、LSAck报文
HELLO 报文:发现及维持邻居关系,选举DR,BDR。
DD报文:描述本地LSDB的情况。
LSR报文:向对端请求本端没有或对端的更新的LSA。
LSU报文:向对方更新LSA。
LSAck报文:收到LSU之后,进行确认。
OSPF状态机最重要的三步:Down、2-way、 Full
OSPF状态机Down、Attempt、Init、2-Way、ExStart、Exchange、Loading、Full
Down:邻居状态机的初始状态,是指在过去的Dead-Interval时间内没有收到对方的Hello报文。
Attempt:只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送HELLO报文。
Init:本状态表示已经收到了邻居的HELLO报文,但是该报文中列出的邻居中没有包含我的Router ID(对方并没有收到我发的HELLO报文)。
2-Way:本状态表示双方互相收到了对端发送的HELLO报文,建立了邻居关系。在广播和NBMA类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态。其他情况状态机将继续转入高级状态。
ExStart:在此状态下,路由器和它的邻居之间通过互相交换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送。
Exchange:路由器将本地的LSDB用DD报文来描述,并发给邻居。
Loading:路由器发送LSR报文向邻居请求对方的DD报文。
Full:在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency)状态。
DR:OSPF协议指定一台路由器DR(Designated Router)来负责传递信息。所有的路由器都只将路由信息发送给DR,再由DR将路由信息发送给本网段内的其他路由器
DR的选举过程:
登记选民
本网段内的OSPF路由器;
登记候选人
本网段内的priority>0的OSPF路由器;
竞选演说
所有的priority>0的OSPF路由器都认为自己是DR。
投票
选priority值最大的,若priority值相等,选Router ID最大的;
DR选举中的指导思想:
选举制
DR是各路由器选出来的,而非人工指定的。
终身制
DR一旦当选,除非路由器故障,否则不会更换。
世袭制
DR选出的同时,也选出BDR来。DR故障后,由BDR接替DR成为新的DR
由于DR的出现带来协议的变化
将同一网段内LSDB同步的次数由N*(N-1)/2 减少为2N。
在同一网段中,路由器的角色划分为DR、BDR、DROther。
路由器之间的关系分为Unknown、Neighbor、Adjacency。
增加了一种接口类型――Point-to-Multipoint。
增加了一种LSA――Network-LSA,由DR生成,描述了本网段的链路状态。
OSPF在大型网络中可能遇到的问题
1、LSDB非常庞大,占用大量存储空间。
2、计算最小生成树耗时增加,CPU负担很重。
3、网络拓扑结构经常发生变化,网络经常处于“动荡”之中。
解决上述问题的关键主要有两点:减少LSA的数量;屏蔽网络变化波及的范围。
OSPF 协议通过将自治系统划分成不同的区域(Area)来解决上述问题。区域是在逻辑上将路由器划分为不同的组。区域的边界是路由器,这样会有一些路由器属于不同的区域,(这样的路由器称作区域边界路由器――ABR),而一个网段只能属于一个区域。
划分成区域之后给OSPF协议的处理带来的变化。
每一个网段必须属于一个区域,或者说每个运行OSPF协议的接口必须指名属于某一个特定的区域,区域用区域号(Area ID)来标识。区域号是一个从0开始的32位整数。
不同的区域之间通过ABR来传递路由信息。
OSPF将自治系统划分为不同的区域后路由计算方法的变化:
1、只有同一个区域内的路由器之间会保持LSDB的同步,网络拓扑结构的变化首先在区域内更新。
2、区域之间的路由计算是通过ABR来完成的。ABR首先完成一个区域内的路由计算,然后查询路由表,为每一条OSPF路由生成一条Type3类型的LSA,内容主要包括该条路由的目的地址、掩码、花费等信息。然后将这些LSA发送到另一个区域中。
3、在另一个区域中的路由器根据每一条Type3的LSA生成一条路由,由于这些路由信息都是由ABR发布的,所以这些路由的下一跳都指向该ABR。
划分区域后的好处:
1、由于划分区域后ABR是根据本区域内的路由生成LSA,则可以根据IP地址的规律先将这些路由进行聚合后再生成LSA,这样做可以大大减少自治系统中LSA的数量。
2、划分区域之后,网络拓扑的变化首先在区域内进行同步,如果该变化影响到聚合之后的路由,则才会由ABR将该变化通知到其他区域。大部分的拓扑结构变化都会被屏蔽在区域之内了。
骨干区域:OSPF划分区域之后,并非所有的区域都是平等的关系。其中有一个区域是与众不同的,它的区域号(Area ID)是0,通常被称为骨干区域(Backbone Area)。
LSA:链路状态广播
LSA分类:
Router-LSA(TYPE=1):由每个路由器生成,描述了路由器的链路状态和花费。传递到整个区域。
Network-LSA(TYPE=2):由DR生成,描述了本网段的链路状态,传递到整个区域。
Net-Summary-LSA(TYPE=3):由ABR生成,描述了到区域内某一网段的路由,传递到相关区域。
Asbr-Summary-LSA(TYPE=4):由ABR生成,描述了到ASBR的路由,传递到相关区域。
AS-External-LSA(TYPE=5):由ASBR生成,描述了到AS外部的路由,传递到整个AS(STUB区域除外)。
虚连接:虚连接是指在两台ABR之间,穿过一个非骨干区域(转换区域――transitArea),建立的一条逻辑上的连接通道。
可以理解为两台ABR之间存在一个点对点的连接。“逻辑通道”是指两台ABR之间的多台运行OSPF的路由器只是起到一个转发报文的作用(由于协议报文的目的地址不是这些路由器,所以这些报文对于他们是透明的,只是当作普通的IP报文来转发),两台ABR之间直接传递路由信息。这里的路由信息是指由ABR生成的type3的LSA,区域内的路由器同步方式没有因此改变。
OSPF的自治系统:OSPF是自治系统内部路由协议,负责计算同一个自治系统内的路由。在这里“自治系统”是指彼此相连的运行OSPF路由协议的所有路由器的集合。对于OSPF来说,整个网络只有“自治系统内”和“自治系统外”之分。需要注意的是:“自治系统外”并不一定在物理上或拓扑结构中真正的位于自治系统的外部,而是指那些没有运行OSPF的路由器或者是某台运行OSPF协议的路由器中没有运行OSPF的接口。
ASBR(Autonomous System Boundary Router):
作为一个IGP,OSPF同样需要了解自治系统外部的路由信息,这些信息是通过ASBR(自治系统边界路由器)获得的,ASBR是那些将其他路由协议(也包括静态路由和接口的直接路由)发现的路由引入(redistribute)到OSPF中的路由器。同样需要注意的是:ASBR并不一定真的位于AS的边界,而是可以在自治系统中的任何位置。
计算自治系统外部路由:ASBR为每一条引入的路由生成一条Type5类型的LSA,主要内容包括该条路由的目的地址、掩码和花费等信息。这些路由信息将在整个自治系统中传播(STUB AREA除外)。计算路由时先在最短路径树中找到ASBR的位置,然后将所有由该ASBR生成的Type5类型的LSA都当作叶子节点挂在ASBR的下面。以上的方法在区域内部是可行的,但是由于划分区域的原因,与该ASBR不处于同一个区域的路由器计算路由时无法知道ASBR的确切位置(该信息被ABR给过滤掉了,因为ABR是根据区域内的已生成的路由再生成Type3类型的LSA)。为了解决这个问题,协议规定如下:如果某个区域内有ASBR,则这个区域的ABR在向其他区域生成路由信息时必须单独为这个ASBR生成一条Type 4类型的LSA,内容主要包括这个ASBR的Router ID和到他所需的花费值。
路由分级管理:OSPF将所引入的自治系统外部路由分成两类:type1和type 2。
第一类是指引入的是IGP路由(例如RIP,STATIC),由于这类路由的可信程度高一些,所以计算出的外部路由的花费与自治系统内部的路由花费的数量级是相同的,即到第一类外部路由的花费值 = 本路由器到相应的ASBR的花费值+ASBR到该路由目的地址的花费值。对于第二类外部路由是指引入的是BGP路由,由于这类路由的可信度比较低,所以OSPF协议认为从ASBR到自治系统之外的花费远远大于在自治系统之内到达ASBR的花费。所以计算路由花费时将主要考虑前者,即到第二类外部路由的花费值 =ASBR到该路由目的地址的花费值。如果该值相等,再考虑本路由器到相应的ASBR的花费值。
OSPF一共将路由分为四级,按优先级从高到低排列:
1、区域内路由
2、区域间路由
3、自治系统外一类路由
4、自治系统外二类路由
其中前两种路由在路由表中的优先级是一样的,缺省值为10;后两种路由在路由表中的优先级是相同的,缺省值是150。
STUB区域:STUB区域是指那些不传播Type5类型(即引入的外部路由)的LSA的区域。
在这些区域中路由器的路由表规模以及路由信息传递的数量都会大大减少。为了保证到自治系统外的路由依旧可达,由该区域的ABR生成一条缺省路由(0.0.0.0)传播到区域内,因为所有到自治系统外部的路由都必须通过ABR才能到达。STUB区域是一种可选的配置属性,但并不是每个区域都符合配置的条件。通常的,STUB区域位于自治系统的边界,是那些只有一个ABR的非骨干区域。或者该区域虽然有多个ABR,但这些ABR之间没有配置虚连接。
配置STUB区域的一些注意事项:
1、骨干区域不能配置成STUB区域,虚连接不能穿过STUB区域。
2、如果想将一个区域配置成STUB区域,则该区域中的所有路由器都必须都配置该属性。
3、STUB区域内不能存在ASBR,即自治系统外部路由不能引入到区域内,区域的自治系统外部路由也不能在本区域内传播和传递到区域外。
NSSA(Not-So-Stubby Area)区域:STUB 区域虽然为合理的规划 OSPF 网络描绘了美好的前景,但她在实际的组网中又不具备可操作性,因为实际网络中不可能每台路由、每个接口都运行 OSPF 路由协议,STUB 区域必然需要存在 ASBR 路由器。
为此协议设计者提出了一种新的概念NSSA,并且作为 OSPF 协议的一种扩展属性单独在RFC1587中描述
NSSA 需要完成如下任务:
1)自治系统外的 ASE 路由(自治系统外部路由)不可以进入到 NSSA 区域中,但是 NSSA 区域内的路由器引入的 ASE 路由可以在 NSSA 中传播并发送到区域之外。即:取消了 STUB 关于 ASE 的双向传播的限制(区域外的进不来,区域里的也出不去),改为单向限制(区域外的进不来,区域里的能出去)。
2)由于是作为 OSPF 标准协议的一种扩展属性,应尽量减少与不支持该属性的路由器协调工作时的冲突和兼容性问题。
为了解决ASE路由(自治系统外部路由)单向传递的问题,NSSA 中重新定义了一种LSA――Type7类型的 LSA,作为区域内的路由器引入外部路由时使用,该类型的 LSA 除了类型标识与 Type 5 不相同之外,其它内容基本一样。这样区域内的路由器就可以通过 LSA 的类型来判断是否该路由来自本区域内。但由于Type 7类的 LSA 是新定义的,对于不支持 NSSA 属性的路由器无法识别,所以协议规定:在 NSSA 的 ABR 上将 NSSA 内部产生的Type 7类型的 LSA 转化为Type5类型的 LSA 再发布出去,并同时更改 LSA 的发布者为 ABR 自己。这样 NSSA 区域外的路由器就可以完全不用支持该属性。
从上述描述可以看出:在 NSSA 区域内的所有路由器必须支持该属性(包括NSSA的ABR),而自治系统中的其他路由器则不需要。
由于NSSA是由STUB区域的概念改进得来,所以她的名字叫做:"not-so-stubby" area ,本意是:不是那么STUB的区域
路由聚合:
自治系统被划分成不同的区域,其主要目的是为了减少路由信息及路由表的规模。这主要是通过区域间的路由聚合来实现。ABR在计算出一个区域的区域内路由之后,查询路由表,将其中每一条OSPF 路由封装成一条Type3类型的LSA发送到区域之外。需要注意的是:路由聚合只有在ABR上配置才会有效。
OSPF协议根据链路层封装协议不同分为以下四种网络类型:
Broadcast:当链路层协议是Ethernet时,OSPF缺省认为网络类型是Broadcast。在这种类型网络中, 以组播地址(224.0.0.5,224.0.0.6)发送协议报文,需要选举DR,BDR。
NBMA
当链路层协议是Frame Relay、X.25时,OSPF缺省认为网络类型是NBMA。在这种类型网络中,以单播地址发送协议报文,必须手工配置邻居的IP地址,需要选举DR,BDR。
Point-to-Multipoint
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型,通常由NBMA的类型手工修改而来,如果NBMA类型的网络不是全连通的。 在这种类型网络中,以组播地址(224.0.0.5)发送协议报文,不需要选举DR,BDR。
Point-to-Point
当链路层协议是PPP,HDLC,LAPB时,OSPF缺省认为网络类型是Point-to-Point。在这种类型网络中, 以组播地址(224.0.0.5)发送协议报文,不需要选举DR,BDR。
路由器根据在自治系统中的不同位置划分为以下四种类型:
IAR(Internal Area Router):
区域内路由器,是指该路由器的所有接口都属于同一个OSPF区域。这种路由器只生成一条Router LSA,只保存一个LSDB。
ABR(Area Border Router):
区域边界路由器,该路由器同时属于两个以上的区域(其中必须有一个是骨干区域,也就是区域0)。该路由器为每一个所属的区域生成一条Router LSA,为每一个所属的区域保存一个LSDB。并根据需要生成Network Summary LSA(Type = 3)和 ASBR Summary LSA(Type = 4)。
BBR (BackBone Router):
骨干路由器,是指该路由器属于骨干区域(也就是0 区域)。由定义可知,所有的ABR都是骨干路由器,所有的骨干区域内部的IAR也属于BBR。
ASBR(AS Boundary Router):
自治系统边界路由器,是指该路由器引入了其他路由协议(也包括静态路由和接口的直接路由)发现的路由。需要注意的是ASBR并不一定在拓扑结构中位于自治系统的边界。ASBR生成AS External LSA(Type = 5)。
一个运行OSPF协议的接口状态根据接口的不同类型可划分为以下四种:
DR、BDR、DROther:
当接口的类型为Broadcast、NBMA时,需要在网段内选举DR、BDR,根据选举的结果不同,接口的状态可能是以上三种中的一种。
Point-to-Point:
当接口的类型为Point-to-Point、Point-to-Multipoint时,不需要在网段内选举DR、BDR,此时接口的状态是Point-to-Point。
OSPF计算出的路由不会有自环,主要有以下原因:
1、每台路由器描述的是自己能够确保正确的信息――自己周边的网络拓扑结构。并且在生成的LSA中标记了该信息的生成者――写入自己的Router ID。其他的路由器只负责在网络中传输该信息,而不会有任何的更改。这一点保证了无论网络的拓扑结构如何,无论路由器位于网络中的什么位置,都可以准确无误的接收到全网的拓扑结构图。
2、路由计算的算法是SPF算法。计算的结果是一棵树,路由是树上的叶子节点。从根节点到叶子节点是单向不可回复的路径。
3、当网络的拓扑结构发生变化时(此时最易产生路由自环),会有一台(或多台)路由器感知到这一变化,重新描述网络拓扑结构,并将其通知给其他路由器。每个路由器接收到更新信息后,都会立即重新运行SPF算法,得到新的路由。
OSPF协议不会产生路由自环”这句话的严格定义应该是:OSPF协议生成的自治系统内部路由是无自环的,引入的自治系统外部路由则无法保证。
IS-IS(Intermediate System-to-IntermediateSystem:中间系统到中间系统):是一种路由选择协议,是基于OSI域内(intradomain)的路由选择协议,Intermediate System是OSI中Router的叫法。IS-IS可以用作IGP(Interior Gateway Protocol:内部网关协议)以支持纯IP环境、纯OSI环境和多协议环境。IS-IS是一种链路状态协议,基于SPF算法,以寻找到目标的最佳路径,由于SPF算法本身的优势,IS-IS协议天生具有抵抗路由环路的能力。
LSP:Link State PDU,含有链路状态信息的IS-IS报文。