首页/网络/BGP 与广域网速查/TCP 179:端口与监听行为
BGP 基础与邻居89 条

TCP 179:端口与监听行为

BGP 用 TCP 179 建会话:双方都可主动发起也可监听;中间设备需双向放行 179,含返回流量与大规模会话性能。

BGP 与广域网速查网络更新于 2026-10-13

179 端口与连接模型

BGP 是唯一使用 TCP 作为传输的路由协议,目的端口固定为 IANA 注册的 179,源端口为随机临时端口。一个邻居就是一条 TCP 连接,两端都可以主动发起,因此配置 remote-as 后双方会各自尝试 connect,若同时发起则按 RFC 4271 的冲突处理规则比较 Router ID 决定保留哪条。

基本信息

目的端口TCP 179(IANA 注册,源端口随机)
发起方式两端均可主动,也可一端被动监听
中间设备防火墙与 ACL 需双向放行,NAT 需稳定映射
安全加固TCP MD5 签名、GTSM(TTL 校验)、来源地址白名单
规模影响大量邻居时关注防火墙会话表容量与老化时间

典型使用场景

  • 打通新对等:先验 179 可达,再核对 remote-as,避免在 BGP 层面空转
  • 跨防火墙建立 eBGP:确认策略允许双向 179,而不是只放行去程
  • NAT 环境下的对等:使用固定一对一映射,防止地址端口变化导致会话重建
  • 公网直连对等加固:结合 TCP MD5 签名与 GTSM 降低伪造报文风险
  • 大规模对等设备扩容:评估防火墙或中间设备的并发会话上限与超时时间

连通性与连接状态验证

连通性与连接状态验证
# 从对端测试 179 是否可达(Windows)
Test-NetConnection 10.0.0.2 -Port 179
#
# Linux 侧查看连接与监听
ss -tnp | grep 179
#
# 网络设备侧查看 TCP 连接表
display tcp verbose | include 179
# 关注:State 是否为 ESTABLISHED、两端地址与端口是否成对出现

端口层排错对照

现象端口层原因处理方向
状态在 Connect/Active 循环SYN 到达但 SYN-ACK 被拦或回程无路由核对双向 ACL 与回程路由
会话建立后立刻断开中间设备老化时间短于 Keepalive 间隔延长会话老化时间或缩短 Keepalive
NAT 后会话反复重建映射不固定或端口转换后不一致改用静态一对一映射或隧道直连
新邻居连不上、老邻居正常防火墙会话表或 NAT 池已满扩容会话表、清理无效条目

抓包定位

抓包定位
# 只看 BGP 相关 TCP 报文,确认握手与 179 方向
tcpdump -i eth0 -nn 'tcp port 179' -c 50
# 观察点:SYN -> SYN/ACK -> ACK 是否完成
#         之后是否出现 BGP Open(长度 19 起的报文)
# 若只有 SYN 重传:多为策略拦截或对端无回程路由
使用被动模式(passive)可让本端只监听不主动发起,常用于对端固定主动连接的场景。两端若都配置被动,谁都等对方先连,会话会永远停在 Idle 或 Active。

易错点

  • 只放行单向 179:去程 SYN 能到、回程 SYN-ACK 被丢弃,表现为连接反复重试却从不建立
  • NAT 后直接建 iBGP 或 eBGP:地址端口映射不稳定,会话随 NAT 表变动反复断开
  • 忽略中间设备会话老化时间:防火墙默认老化常短于 BGP Keepalive 间隔,长时间无更新时连接被静默清除
  • 大规模对等未评估会话表容量:新增几十个邻居后中间设备表满,业务流量与新会话一起受影响
  • 把源端口当成固定值做策略:BGP 源端口是随机临时端口,ACL 只能按目的端口 179 与源地址来匹配

数据来源与参考

  • RFC 4271: TCP 传输
  • IANA: 端口 179 分配
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