为什么 BGP 基于 TCP 1027 而不是 179?

网络工程 思科 路由器 bgp
2021-08-02 02:38:04

为什么BGP外地地址端口是1027?

我使用BGP连接Router1和Router2,但是当我显示TCP进度时:

Router1>show tcp brief 
TCB       Local Address           Foreign Address        (state)
4E976890  10.0.0.1.179           10.0.0.2.1027         ESTABLISHED

我们说BGP是基于TCP 179端口的,为什么Router2的BGP在1027端口?

3个回答

连接的一侧将具有任意端口号,另一侧将在 179 上。

Cisco Press“BGP Fundamentals”有很好的解释(链接

具有较高 IP 地址的邻居管理连接。发起请求的路由器使用动态源端口,但目的端口始终为 179。

示例 1-1 显示了一个已建立的 BGP 会话,使用该命令show tcp brief显示路由器之间的活动 TCP 会话。请注意,R1 上的 TCP 源端口是 179,目的端口是 59884,而 R2 上的端口是相反的。

Example 1-1: Established BGP session

RP/0/0/CPU0:R1# show tcp brief | exc "LISTEN|CLOSED"
   PCB     VRF-ID     Recv-Q Send-Q Local Address    Foreign Address      State
0x088bcbb8 0x60000000      0      0  10.1.12.1:179    10.1.12.2:59884     ESTAB

R2# show tcp brief
TCB       Local Address               Foreign Address             (state)
EF153B88  10.1.12.2. 59884            10.1.12.1.179               ESTAB

这与任何其他 TCP 连接相同:被动开放端坐在并等待一个众所周知的端口号;主动开放端使用任意端口。这使得管理多对多 TCP 链接变得更加容易。

TCP 源端口与目标端口。

举一个不同的例子:HTTP 服务器侦听 TCP 端口 80。因此,当您连接到 Web 服务器时,您将自动使用 TCP/80 作为目标端口。但是,源端口是 1024 以上的随机端口。

BGP 发生完全相同的事情 - 客户端(启动连接的路由器)将连接到 TCP 目标端口 179。但该连接的源端口将是一个随机的高端口。

一般情况下,BGP使用 TCP179端口作为 BGP 服务。客户端连接BGP服务端口没有限制。

如SSH服务器22用作其端口,则客户端端口没有限制。