帮助我们改善您的体验。

让我们了解您的想法。

您是否能抽出两分钟的时间完成一份问卷调查?

Announcement: Our new, consolidated Junos CLI Reference is now available.

close
external-header-nav
keyboard_arrow_up
close
keyboard_arrow_left
BGP 用户指南
Table of Contents Expand all
list Table of Contents

机器翻译对您有帮助吗?

starstarstarstarstar
Go to English page
免责声明:

我们将使用第三方机器翻译软件翻译本页面。瞻博网络虽已做出相当大的努力提供高质量译文,但无法保证其准确性。如果对译文信息的准确性有任何疑问,请参阅英文版本. 可下载的 PDF 仅提供英文版.

BGP 的 TCP 访问限制

date_range 18-Jan-25

了解 BGP 与 TCP 的安全选项

在路由协议中,BGP 在使用 TCP 作为其传输协议方面独树一帜。通过在路由设备之间手动配置建立 BGP 对等方,以便在端口 179 上创建 TCP 会话。启用 BGP 的设备会定期发送激活消息以保持连接。

随着时间的推移,BGP 已成为互联网上占主导地位的域间路由协议。但是,它对稳定性和安全性的保证有限。为 BGP 配置安全选项时,必须在适当的安全措施与可接受的成本之间取得平衡。没有一种方法优于其他方法。每个网络管理员都必须配置满足所用网络需求的安全措施。

有关 BGP 使用 TCP 作为传输协议的安全问题的详细信息,请参阅 RFC 4272,BGP 安全漏洞分析

示例:配置过滤器以阻止对端口的 TCP 访问(来自指定 BGP 对等方除外)

此示例说明如何配置标准无状态防火墙过滤器,以阻止除指定 BGP 对等方之外的所有请求方对端口 179 的所有 TCP 连接尝试。

要求

在配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

在此示例中,您将创建一个无状态防火墙过滤器,用于阻止除指定 BGP 对等方之外的所有请求者对端口 179 的所有 TCP 连接尝试。

无状态防火墙过滤器 filter_bgp179 会将来自设备 A 和设备 B 上直接连接的接口的所有数据包与目标端口号 179 进行匹配。

拓扑学

图 1 显示了此示例中使用的拓扑。设备 C 尝试与设备 E 建立 TCP 连接。设备 E 阻止连接尝试。此示例显示了设备 E 上的配置。

图 1: 具有 BGP 对等会话的典型网络具有 BGP 对等会话的典型网络

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

设备 C

content_copy zoom_out_map
set interfaces ge-1/2/0 unit 10 description to-E 
set interfaces ge-1/2/0 unit 10 family inet address 10.10.10.10/30 
set protocols bgp group external-peers type external 
set protocols bgp group external-peers peer-as 17 
set protocols bgp group external-peers neighbor 10.10.10.9 
set routing-options autonomous-system 22

设备 E

content_copy zoom_out_map
set interfaces ge-1/2/0 unit 0 description to-A 
set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 
set interfaces ge-1/2/1 unit 5 description to-B 
set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 
set interfaces ge-1/0/0 unit 9 description to-C 
set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 
set interfaces lo0 unit 2 family inet filter input filter_bgp179 
set interfaces lo0 unit 2 family inet address 192.168.0.1/32 
set protocols bgp group external-peers type external 
set protocols bgp group external-peers peer-as 22 
set protocols bgp group external-peers neighbor 10.10.10.2 
set protocols bgp group external-peers neighbor 10.10.10.6 
set protocols bgp group external-peers neighbor 10.10.10.10 
set routing-options autonomous-system 17
set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.2/32 
set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.6/32 
set firewall family inet filter filter_bgp179 term 1 from destination-port bgp 
set firewall family inet filter filter_bgp179 term 1 then accept 
set firewall family inet filter filter_bgp179 term 2 then reject

