当前Internet被划分为多个自治系统,自治系统是一个实体,一般是指隶属于一个管理机构的路由器集合。每个自治系统可以制定自己的路由策略。自治系统内部的路由器通过域内路由协议彼此交换路由信息,一般域内路由协议分为距离向量协议和链路状态协议,前者以RIP代表,后者常用的有OSPF、IS-IS协议;自治系统边界路由器通过域间路由协议交换路由信息,目前Internet上的域间路由协议事实标准是BGP-4协议。
BGP-4协议软件的总体设计
如图1所示,作者从功能上把协议软件分为Init,Event Generator,FSM,Message Parser,Routing Information Processor,Protocol Messager和I/O等7个模块,还有Config和RIB两个数据库.为了提高处理效率,减轻系统负担,整个软件设计为单进程结构,各个模块之间的交互采用函数调用和数据交换的方式.下面简单叙述各个模块的功能.
图1 BGP-4协议实现总体结构图
Init:对用户配置文件或控制台输入进行分析,从中读取BGP-4协议软件运行时所需的各项参数,同时进行语法和语义检查,把正确的参数写入Config数据库中,供其他模块在运行时检索引用;之后初始化全局数据结构(如事件队列、时钟链等