BGP에 대한 TCP 액세스 제한
TCP를 통한 BGP 보안 옵션 이해
라우팅 프로토콜 중 BGP는 TCP를 전송 프로토콜로 사용하는 데 고유합니다. BGP 피어는 포트 179에서 TCP 세션을 생성하기 위해 라우팅 디바이스 간의 수동 구성에 의해 설정됩니다. BGP 지원 장비는 연결을 유지하기 위해 주기적으로 keepalive 메시지를 보냅니다.
시간이 지남에 따라 BGP는 인터넷에서 지배적인 도메인 간 라우팅 프로토콜이 되었습니다. 그러나 안정성과 보안을 보장하는 데는 한계가 있습니다. BGP를 위한 보안 옵션 구성은 적절한 보안 조치와 수용 가능한 비용의 균형을 유지해야 합니다. 그 어떤 방법도 다른 방법보다 우월한 것으로 나타난 것은 없습니다. 각 네트워크 관리자는 사용 중인 네트워크의 요구를 충족하는 보안 조치를 구성해야 합니다.
BGP가 TCP를 전송 프로토콜로 사용하는 것과 관련된 보안 문제에 대한 자세한 내용은 RFC 4272, BGP 보안 취약점 분석을 참조하십시오.
참조
예를 들면 다음과 같습니다. 지정된 BGP 피어를 제외하고 포트에 대한 TCP 액세스를 차단하기 위한 필터 구성
이 예에서는 지정된 BGP 피어를 제외한 모든 요청자로부터 179를 포트하려는 모든 TCP 연결 시도를 차단하는 표준 스테이트리스 방화벽 필터를 구성하는 방법을 보여줍니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외에는 특별한 구성이 필요하지 않습니다.
개요
이 예에서는 지정된 BGP 피어를 제외한 모든 요청자로부터 179를 포트하려는 모든 TCP 연결 시도를 차단하는 스테이트리스 방화벽 필터를 생성합니다.
스테이트리스 방화벽 필터 filter_bgp179 는 디바이스 A 및 디바이스 B의 직접 연결된 인터페이스에서 대상 포트 번호 179에 이르는 모든 패킷과 일치합니다.
토폴로지
그림 1 이 예에서 사용된 토폴로지의 표시를 보여 주십시오. 장비 C는 Device E에 대한 TCP 연결을 시도합니다. Device E는 연결 시도를 차단합니다. 이 예에서는 Device E의 구성을 보여줍니다.