配置设备 E

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要使用无状态防火墙过滤器配置设备 E,以阻止除指定 BGP 对等方之外的所有请求者对端口 179 的所有 TCP 连接尝试,请执行以下操作:

  1. 配置接口。

    content_copy zoom_out_map
    user@E# set interfaces ge-1/2/0 unit 0 description to-A 
    user@E# set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 
    user@E# set interfaces ge-1/2/1 unit 5 description to-B 
    user@E# set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 
    user@E# set interfaces ge-1/0/0 unit 9 description to-C 
    user@E# set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 
    
  2. 配置 BGP。

    content_copy zoom_out_map
    [edit protocols bgp group external-peers]
    user@E# set type external 
    user@E# set peer-as 22 
    user@E# set neighbor 10.10.10.2 
    user@E# set neighbor 10.10.10.6 
    user@E# set neighbor 10.10.10.10 
    
  3. 配置自治系统编号。

    content_copy zoom_out_map
    [edit routing-options]
    user@E# set autonomous-system 17
    
  4. 定义接受来自指定 BGP 对等方的端口 179 的 TCP 连接尝试的过滤器术语。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@E# set term 1 from source-address 10.10.10.2/32 
    user@E# set term 1 from source-address 10.10.10.6/32 
    user@E# set term 1 from destination-port bgp 
    user@E# set term 1 then accept 
    
  5. 定义其他过滤器术语以拒绝来自其他源的数据包。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@E# set term 2 then reject
    
  6. 将防火墙过滤器应用于环路接口。

    content_copy zoom_out_map
    [edit interfaces lo0 unit 2 family inet]
    user@E# set filter input filter_bgp179
    user@E# set address 192.168.0.1/32
    
结果

在配置模式下,输入 show firewallshow interfacesshow protocolsshow routing-options 命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

content_copy zoom_out_map
user@E# show firewall
family inet {
    filter filter_bgp179 {
        term 1 {
            from {
                source-address {
                    10.10.10.2/32;
                    10.10.10.6/32;
                }
                destination-port bgp;
            }
            then accept;
        }
        term 2 {
            then {
                reject;
            }
        }
    }
}
content_copy zoom_out_map
user@E# show interfaces
lo0 {
    unit 2 {
        family inet {
            filter {
                input filter_bgp179; 
            }
            address 192.168.0.1/32;
        }
    }
}
ge-1/2/0 {
    unit 0 {
        description to-A;
        family inet {
            address 10.10.10.1/30;
        }
    }
}
ge-1/2/1 {
    unit 5 {
        description to-B;
        family inet {
            address 10.10.10.5/30;
        }
    }
}
ge-1/0/0 {
    unit 9 {
        description to-C;
        family inet {
            address 10.10.10.9/30;
        }
    }
}
content_copy zoom_out_map
user@E# show protocols
bgp {
    group external-peers {
        type external;
        peer-as 22;
        neighbor 10.10.10.2;
        neighbor 10.10.10.6;
        neighbor 10.10.10.10;
    }
}
content_copy zoom_out_map
user@E# show routing-options
autonomous-system 17;

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

验证是否已配置过滤器

目的

确保筛选器列在命令的 show firewall filter 输出中。

操作
content_copy zoom_out_map
user@E> show firewall filter filter_bgp179
Filter: filter_bgp179

验证 TCP 连接

目的

验证 TCP 连接。

操作

在操作模式下, show system connections extensive 在设备 C 和设备 E 上运行命令。

设备 C 上的输出显示了建立 TCP 连接的尝试。设备 E 上的输出显示仅与设备 A 和设备 B 建立连接。

content_copy zoom_out_map
user@C> show system connections extensive | match 10.10.10

tcp4       0      0  10.10.10.9.51872     10.10.10.10.179       SYN_SENT
content_copy zoom_out_map
user@E> show system connections extensive | match 10.10.10

tcp4       0      0  10.10.10.5.179        10.10.10.6.62096     ESTABLISHED
tcp4       0      0  10.10.10.6.62096      10.10.10.5.179       ESTABLISHED
tcp4       0      0  10.10.10.1.179        10.10.10.2.61506     ESTABLISHED
tcp4       0      0  10.10.10.2.61506      10.10.10.1.179       ESTABLISHED

监控接口上的流量

目的

