内部网关协议和外部网关协议的主要区别是前者作用于一个AS(自治系统)内部,而后者作用于两个相邻的AS(自治系统)之间。
内部网关协议IGP,是在AS内部使用的协议,常用的有OSPF、ISIS、RIP、EIGRP;外部网关协议EGP,是在AS外部使用的协议,常用的有BGP。
Internet网被分成多个域或多个自治系统(AS)。一个域(domain)是一组主机和使用相同路由选择协议的路由器集合,并由单一机构管理。内部网关协议(IGP)在一个域中选择路由。外部网关协议(EGP)为两个相邻的位于各自域边界上的路由器提供一种交换消息和信息的方法。
扩展资料
外部网关不能使用内部网关协议的原因:
1、因特网的规模太大,使得AS之间路由选择非常困难。如果运用OSPF需要建立一个非常大的数据库,这显然不现实。
2、AS之间的路由选择必须考虑有关策略。比如安全问题,或者路径上的路由不允许其非该AS的数据报通过等等。
3、所以BGP只能是力求寻找一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要寻找一条最佳路由。
参考资料来源:百度百科-内部网关协议
动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和BGP-4。 RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。
BGP(Border Gateway Protocol,边界网关协议)是用来连接Internet上的独立系统的路由选择协议。它是Internet工程任务组制定的一个加强的、完善的、可伸缩的协议。BGP4支持CIDR寻址方案,该方案增加了Internet上的可用IP地址数量。BGP是为取代最初的外部网关协议EGP设计的。它也被认为是一个路径矢量协议。
BGP主要用于互联网AS(自治系统)之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由。中国联通 、中国电信、中国铁通和一些大的民营IDC运营商都具有AS号,全国各大网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的。使用此方案来实现多线路互联,IDC需要在CNNIC(中国互联网信息中心)或APNIC(亚太网络信息中心)申请自己的IP地址段和AS号,然后通过BGP协议将此段IP地址广播到其它的网络运营商的网络中。使用BGP协议互联后,网络运营商的所有骨干路 由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。
采用BGP方案来实现双线路互联或多线路互联的机房,我们称为BGP机房。
优点
1、服务器只需要设置一个IP地址,最佳访问路由是由网络上的骨干路由器根据路由跳数与其它技术指标来确定的,不会占用服务器的任何系统资源。服务器的上行路由与下行路由都能选择最优的路径,所以能真正实现高速的单IP高速访问。
2、由于BGP协议本身具有冗余备份、消除环路的特点,所以当IDC服务商有多条BGP互联线路时可以实现路由的相互备份,在一条线路出现故障时路由会自动切换到其它线路。
3、使用BGP协议还可以使网络具有很强的扩展性可以将IDC网络与其他运营商互联,轻松实现单IP多线路,做到所有互联运营商的用户访问都很快。这个是双IP双线无法比拟的。
1989年,公布了新的外部网关协议 BGP(边界网关协议) ,我们目前使用最多的版本是BGP-4(但仍然是起草方案[RFC 4271]),简写为BGP。
在不同的自治系统AS中之间的路由选择为什么不选择前面讨论的内部网关协议,如RIP或者OSPF?我们知道,内部网关协议(如RIP或RSPF)主要是设法使数据报在一个AS当中尽可能从源站发送到目的站。然而BGP使用的环境却不同,这主要有以下两种原因:
由于上述情况,边界网关协议BGP只能时力求寻找一条能够到达目的网络且 比较好的 的路由(不能兜圈子),而 并非要找一条最佳路由 ,BGP采用了 路径向量(path vector)路由选择协议 ,它与距离向量协议(如RIP)和链路状态协议(如OSPF)都有很大的区别。
在配置BGP的时候,每一个自治系统的管理员要选择至少一个路由器作为该自治系统的 BGP发言人 。一般来说,两个BGP发言人都是通过一个共享网络连接在一起的,而BGP发言人往往就是 BGP边界路由器 ,但也可以不是BGP边界路由器。
一个BGP发言人与其他AS的BGP发言人要交换路由信息,就要先建立起TCP连接(端口号为179),然后在此连接上交换BGP报文以建立 BGP会话(session) ,利用BGP会话交换路由信息,如增加了新的路由,或撤销过时的路由,以及报告出差错情况等等。使用TCP连接能提供可靠的服务,也简化了路由选择协议。使用TCP连接路由信息的两个BGP发言人,彼此成为对方的 邻站(neighbor)或 对等站(peer)。
图4-38表示BGP发言人和自治系统AS之间的关系示意图。在图中画出了三个自治系统中的5个BGP发言人,每个BGP发言人除了必须运行BGP协议模块外,还必须要运行该自治系统内部的内部网关协议,例如OSPF协议或者RIP协议。
边界网关协议BGP所交换的网络可达性的信息就是要到达某个网络(用网络前缀表达式)所要经过的一系列自治系统。当BGP发言人互相交换了网络可达的信息后,各BGP发言人就根据所采用的策略从收到的路由器信息找到到达各自治系统较好的路由,图4-39表示了从图4-38的AS1上的一个BGP发言人构造出的自治系统连通图,它是树形结构,不存在回路。
在如下图4-40中,给出了一个BGP发言人交换路径向量的例子。自治系统AS2的BGP发言人通过主干网的BGP发言人:”要到达网络N1,N2,N3,N4和N5可以经过AS2“。主干网在收到这个通知后,就发出通知:”要到达网络N1,N2,N3和N4可经过AS2可沿着路经(AS1和AS2)“。同理,主干网还可以发出通知:”要经过网络N5,N6,N7可沿路径(AS1和AS3)“。
从上面可以看出:BGP协议交换路由信息的结点数量级是 自治系统个数 ,这要比这些自治系统中的网络个数少很多,每一个自治系统中BGP发言人(路由器)的数目是很少的,这样就使得自治系统之间的路由选择并不过分复杂。
BGP支无分类持域间路由选择协议CIDR,因此BGP的路由表也就包括 目的网络前缀信息,下一跳路由器,以及要到达目的网络所要经过的自治系统序列 ,由于使用了路径向量信息,就可以很容易的避免”兜圈子”。
在BGP协议刚刚运行的时候,BGP的邻站是交换整个BGP路由表,但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销都有好处。在RFC 4271中规定了BGP-4种报文:
若两个邻站属于不同AS,而其中一个邻站打算要定期和另一个邻站交换路由信息,一开始就应该发送一个OPEN报文,如果邻站接受邻站的关系,就用KEEPALIVE报文(一般每隔30s)。KEEPALIVE报文只有19字节长(只用BGP报文的通用首部),因此不会造成网络上太大的开销。
UPDATE报文是BGP协议的核心,BGP发言人可以使用UPDATE报文撤销它以前通知过的路由,也可以宣布增加新的路由, 撤销路由可以一次性撤销许多条,但是新增路由,每个UPDATE报文只能添加一条。 BGP可以很容易地解决距离向量路由选择算法中的“坏消息传播得慢“这一问题。当某个路由器或者链路出现故障的时候,由于BGP发言人可以从不止一个邻站获取路由信息。因此很容易地选择出新的路由。距离向量算法往往不能给出正确的选择,因为这些算法往往不能给出正确的选择,是因为这些算法不能指出哪些邻站的目的站的路由时独立的。
图4-41给出了BGP报文的格式。四种类型的BGP报文具有同样的通用首部,其长度为19字节,通用首部分为三个字段:
OPEN报文共有6个字段:
UPDATE报文共有5个字段:
KEEPALIVE报文只有BGP的19字节长度的通用首部。
NOTIFICATION报文只有三个字段:
OSPF属于IGP(内部网关协议),主要作用是在网络内部发现、计算路由
BGP属于EGP(外部网关协议),主要作用是在不同网络之间传递、控制路由(路由来源于IGP)
一个孤立的网络只需要IGP协议就可以实现内部互通,而需要和外部互通的时候就需要EGP协议(IGP本身也需要存在),不存在只运行BGP没有IGP的这种说法。
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。
OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。