구성
CLI 빠른 구성
이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경한 다음, 명령을 복사하여 계층적 수준에서 CLI [edit] 에 붙여넣습니다.
디바이스 C
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
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 사용자 가이드의 Configuration 모드에서 CLI Editor를 사용하는 것을 참조하십시오.
지정된 BGP 피어를 제외한 모든 요청자로부터 179를 포트하려는 모든 TCP 연결 시도를 차단하는 스테이트리스 방화벽 필터로 Device E를 구성하려면 다음을 수행합니다.
인터페이스를 구성합니다.
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
BGP를 구성합니다.
[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
자율 시스템 번호를 구성합니다.
[edit routing-options] user@E# set autonomous-system 17
지정된 BGP 피어에서 179를 포트하려는 TCP 연결 시도를 허용하는 필터 용어를 정의합니다.
[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
다른 소스에서 패킷을 거부하는 다른 필터 용어를 정의합니다.
[edit firewall family inet filter filter_bgp179] user@E# set term 2 then reject
방화벽 필터를 루프백 인터페이스에 적용합니다.
[edit interfaces lo0 unit 2 family inet] user@E# set filter input filter_bgp179 user@E# set address 192.168.0.1/32
결과
구성 모드에서 , show interfacesshow protocols및 show routing-options 명령을 입력show firewall하여 구성을 확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.
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; } } } }
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; } } }
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; } }
user@E# show routing-options autonomous-system 17;
디바이스 구성을 완료한 경우 구성 모드에서 입력 commit 합니다.
확인
구성이 올바르게 작동하는지 확인합니다.
필터가 구성되었는지 검증
목적
필터가 명령의 show firewall filter
출력에 나열되어 있는지 확인합니다.
실행
user@E> show firewall filter filter_bgp179 Filter: filter_bgp179
TCP 연결 검증
목적
TCP 연결을 확인합니다.
실행
운영 모드에서 Device C 및 Device E에서 명령을 실행 show system connections extensive
합니다.
Device C의 출력은 TCP 연결 설정 시도를 보여줍니다. Device E의 출력은 연결이 Device A 및 Device B만을 통해서만 설정됨을 보여줍니다.
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
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 연결을 설정하는 인터페이스의 트래픽을 비교합니다.
실행
운영 모드에서 Device E 인터페이스에서 Device B로, Device E 인터페이스에서 Device C로 명령을 실행 monitor traffic 합니다. 다음 샘플 출력은 첫 번째 예에서 승인(ack) 메시지가 수신되는지 확인합니다. 두 번째 예에서는 ack 메시지가 수신되지 않습니다.
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>
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>
예를 들면 다음과 같습니다. Prefix List를 기반으로 TCP 액세스를 포트로 제한하기 위한 필터 구성
이 예에서는 허용된 BGP 피어를 포함하는 접두사 소스 목록을 지정하여 라우팅 엔진으로 향하는 특정 TCP 및 ICMP(Internet Control Message Protocol) 트래픽을 제한하는 표준 스테이트리스 방화벽 필터를 구성하는 방법을 보여줍니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외에는 특별한 구성이 필요하지 않습니다.
개요
이 예에서는 지정된 접두사에 있는 BGP 피어를 제외한 모든 요청자로부터 179를 포트하려는 모든 TCP 연결 시도를 차단하는 스테이트리스 방화벽 필터를 생성합니다.
토폴로지
허용된 BGP 피어를 포함하는 소스 접두사 목록을 지정하는 소스 접두사 목록이 plist_bgp179생성됩니다.
스테이트리스 방화벽 필터 filter_bgp179 는 소스 접두사 목록에서 plist_bgp179 대상 포트 번호 179에 이르는 모든 패킷과 일치합니다.
구성
CLI 빠른 구성
이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경한 다음, 명령을 복사하여 계층적 수준에서 CLI [edit] 에 붙여넣습니다.
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 사용자 가이드의 Configuration 모드에서 CLI Editor를 사용하는 것을 참조하십시오.
필터를 구성하려면 다음을 수행합니다.
접두사 목록을 bgp179 확장하여 에 의해 정의된 protocols bgp group <*> neighbor <*>BGP 피어 그룹이 가리키는 모든 접두사 포함
[edit policy-options prefix-list plist_bgp179] user@host# set apply-path " protocolsbgp group <*> neighbor <*>"
지정된 BGP 피어를 제외한 모든 요청자로부터 179를 포트하려는 TCP 연결 시도를 거부하는 필터 용어를 정의합니다.
[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
모든 패킷을 수용하도록 다른 필터 용어를 정의합니다.
[edit firewall family inet filter filter_bgp179] user@host# set term term2 then accept
방화벽 필터를 루프백 인터페이스에 적용합니다.
[edit interfaces lo0 unit 0 family inet] user@host# set filter input filter_bgp179 user@host# set address 127.0.0.1/32
결과
구성 모드에서 , show interfaces및 show policy-options 명령을 입력show firewall하여 구성을 확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.
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; } } } }
user@host# show interfaces lo0 { unit 0 { family inet { filter { input filter_bgp179; } address 127.0.0.1/32; } } }
user@host# show policy-options prefix-list plist_bgp179 { apply-path "protocols bgp group <*> neighbor <*>"; }
디바이스 구성을 완료한 경우 구성 모드에서 입력 commit 합니다.
확인
구성이 올바르게 작동하는지 확인합니다.
루프백 인터페이스에 적용된 방화벽 필터 표시
목적
방화벽 필터 filter_bgp179 가 논리적 인터페이스 lo0.0에서 IPv4 입력 트래픽에 적용되는지 확인합니다.
실행
논리적 인터페이스lo0.0에 show interfaces statistics operational mode
명령을 사용하고 옵션을 포함합니다detail. Protocol inet 명령 출력 섹션의 섹션에서 Input Filters 필드는 입력 방향의 논리적 인터페이스에 적용되는 스테이트리스 방화벽 필터의 이름을 표시합니다.
[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(Internet Control Message Protocol) 취약점 문제를 방지하는 방법을 보여줍니다. TCP 경로에서 MTU 검색을 사용하는 것은 BGP 패킷 단편화를 방지하는 한 가지 방법입니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외에는 특별한 구성이 필요하지 않습니다.
개요
TCP는 두 피어 간의 세션 연결 설정 중에 최대 MSS(Segment Size) 값을 협상합니다. 협상된 MSS 값은 주로 통신 피어가 직접 연결되는 인터페이스의 최대 전송 단위(MTU)를 기반으로 합니다. 그러나 TCP 패킷이 취한 경로의 링크 MTU의 변형으로 인해 네트워크의 MSS 값 내에 있는 일부 패킷은 패킷 크기가 링크의 MTU를 초과할 때 단편화될 수 있습니다.
TCP MSS 값을 구성하려면 1부터 4096까지 세그먼트 크기의 명령문을 포함합니다 tcp-mss
.
라우터가 SYN 비트와 MSS 옵션 세트를 가진 TCP 패킷을 수신하고 패킷에 지정된 MSS 옵션이 명령문에 의해 tcp-mss
지정된 MSS 값보다 큰 경우, 라우터는 패킷의 MSS 값을 명령문에 지정된 tcp-mss
보다 낮은 값으로 대체합니다.
구성된 MSS 값은 발신자의 최대 세그먼트 크기로 사용됩니다. 발신자가 BGP neighbor와 통신하는 데 사용하는 TCP MSS 값은 발신자가 BGP neighbor에서 수락할 수 있는 TCP MSS 값과 같다고 가정합니다. BGP neighbor의 MSS 값이 구성된 MSS 값보다 적으면 BGP neighbor의 MSS 값이 발신자의 최대 세그먼트 크기로 사용됩니다.
이 기능은 IPv4를 통한 TCP 및 IPv6를 통한 TCP를 통해 지원됩니다.
구성
CLI 빠른 구성
이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경한 다음, 명령을 복사하여 계층적 수준에서 CLI [edit]
에 붙여넣습니다.
R0
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 사용자 가이드의 Configuration 모드에서 CLI Editor를 사용하는 것을 참조하십시오.
라우터 R0을 구성하려면:
인터페이스를 구성합니다.
[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
이 예에서 IGP(Interior Gateway Protocol), OSPF를 구성합니다.
[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
하나 이상의 BGP 그룹을 구성합니다.
[edit protocols bgp group int] user@R0# set type internal user@R0# set local-address 10.255.14.179
패킷 단편화를 방지하도록 MTU 검색을 구성합니다.
[edit protocols bgp group int] user@R0# set mtu-discovery
그룹 또는 특히 다양한 이웃에 대해 TCP MSS가 전역적으로 설정된 BGP neighbor를 구성합니다.
[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 neighbor 설정은 그룹 설정을 무시합니다.
로컬 자율 시스템을 구성합니다.
[edit routing-options] user@R0# set autonomous-system 65000
결과
구성 모드에서 , show protocols
및 show routing-options
명령을 입력show interfaces
하여 구성을 확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 지침을 반복하여 구성을 수정합니다.
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; } } }
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; } }
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로 사용합니다.
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
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년으로 설정되어 있습니다.
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>
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 값은 IP 또는 IPv6 및 TCP 헤더를 제외한 MTU 값과 같습니다. 즉, MSS 값은 일반적으로 MTU(IPv4)보다 40바이트, MTU(IPv6)보다 60바이트 적습니다. 이 값은 피어 간에 협상됩니다. 이 예에서는 4034 - 40 = 3994입니다. 그런 다음 Junos OS는 이 값을 2KB의 다중 값으로 환산합니다. 값은 3994 / 2048 * 2048 = 2048입니다. 따라서 출력에서 동일한 show system connections
MSS 값을 볼 필요가 없습니다.
3994 / 2048 = 1.95
1.95는 1로 둥근 것입니다.
1 * 2048년 = 2048년