使用命令将 monitor traffic 建立 TCP 连接的接口上的流量与未建立 TCP 连接的接口上的流量进行比较。

操作

在操作模式下, monitor traffic 在设备 B 的设备 E 接口和设备 C 的设备 E 接口上运行命令。以下示例输出验证在第一个示例中是否收到了确认 (ack) 消息。在第二个示例中, ack 未收到消息。

content_copy zoom_out_map
user@E> monitor traffic size 1500 interface ge-1/2/1.5
19:02:49.700912 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 3330573561:3330573580(19) ack 915601686 win 16384 <nop,nop,timestamp 1869518816 1869504850>: BGP, length: 19
19:02:49.801244  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 19 win 16384 <nop,nop,timestamp 1869518916 1869518816>
19:03:03.323018  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: P 1:20(19) ack 19 win 16384 <nop,nop,timestamp 1869532439 1869518816>: BGP, length: 19
19:03:03.422418 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: . ack 20 win 16384 <nop,nop,timestamp 1869532539 1869532439>
19:03:17.220162 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 19:38(19) ack 20 win 16384 <nop,nop,timestamp 1869546338 1869532439>: BGP, length: 19
19:03:17.320501  In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 38 win 16384 <nop,nop,timestamp 1869546438 1869546338>
content_copy zoom_out_map
user@E> monitor traffic size 1500 interface ge-1/0/0.9

18:54:20.175471 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869009240 0,sackOK,eol>
18:54:23.174422 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869012240 0,sackOK,eol>
18:54:26.374118 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869015440 0,sackOK,eol>
18:54:29.573799 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
18:54:32.773493 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
18:54:35.973185 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>

示例:配置过滤器以根据前缀列表限制对端口的 TCP 访问

此示例说明如何配置标准无状态防火墙过滤器,通过指定包含允许的 BGP 对等方的前缀源列表,限制发往路由引擎的某些 TCP 和互联网控制消息协议 (ICMP) 流量。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

在此示例中,您将创建一个无状态防火墙过滤器,该过滤器阻止所有请求方对端口 179 的所有 TCP 连接尝试,但具有指定前缀的 BGP 对等方除外。

拓扑学

将创建一个源前缀列表 plist_bgp179,用于指定包含允许的 BGP 对等方的源前缀列表。

无状态防火墙过滤器 filter_bgp179 匹配源前缀列表中 plist_bgp179 与目标端口号 179 的所有数据包。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

content_copy zoom_out_map
set policy-options prefix-list plist_bgp179 apply-path "protocols bgp group <*> neighbor <*>"
set firewall family inet filter filter_bgp179 term 1 from source-address 0.0.0.0/0
set firewall family inet filter filter_bgp179 term 1 from source-prefix-list plist_bgp179 except
set firewall family inet filter filter_bgp179 term 1 from destination-port bgp
set firewall family inet filter filter_bgp179 term 1 then reject
set firewall family inet filter filter_bgp179 term 2 then accept
set interfaces lo0 unit 0 family inet filter input filter_bgp179
set interfaces lo0 unit 0 family inet address 127.0.0.1/32

配置过滤器

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置过滤器:

  1. 展开前缀列表 bgp179 以包括由 定义的 protocols bgp group <*> neighbor <*>BGP 对等组指向的所有前缀。

    content_copy zoom_out_map
    [edit policy-options prefix-list plist_bgp179]
    user@host# set apply-path " protocols bgp group <*> neighbor <*>"
    
  2. 定义过滤器术语,该术语拒绝除指定 BGP 对等方之外的所有请求方对端口 179 的 TCP 连接尝试。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@host# set term term1 from source-address 0.0.0.0/0
    user@host# set term term1 from source-prefix-list bgp179 except
    user@host# set term term1 from destination-port bgp
    user@host# set term term1 then reject
    
  3. 定义另一个过滤器术语以接受所有数据包。

    content_copy zoom_out_map
    [edit firewall family inet filter filter_bgp179]
    user@host# set term term2 then accept
    
  4. 将防火墙过滤器应用于环路接口。

    content_copy zoom_out_map
    [edit interfaces lo0 unit 0 family inet]
    user@host# set filter input filter_bgp179
    user@host# set address 127.0.0.1/32
    

