一、题目
BGP使用TCP为传输层协议, TCP端口号( )。路由器之间的BGP会话基于TCP连接而建立。
A、179
B、89
C、23
D、22
二、答案
A
三、解析
BGP(边界网关协议)使用 TCP 端口号 179 作为传输层协议来建立路由器之间的会话。BGP 对等体之间的会话基于 TCP 连接,因此确保了可靠的数据传输。
四、扩展 — BGP会话建立
BGP 的设计从一开始就决定了它是一个面向连接的协议,需要可靠的数据传输。TCP 端口号 179 是专门为 BGP 协议预留的端口,它的选定有以下原因:
- 可靠的传输层保障:由于 BGP 负责自治系统间的路由信息交换,数据传输必须具备可靠性。TCP 能够确保每条 BGP 消息(如 Open、Update、Notification、Keepalive)都被完整地发送和接收。
- 标准化:IANA 将 TCP 端口 179 标准化为 BGP 专用端口,确保所有网络设备都在这一端口上监听和建立 BGP 会话,从而实现跨厂商、跨自治系统的互操作性。
- 简化会话管理:通过预定义的端口号,路由器在建立 BGP 会话时,无需额外指定端口号,只需使用默认的 179 即可。这大大简化了配置过程,减少了出错的可能性。
4. BGP 会话建立过程
BGP 会话的建立基于 TCP 三次握手 机制。以下是 BGP 会话建立的基本步骤:
- TCP 三次握手:两台 BGP 路由器通过 TCP 端口 179 发起连接。发起会话的一方作为 主动方,向对等体发送 SYN 包,目标是建立一个可靠的 TCP 连接。对方作为 被动方 接收请求,返回 SYN/ACK,最后主动方发送 ACK,TCP 连接建立成功。
- BGP Open 报文:一旦 TCP 会话建立,BGP 路由器会立即发送 Open 报文。该报文包含版本号、自治系统号、Hold Time、BGP 标识符等关键信息,帮助对等体之间协商能力。
- BGP 会话建立完成:如果对等体同意建立 BGP 会话,将返回一个 Keepalive 报文,表明会话成功建立。之后,双方开始交换路由信息(Update 报文)。
5. BGP 使用 TCP 的优势
使用 TCP 作为传输层协议,BGP 获得了很多重要的优势:
- 高可靠性:TCP 提供的可靠传输机制,确保了 BGP 的路由信息不会丢失或乱序,极大提升了 BGP 的稳定性。
- 有序传输:TCP 保证数据包的顺序传输,使得 BGP 消息能够按照正确的顺序到达对方,避免混乱。
- 流量控制和拥塞控制:TCP 的流量控制机制,帮助 BGP 在网络高负载时仍能有效地交换路由信息,避免因数据包过多导致的丢失。
- 面向连接:BGP 会话是通过 TCP 连接维护的,这意味着即便网络发生抖动或短暂中断,BGP 也能依靠 TCP 来自动恢复连接。