BGP实验报告

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

BGP状态机实验报告
一、实验目的
通过BGP状态机实验,加深对协议状态机描述的理解,并掌握状态机的设计实验方法,同时也可加深对BGP路由协议的理解二、实验要求
根据系统的各种输入事件,进行BGP状态的变迁,并根据BGP 协议在适当情况下进行相应的处理。

三、状态转移情况
BGP状态机一共有6个状态,分别是
Idle,Connect,Active,OpenSent,OpenConfirm,Established
本实验要求处理的状态转移事件有
收到open消息:stud_bgp_FsmEventOpen
收到Keepalive消息:stud_bgp_FsmEventKeepAlive
收到Notification消息:stud_bgp_FsmEventNotification
收到Update消息:stud_bgp_FsmEventUpdate
TCP连接异常:stud_bgp_FsmEventTcpException,又细分为
BGP_TCP_CLOSE,BGP_TCP_FATAL_ERROR,
BGP_TCP_RETRANSMISSION_TIMEOUT三种子情况
计时器超时:stud_bgp_FsmEventTimerProcess,又细分为
BGP_CONNECTRETRY_TIMEOUT,BGP_HOLD_TIMEOUT,
BGP_KEEPALIVE_TIMEOUT三种子情况
BGP开始:stud_bgp_FsmEventStart
BGP结束:stud_bgp_FsmEventStop
收到连接结果:stud_bgp_FsmEventConnect
整理后的状态转移表如下
编程时,只要在事件处理函数中完成对应状态的变换即可
四、包的发送
1.open
将BGP消息头的标记全部置为1,表示不包含认证信息
●设置长度
●设置消息类型
●设置版本
●设置自治系统号
●设置保持时间
●设置BGP标志符
●调用bgp_FsmSendTcpData函数发送包
2.notification
●BGP消息头的标记全部置为1
●设置BGP消息头的长度
●设置BGP消息头的类型
●设置NOTIFICATION消息的错误编码
●设置NOTIFICATION消息的错误字码
●调用bgp_FsmSendTcpData函数发送包
3.keepalive
●BGP消息头的标记全部置为1
●设置BGP消息头的长度
●设置BGP消息头的类型
●调用TCP段发送函数bgp_FsmSendTcpData发送
五、遇到的问题
●包头的格式
marker要设置为全一,表示不包含认证信息。

但是在本实
验中似乎没影响。

实验指导书中的事件与试验接口函数的对应
有些函数函数名没有直接跟指导书上的函数名对应上,经过尝试才完成了函数名的对应。

相关文档
最新文档