结果

在配置模式下,输入 show firewallshow interfacesshow policy-options 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

content_copy zoom_out_map
user@host# show firewall
family inet {
    filter filter_bgp179 {
        term 1 {
            from {
                source-address {
                    0.0.0.0/0;
                }
                source-prefix-list {
                    plist_bgp179 except;
                }
                destination-port bgp;
            }
            then {
                reject;
            }
        }
        term 2 {
            then {
                accept;
            }
        }
    }
}
content_copy zoom_out_map
user@host# show interfaces
lo0 {
    unit 0 {
        family inet {
            filter {
                input filter_bgp179; 
            }
            address 127.0.0.1/32;
        }
    }
}
content_copy zoom_out_map
user@host# show policy-options
prefix-list plist_bgp179 {
    apply-path "protocols bgp group <*> neighbor <*>";
}

如果完成设备配置,请从配置模式输入 commit

验证

确认配置工作正常。

显示应用于环路接口的防火墙过滤器

目的

验证防火墙过滤器 filter_bgp179 是否已应用于逻辑接口 lo0.0上的 IPv4 输入流量。

操作

show interfaces statistics operational mode 逻辑接口 lo0.0使用命令,并包括该 detail 选项。在 Protocol inet 命令输出部分的部分下,该 Input Filters 字段显示应用于输入方向逻辑接口的无状态防火墙过滤器的名称。

content_copy zoom_out_map
[edit]
user@host> show interfaces statistics lo0.0 detail
  Logical interface lo0.0 (Index 321) (SNMP ifIndex 16) (Generation 130)
    Flags: SNMP-Traps Encapsulation: Unspecified
    Traffic statistics:
     Input  bytes  :                    0
     Output bytes  :                    0
     Input  packets:                    0
     Output packets:                    0
    Local statistics:
     Input  bytes  :                    0
     Output bytes  :                    0
     Input  packets:                    0
     Output packets:                    0
    Transit statistics:
     Input  bytes  :                    0                    0 bps
     Output bytes  :                    0                    0 bps
     Input  packets:                    0                    0 pps
     Output packets:                    0                    0 pps
    Protocol inet, MTU: Unlimited, Generation: 145, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Input Filters: filter_bgp179
      Addresses, Flags: Primary
        Destination: Unspecified, Local: 127.0.0.1, Broadcast: Unspecified, Generation: 138

示例:限制 BGP 的 TCP 分段大小

此示例说明在使用最大传输单元 (MTU) 发现时,如何通过限制 TCP 段大小来避免互联网控制消息协议 (ICMP) 漏洞问题。在 TCP 路径上使用 MTU 发现是避免 BGP 数据包分段的一种方法。

要求

在配置此示例之前,不需要除设备初始化之外的特殊配置。

概述

TCP 在两个对等方之间建立会话连接期间协商最大分段大小 (MSS) 值。协商的 MSS 值主要基于通信对等方直接连接到的接口的最大传输单元 (MTU)。但是,由于 TCP 数据包所采用路径上的链路 MTU 会发生变化,当数据包大小超过链路的 MTU 时,网络中某些完全在 MSS 值内的数据包可能会分段。

要配置 TCP MSS 值,请包含 tcp-mss 段大小为 1 到 4096 的语句。

如果路由器收到设置了 SYN 位和 MSS 选项的 TCP 数据包,并且数据包中指定的 MSS 选项大于语句 tcp-mss 指定的 MSS 值,则路由器会将数据包中的 MSS 值替换为语句指定的 tcp-mss 较低值。

配置的 MSS 值用作发送方的最大分段大小。假设发送方用于与 BGP 邻接方通信的 TCP MSS 值与发送方可以从 BGP 邻接方接受的 TCP MSS 值相同。如果来自 BGP 邻居的 MSS 值小于配置的 MSS 值,则来自 BGP 邻居的 MSS 值将用作发送方的最大分段大小。

TCP over IPv4 和 TCP over IPv6 支持此功能。

拓扑图

