• 2016.8.14 网络工程师之网关协议


    1.路由器又叫做IP网关,网关协议就是用于网关之间交换路由信息的协议

    2.自治系统:

    (1)自治系统是由同构型的网关连接的因特网,自治系统内部的网关之间执行内部网关协议(IGP),互相交换路由信息

    (2)IGP是自治系统内部专用的,为特定的应用服务,在自治系统之外是无效的;

    (3)一个因特网也可能由不同的自治系统互连而成,例如若干个校园网通过广域网互连就是这种情况;在不同的自治系统之间采用外部网关协议(EGP)交换路由信息

    3.外部网关协议:

    (1)EGP以自治系统为节点,通告各个网关可到达哪些系统

    (2)最新的外部网关协议叫做BGP,BGP4已经广泛的应用于不同的ISP的网络之间,成为事实上的Internet外部网关协议;

    (3)BGP4是一种动态路由发现协议,支持无类别域间路由CIDR;BGP的主要功能就是控制路由策略,例如是否愿意转发过路的分组等

    (4)BGP的4种报文,通过TCP(179端口)连接转发:

    ①打开                                     建立邻居关系

    ②更新                                     发送新的路由信息

    ③保持活动状态                          对Open的应答/周期性地确认邻居关系

    ④通告                                     报告检测到的错误

    (5)建立邻居关系:位于不同自治系统中的两个路由器首先要建立邻居关系,然后才能周期性地交换信息;建立邻居关系的过程是由一个路由器发送一个Open报文,另一个路由器若愿意接受则以Keepalive报文回答;Open报文中包含发送者的IP地址及其自治系统的标识,另外还有一个保持时间参数,即定期交换信息的时间间隔;

    (6)邻居可到达性:这个过程维护邻居关系的有效性,通过周期性的互相发送Keepalive报文,双方都知道对方的活动状态;

    (7)网络可到达性:每个路由器维护一个数据库,记录着它所有可到达的子网,当情况变化时用更新报文把最新信息及时地传送给其他BGP路由器;Update报文,包含两类信息:

    ①一类是要作废的路由器列表

    ②一类是新增路由的属性信息:

    网络层可到达信息(NLRI)

    经过的自治系统(AS_Path)

    下一跳(Next-Hop)

    (8)BGP的报文都要19个字节的固定长度头部,其中包括16个字节的标记(用于认证和同步),两个字节的报文长度和一个字节的类型字段

    (9)BGP路由更新报文,字段:

    ①不可用的路由长度(两个字节):表示回收字段的长度;

    ②回收的路由(可变长):包含了从服务中撤销的路由的IP地址前缀列表;

    ③通路属性总长度(两个字节)

    ④通路属性(可变长):包含了与网络层可到达性信息字段中的IP地址前缀相关联的属性列表,例如路由信息的来源,路由优先级,实施路由聚合的BGP实体,以及在路由聚合时丢失的路由信息等;

    ⑤网络层可到达性信息(可变长)

    4.内部网关协议:网关协议也叫做路由协议,是路由器之间实现路由信息共享的一种机制,它允许路由器之间交换路由信息维护各自的路由表;

    (1)常用的内部路由协议:RIP(信息协议),OSPF(开放最短路径协议),IS-IS(中间系统到中间系统),IGRP(内部网关路由协议),以及增强的IGRP协议(EIGRP)

    (2)路由信息协议:RIP采用距离矢量路由算法,适用于小型网络,因为它允许的跳步数不超过15步;

    (3)RIPv1:

    ①RIPv1使用本地广播地址255.255.255.255发布路由信息,默认的路由更新周期为30s,持有时间为180s,也就是说,RIP路由器每30s向所有邻居发送一次路由更新报文

    ②如果在180s之内没有从某个邻居接收到路由更新报文,则认为该邻居不存在了,这时如果从其他邻居收到了有关同一目标的路由更新报文,则用新的路由信息替换已失效的路由表项,否则,对应的路由表项被删除;

    ③RIP以跳步数来度量路由费用,在RIP协议中,15跳是最大跳数,16跳是不可到达网络,经过16跳的任何分组都会被路由器丢弃;

    ④RIPv1是有类别的协议,这意味着配置RIPv1时必须使用A,B,C类IP地址和子网掩码

    ⑤对于同一目标,RIP路由表项最多可以有6条等费用的通路,虽然默认是4条,RIP可以实现等费用通路的负载均衡,这种机制提供了链路冗余功能。以对付可能出现的连接失效;

    (4)RIPv2:基本还是一个距离矢量路由协议,但是有3方面改进

    ①使用组播而不是广播来传播路由更新报文。并且采用了触发更新机制来加速路由收敛,即出现路由变化时立即向邻居发送路由更新报文,不必等待更新周期是否到达;

    ②RIPv2是一个无类别的协议,可以使用可变长子网掩码,也支持无类别域间路由(CIDR)

    ③RIPv2支持认证,使用经过散列的口令字来限制更新信息的传播

    (5)路由收敛和水平分割:

    ①路由收敛:每个路由表的后两项是通过交换路由信息学习到的

    ②距离矢量算法要求相邻的路由器之间周期性交换路由表,并通过逐步交换路由信息扩散到网络中所有的路由器,这种逐步交换过程如果不加限制,将会形成路由环路,使得各个路由器无法就网络的可达性取得一致;

    ③解决路由环路问题可以采用水平分割法,这种方法规定,路由器必须有选择地将路由表中的信息发送给邻居,而不是整个路由表,简单地说,一条路由信息不会被发送给该信息的来源

    ④带有反毒化的水平分割方案:把从邻居学习到的路由费用设置为无限大,并立即发送给那个邻居;采用反毒化的方案更安全一些,它可以立即中断环路;

    (6)RIP报文格式:RIPv2协议封装在UDP数据报中发送,占用端口520,报文包含4个字节的报头,然后是若干个路由记录;RIP报文最多可携带25个路由记录,每个路由记录20个字节:

    ①命令:用于区分请求和响应报文

    ②版本:可以是RIP第一版或第二版,两种版本报文格式相同

    ③地址族标识符:对于IP协议,该字段为2

    ④路由标记:用于区别内部或外部路由,用16位的AS编号来区分从其他自治系统学到的路由

    ⑤网络地址:表示目标IP地址

    ⑥子网掩码:对于RIPv2,该字段是对应网络地址的子网掩码;对于RIPv1,该字段是0.因为RIPv1默认使用A,B,C类地址掩码;

    ⑧下一跳路由器地址:表示下一跳的地址

    ⑨距离:表示到达目标的跳步数

    5.OSPF协议:一种链路状态协议,用于在自治内部的路由器之间交换路由信息;OSPF具有支持大型网络,占用网络资源少,路由收敛快等优点

    (1)距离矢量协议发布自己的路由表,交换的路由信息量很大;链路状态协议与之不同,它是从各个路由器收集链路状态信息,构造网络拓扑结构图,使用Dijkstra的最短通路优先算法计算到达各个目标的最佳路由;

    (2)链路状态协议与距离矢量协议发布路由信息的方式不同,距离矢量协议是周期性的发布路由信息,而链路状态协议是在网络拓扑发生变化时才发布的路由信息,而且OSPF采用TCP发送报文,每个报文都需要应答,因而通信更加可靠;

    (3)OSPF协议引入了“分层路由”的概念。典型的链路状态协议都把网络划分为较小的区域,从而限制了路由器信息传播的范围;每个区域就如同一个独立的网络,区域内的路由器只保存该区域的链路状态信息,使得路由器的链路状态数据库可以保存合理的大小,路由计算的时间和报文数量都不会太大;OSPF主干网负责在各个区域之间传播路由信息;

    (4)OSPF区域:每个OSPF区域被指定了一个32位的区域标识符,可以用点分十进制表示;OSPF的区域分为5种:

    ①标准区域:标准区域可以接收任何链路更新信息和路由汇总信息;

    ②主干区域:主干区域是连接各个区域的传输网络,其他区域都通过主干区域交换路由信息,主干区域拥有标准区域的所有性质;

    ③存根区域:不接收本地自治系统以外的路由信息,对自治系统以外的目标采用默认路由0.0.0.0

    ④完全存根区域:不接收自治系统以外的路由信息,也不接收自治系统内其他区域的路由汇总信息,发送到本地区域外的报文使用默认路由0.0.0.0.,是思科标准

    ⑤不完全存根区域:类似于存根区域,但是允许接收以类型7的链路状态公告发送的外部路由信息;

    (5)OSPF网络类型:OSPF将路由器连接的物理网络划分为4种类型

    **点对点网络:一对路由器用64Kb的串行线路连接,就属于点对点网络,在这种网络中,两个路由器可以直接交换路由信息;

    **广播多址网络:以太网或者其他具有共享介质的局域网都属于这种网络,在这种网络中,一条网络信息可以广播给所有的路由器;

    **非广播多址网络(NBMA):例如X.25分组交换网就属于这种网络,在这种网络中可以通过组播方式发布路由信息

    **点到多点网络:可以把非广播网络当做多条点对点网络使用,从而把一条路由信息发送到不同的目标;

    (6)在一个广播网络或NBMA网络中要选一个指定路由器(DR),其他的路由器都与DR建立毗邻关系,把自己掌握的链路状态信息提交给DR,由DR代表这个网络向外界发布;

    (7)OSPF路由器:在多区域网络中,OSPF路由器可以按不同的功能划分为以下4种:

    **内部路由器:所有接口在同一个区域内的路由器,只维护一个链路状态数据库

    **主干路由器:具有连接主干区域接口的路由器;

    **区域边界路由器ABR:连接多个区域的路由器,一般作为一个区域的出口,ABR为每一个连接的区域建立一个链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息,发送到各个区域;

    **自治系统边界路由器:至少拥有一个连接外部自治系统接口的路由器,负责将外部非OSPF网络的路由信息传入OSPF网络;

    (8)链路状态公告(LSA):OSPF路由器之间通过链路状态公告交换网络拓扑信息;

    LSA类型:                 发送者:                  传播范围:                   描述:

    1.路由器LSA;           任意OSPF路由器         区域内                        路由器在区域内连接的链路状态;

    2.网络LSA;              DR;                       区域内                        指定路由器DR在区域内连接的各个路由器

    3.网络汇总LSA           ABR                        主干区域                      ABR连接的本地区域中的链路状态

    4.ASBR汇总LSA         ABR                        主干区域                      自治系统边界路由器ASBR的可到达性

    5.外部LSA                 ASBR                      除存根之外的其他区        自治系统之外的路由信息

    6.组播LSA                                                                                用于建立组播分发树

    7.NSSA  LSA           连接到NSSA的ASBR    不完全存根区                到达自治系统之外的目标的路由可以由ABR转换为类型5的LSA

    (9)OSPF的5种报文:通过TCP连接发送,以固定的时间间隔泛洪传播Hello报文,采用目标地址224.0.0.5代表所有的OSPF路由器;

    1.Hello                           用于发现相邻的路由器

    2.数据库描述DBD             表示发送者的链路状态数据库内容

    3.链路状态请求LSR           向对方请求链路状态信息

    4.链路状态更新LSU           向邻居路由器发送链路状态公告

    5.链路状态应答LSAck        对链路状态更新报文的应答

    (10)OSPF报文头的格式:

    1.版本:现在使用版本2;

    2.类型:5种报文类型;

    3.分组长度:整个OSPF报文的长度;

    4.路由器ID:利用路由器环路接口(Loopback)的IP地址作为路由器的标识,如果没有环路接口IP地址,则选择最大的接口IP地址作为路由器标识;

    5.区域ID:在多区域网络中,每一个区域指定一个区域ID

    6.认证类型:OSPF支持不同的认证方法,对组播地址224.0.0.5发送的Hello分组要经过认证才能被接收;

    (11)OSPF的优点:

    1.链路状态协议使用了分层的网络结构,减少了LSA的传播范围,同时也减小了网络拓扑变化是影响所有路由器的可能性;

    2.链路状态协议使用组播来共享路由信息,并且发布的是增量式的更新消息;

    3.链路状态协议支持无类别的路由和路由汇总功能,可以使用VLSM和CIDR技术;路由汇总使得链路状态数据库减小,从而减小了运行SPF算法和更新路由表需要的CPU周期,也减少了路由器中的存储需求

    4.使用SPF算法不会在路由表中出现环路,而这是距离矢量路由协议难以处理的问题;

  • 相关阅读:
    Repository模式介绍汇总
    EasyUI实例源码
    java callable
    Java线程:Callable和Future
    guava cache学习
    ESG操作指南
    spring,spring mvc之所以起作用是因为开启了注解解释器,即spring的annotation on
    sss
    一对多多对多的建表原则
    mybatis collection标签和association标签(一对多,一对一)转载
  • 原文地址:https://www.cnblogs.com/hqutcy/p/5769611.html
Copyright © 2020-2023  润新知