一、题目
BGP协议有一种消息是在BGP邻居之间周期性地发送,用以维护邻居关系。这种消息是
A、Update
B、Hello
C、open
D、Keepalive
二、答案
D
三、解析
在BGP(边界网关协议)中,用于在BGP邻居之间周期性地发送以维护邻居关系的消息是Keepalive。
- Update:用于在BGP邻居之间传递路由更新信息,包括可达路由和不可达路由。
- Hello:在BGP建立连接时发送,用于确认邻居的存在和可用性。Hello消息也包含一些参数,如保持时间(hold time)等。
- Open:在BGP连接建立时发送,用于建立BGP会话并交换一些重要的参数,如自治系统号(AS number)、BGP标识符等。
- Keepalive:这是一种周期性的消息,用于在BGP邻居之间保持连接。当BGP邻居之间在一段时间内没有交换任何消息时,发送Keepalive消息可以确保连接不被中断。
所以,正确答案是D
四、扩展 — BGP报文
BGP(Border Gateway Protocol)是一种在自治系统(AS)之间交换路由信息的协议,它使用TCP连接来传输各种类型的报文。以下是BGP中常见的报文类型及其具体解析:
1. OPEN报文
- 目的: 建立BGP邻居关系时,用于协商BGP会话参数。
- 字段:
- Version:BGP版本号,通常为4。
- My Autonomous System:发送OPEN报文的AS号。
- Hold Time:对等体希望保持邻居关系的最大时间间隔。
- BGP Identifier:发送者BGP路由器的标识符(通常是路由器的IP地址)。
- 可能包含的可选参数:例如,Authentication Information。
2. UPDATE报文
- 目的: 用于传输路由信息。
- 字段:
- Withdrawn Routes:要撤回的路由。
- Path Attributes:路由属性,包括AS_PATH、NEXT_HOP等。
- Network Layer Reachability Information (NLRI):可达性信息,即目的地网络的前缀和子网掩码。
3. NOTIFICATION报文
- 目的: 用于指示错误或终止BGP会话。
- 字段:
- Error Code:指示错误类型的代码。
- Error Subcode:更具体的错误子代码。
- Data:附加的错误数据。
4. KEEPALIVE报文
- 目的: 用于维持BGP邻居关系。
- 字段: 通常没有字段,只是一个空消息,用于表明对等体仍然活动。
5. ROUTE-REFRESH报文
- 目的: 请求对等体刷新路由信息。
- 字段: 通常没有字段,只是一个指示对等体刷新路由信息的请求。
报文交互过程
- 建立连接:通过发送OPEN报文来建立TCP连接。
- 参数协商:在OPEN报文中协商BGP会话参数。
- 传输路由信息:通过UPDATE报文交换路由信息。
- 维持连接:通过发送KEEPALIVE报文来维持连接。
- 错误处理和终止:当发生错误时,使用NOTIFICATION报文终止BGP会话。