图 2 显示了此示例中使用的拓扑。

图 2: BGP 的 TCP 最大分段大小BGP 的 TCP 最大分段大小

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改与您的网络配置匹配所需的任何详细信息,然后将命令复制并粘贴到层次结构级别的 CLI [edit] 中。

R0

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 1 family inet address 1.1.0.1/30
set interfaces lo0 unit 1 family inet address 10.255.14.179/32
set protocols bgp group-int tcp-mss 2020
set protocols bgp group int type internal
set protocols bgp group int local-address 10.255.14.179
set protocols bgp group int mtu-discovery
set protocols bgp group int neighbor 10.255.71.24 tcp-mss 2000
set protocols bgp group int neighbor 10.255.14.177
set protocols bgp group int neighbor 10.0.14.4 tcp-mss 4000
set protocols ospf area 0.0.0.0 interface fe-1/2/0.1
set protocols ospf area 0.0.0.0 interface 10.255.14.179
set routing-options autonomous-system 65000

程序

分步过程

以下示例要求您在配置层次结构中导航各个级别。有关导航 CLI 的信息,请参阅《Junos OS CLI 用户指南》中的在配置模式下使用 CLI 编辑器

要配置路由器 R0:

  1. 配置接口。

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set fe-1/2/0 unit 1 family inet address 1.1.0.1/30
    user@R0# set lo0 unit 1 family inet address 10.255.14.179/32
    
  2. 配置内部网关协议 (IGP),在本例中为 OSPF。

    content_copy zoom_out_map
    [edit protocols ospf area 0.0.0.0]
    user@R0# set interface fe-1/2/0.1
    user@R0# set interface 10.255.14.179 
    
  3. 配置一个或多个 BGP 组。

    content_copy zoom_out_map
    [edit protocols bgp group int]
    user@R0# set type internal
    user@R0# set local-address 10.255.14.179
    
  4. 配置 MTU 发现以防止数据包分段。

    content_copy zoom_out_map
    [edit protocols bgp group int]
    user@R0# set mtu-discovery
    
  5. 配置 BGP 邻接方,将 TCP MSS 设置为全局组或专门针对各种邻接方设置。

    content_copy zoom_out_map
    [edit protocols bgo group int]
    user@R0# set tcp-mss 2020
    user@R0# set neighbor 10.255.14.177
    user@R0# set neighbor 10.255.71.24 tcp-mss 2000
    user@R0# set neighbor 10.0.14.4 tcp-mss 4000
    
    注:

    TCP MSS 邻居设置将覆盖组设置。

  6. 配置本地自治系统。

    content_copy zoom_out_map
    [edit routing-options]
    user@R0# set autonomous-system 65000
    
结果

在配置模式下,输入 show interfacesshow protocolsshow routing-options 命令确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明,以便进行更正。

content_copy zoom_out_map
user@R0# show interfaces
fe-1/2/0 {
    unit 1 {
        family inet {
            address 1.1.0.1/30;
        }
    }
}
lo0 {
    unit 1 {
        family inet {
            address 10.255.14.179/32;
        }
    }
}
content_copy zoom_out_map
user@R0# show protocols
bgp {
    group int {
        type internal;
        local-address 10.255.14.179;
        mtu-discovery;
        tcp-mss 2020;
        neighbor 10.255.71.24 {
            tcp-mss 2000;
        }
        neighbor 10.255.14.177;
        neighbor 10.0.14.4 {
            tcp-mss 4000;
        }
    }
}
ospf {
    area 0.0.0.0 {
        interface fe-1/2/0.1;
        interface 10.255.14.179;
    }
}
content_copy zoom_out_map
user@R0# show routing-options
autonomous-system 65000;

如果完成设备配置,请从配置模式输入 commit

验证

要确认配置工作正常,请运行以下命令:

  • show system connections extensive | find <neighbor-address>,以检查协商的 TCP MSS 值。

  • monitor traffic interface,以监控 BGP 流量并确保配置的 TCP MSS 值用作 TCP SYN 数据包中的 MSS 选项。

故障排除

使用 MTU 发现进行 MSS 计算

问题

考虑一个示例,其中两个路由设备(R1 和 R2)具有内部 BGP (IBGP) 连接。在两个路由器上,连接的接口都将 4034 作为 IPv4 MTU。

content_copy zoom_out_map
user@R1# show protocols bgp | display set 
[edit]
set protocols bgp group ibgp type internal
set protocols bgp group ibgp local-address 45.45.45.2
set protocols bgp group ibgp mtu-discovery
set protocols bgp group ibgp neighbor 45.45.45.1
content_copy zoom_out_map
user@R1# run show interfaces xe-0/0/3 extensive | match mtu 

  Link-level type: Ethernet, MTU: 4048, LAN-PHY mode, Speed: 10Gbps,
    FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0
    Protocol inet, MTU: 4034, Generation: 180, Route table: 0
    Protocol multiservice, MTU: Unlimited, Generation: 181, Route table: 0

在设备 R1 上的以下数据包捕获中,协商的 MSS 为 3994。在 MSS 的信息中 show system connections extensive ,它设置为 2048。

content_copy zoom_out_map
05:50:01.575218 Out 
        Juniper PCAP Flags [Ext], PCAP Extension(s) total length 16
          Device Media Type Extension TLV #3, length 1, value: Ethernet (1)
          Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14)
          Device Interface Index Extension TLV #1, length 2, value: 137
          Logical Interface Index Extension TLV #4, length 4, value: 69
        -----original packet-----
        00:21:59:e1:e8:03 > 00:19:e2:20:79:01, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 64, id 53193, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.2.62840 > 45.45.45.1.bgp: S 2939345813:2939345813(0) win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 70559970 0,sackOK,eol>
05:50:01.575875 In 
        Juniper PCAP Flags [Ext, no-L2, In], PCAP Extension(s) total length 16
          Device Media Type Extension TLV #3, length 1, value: Ethernet (1)
          Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14)          
          Device Interface Index Extension TLV #1, length 2, value: 137
          Logical Interface Index Extension TLV #4, length 4, value: 69
        -----original packet-----
		PFE proto 2 (ipv4): (tos 0xc0, ttl 255, id 37709, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.1.bgp > 45.45.45.2.62840: S 2634967984:2634967984(0) ack 2939345814 win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 174167273 70559970,sackOK,eol>
content_copy zoom_out_map
user@R1# run show system connections extensive | find 45.45 

tcp4       0      0  45.45.45.2.62840                              45.45.45.1.179                                ESTABLISHED
   sndsbcc:          0 sndsbmbcnt:          0  sndsbmbmax:     131072
sndsblowat:       2048 sndsbhiwat:      16384
   rcvsbcc:          0 rcvsbmbcnt:          0  rcvsbmbmax:     131072
rcvsblowat:          1 rcvsbhiwat:      16384
   proc id:      19725  proc name:        rpd
       iss: 2939345813      sndup: 2939345972
    snduna: 2939345991     sndnxt: 2939345991      sndwnd:      16384
    sndmax: 2939345991    sndcwnd:      10240 sndssthresh: 1073725440
       irs: 2634967984      rcvup: 2634968162
    rcvnxt: 2634968162     rcvadv: 2634984546      rcvwnd:      16384
       rtt:          0       srtt:       1538        rttv:       1040
    rxtcur:       1200   rxtshift:          0       rtseq: 2939345972
    rttmin:       1000  mss:        2048
解决方案

这是 Junos OS 的预期行为。MSS 值等于 MTU 值减去 IP 或 IPv6 和 TCP 报头。这意味着 MSS 值通常比 MTU 小 40 个字节(对于 IPv4),比 MTU(对于 IPv6)小 60 个字节。此值在对等方之间进行协商。在此示例中,它是 4034 - 40 = 3994。然后,Junos OS 将此值舍入为 2 KB 的倍数。值为 3994 / 2048 * 2048=2048。因此,没有必要在输出中看到 show system connections 相同的 MSS 值。

3994 / 2048 = 1.95

1.95 四舍五入为 1。

1 * 2048 = 2048

external-footer-nav