소개
이 문서에서는 StarOS MTU 인터페이스, APN 및 로컬 가입자를 구성하는 방법에 대해 설명합니다.
StarOS에는 인터페이스, APNs 및 로컬 가입자 프로필에 대한 MTU(Maximum Transmission Unit) 크기를 구성하는 여러 CLI가 있습니다.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
배경 정보
MTU(Maximum Transmission Unit)는 프래그먼트할 필요 없이 인터페이스에서 전송할 수 있는 패킷의 최대 크기를 정의합니다.
MTU보다 큰 IP 패킷은 IP 조각화 절차를 거쳐야 합니다.
MTU 값은 이더넷 헤더, VLAN 태깅 또는 기타 오버헤드가 없는 프레임 크기입니다.
구성
configure
context context_name
interface interface_name
ip mtu bytes
end
참조:명령줄 인터페이스 참조, 이더넷 인터페이스 컨피그레이션 모드 명령, StarOS 21.23
이 구성은 ASR5500/VPC의 NPU/iftask/VPP에 의해 시행됩니다.
이 컨피그레이션은 APN MTU 컨피그레이션과 비교하여 하위 레이어에서 작동합니다. 즉 ip/ipv6 패킷에서 작동하며 터널을 인식하지 못합니다.
보다 구체적으로 말하자면, 이 기능은 발신 IP 패킷(data + ctrl)에서만 작동하며 구성된 값에 따라 패킷을 더 작은 크기로 조각화합니다.
IP MTU는 일반 인터페이스 및 OLC 포트(point-to-point interface)에서 지원됩니다.
OLC 포트에서 허용되는 최대 MTU 크기는 1600입니다.
이더넷 포트에서 허용되는 최대 MTU 크기는 2048입니다.기본 MTU 크기는 1500입니다.
이더넷 MTU의 최대 크기는 다음과 같습니다.
configure
context context_name
apn apn_name
pco-options link-mtu bytes
ppp mtu bytes
data-tunnel mtu bytes
policy ipv6 tunnel mtu exceed { fragment inner | notify-sender | fragment }
access-link ip-fragmentation { df-ignore | normal | df-fragment-and-icmp-notify }
end
- ppp mtu 바이트
참조:명령줄 인터페이스 참조, APN 구성 모드 명령, StarOS 21.23
이 컨피그레이션은 StarOS 게이트웨이의 IPv4에 대한 다운링크 데이터 터널 MTU 페이로드를 제어합니다.이 크기를 초과하는 패킷은 프래그먼트된 다음 터널로 캡슐화됩니다. 값은 100~2000의 정수입니다.기본값:1500
중요: MTU는 2개의 PPP 8진수를 제외한 PPP 페이로드를 나타냅니다.따라서 1500의 MTU는 PPP 페이로드가 있는 GTP 패킷의 3GPP 표준 MTU 1502에 해당합니다.
-
데이터 터널 mtu 바이트
참조:명령줄 인터페이스 참조, APN 구성 모드 명령, StarOS 21.23
RFC-4861에 따라 P-GW는 IPv6 및 IPv4v6 PDN 유형의 RA에서 IPv6 MTU 옵션 전송을 UE로 지원합니다.
이제 (인터넷)에서 다운링크 데이터 패킷을 전송할 수 있으며 구성된 MTU를 기반으로 필요한 경우 소스에서 데이터 단편화가 수행됩니다.
또한 이 기능을 사용하면 고객 네트워크에서 ICMPv6 Packet Too Big Error(ICMPv6 패킷이 너무 큰 오류) 메시지 수가 줄어듭니다.
이 컨피그레이션은 IPv6에 대한 다운링크 데이터 터널 MTU 페이로드를 제어합니다.
이 크기를 초과하는 패킷은 "정책" 컨피그레이션에 따라 삭제/조각화됩니다.값은 1280에서 2000 사이의 정수입니다.기본값:1500
주의:이 기능이 TCP MSS 컨피그레이션과 상호 작용하는 방법입니다.
RFC 6691 인용:
""
2. 단문
TCP MSS 옵션에 넣을 값을 계산할 때 MTU는
값은 고정 IP 및 TCP의 크기만 감소해야 합니다.
헤더 및 는 가능한 IP 또는
TCP 옵션;반대로, 발신자는 TCP 데이터 길이를 줄여야 합니다.
에 포함된 IP 또는 TCP 옵션을 고려합니다.
전송한 패킷입니다.이 문서의 나머지 부분에서는
IP 레벨 프래그먼트화를 방지하는 것이 목표입니다.
TCP 패킷.
""
즉, 지정된 TCP MSS에 대한 TCP 옵션 바이트에 의해 실제 페이로드가 감소합니다.
예를 들어 1390의 MSS와 12바이트의 TCP 옵션을 사용하면 페이로드는 1378바이트입니다.
페이로드 1378 +
TCP 32 + = 1410 ( 1378B [페이로드] + 12B [TCP 옵션] = 1390B MSS)
IPv6 40 + = 1450
GTPU 8 + = 1462
UDP 8 + = 1470
IP 20 + = 1490 <— 'data-tunel mtu'는 여기에서 비교됨
VLAN 4 + = 1494
ETH 14 = 1504
+---------------------------+ DT-MTU +-------------------------------+
| |
| +--------+ MSS +--------+
v v v
+----------+-----------------+--------+--------+--------+--------------------------------+
| Ethernet | VLAN | IPv4 | UDP | GTP | IPv6 | TCP | Payload + TCP Options |
| header | header | 20B | 8B | 8B | 40B | 20B | 1390B |
+----------+--------+--------+--------+--------+--------+--------+-----------------------+
구성된 데이터 터널 MTU가 위의 경우 1490보다 작으면 mtu 초과 정책이 패킷에 적용됩니다.
-
정책 ipv6 터널 mtu가 { fragment inner를 초과합니다. | 알림-보낸 사람 | 조각 }
참조:명령줄 인터페이스 참조, APN 구성 모드 명령, StarOS 21.23
SGi 인터페이스에 표시되는 다음 패킷을 고려하는 경우
| Frame 81: 1514 bytes on wire (12112 bits), 1514 bytes captured (12112 bits)
1514 | 14 | Ethernet II, Src: fa:16:3e:5e:0a:23 (fa:16:3e:5e:0a:23), Dst: fa:16:3e:5d:f8:03 (fa:16:3e:5d:f8:03)
1500 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 70
1496 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1456 | 1456 | Internet Control Message Protocol v6
여기서 첫 번째 열은 누적 바이트 및 두 번째 열 - 헤더 길이를 나타냅니다.
- 프래그먼트 내부
시스템은 GTP 터널 개시자에서 내부 IPv6 프래그먼트화를 수행합니다. 즉, 가입자 패킷이 캡슐화 후 MTU를 초과하는 경우 이 작업을 수행합니다.
S1-U의 패킷은 다음과 같이 프래그먼트화됩니다.
# Frag #1
| Frame 51: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 1, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
1408 | 1408 | Internet Control Message Protocol v6
# Frag #2
| Frame 52: 150 bytes on wire (1200 bits), 150 bytes captured (1200 bits)
150 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
136 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
132 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
112 | 8 | User Datagram Protocol, Src Port: 1408, Dst Port: 2152
104 | 8 | GPRS Tunneling Protocol
96 | 48 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6101
48 | 48 | Data (48 bytes)
- 알림 발신자
시스템은 PMTU 검색이며 캡슐화 후 가입자 패킷이 MTU를 초과하는 경우 원래 발신자에게 "ICMPv6 Packet Too Big"을 보냅니다.
- 조각
캡슐화 후 가입자 패킷이 MTU를 초과하면 시스템은 외부 IPv6 프래그먼트화를 수행합니다.
S1-U의 패킷은 다음과 같이 프래그먼트화됩니다.
# Frag #1
| Frame 108: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)
1510 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
1496 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
1492 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
1472 | 8 | User Datagram Protocol, Src Port: 2152, Dst Port: 2152
1464 | 8 | GPRS Tunneling Protocol
1456 | 40 | Internet Protocol Version 6, Src: 2001:192:168:80:f816:3eff:fe60:93a, Dst: 2001:20::4c99:6201
1416 | 1416 | Internet Control Message Protocol v6
# Frag #2
| Frame 109: 78 bytes on wire (624 bits), 78 bytes captured (624 bits)
78 | 14 | Ethernet II, Src: fa:16:3e:b5:f6:b2 (fa:16:3e:b5:f6:b2), Dst: fa:16:3e:96:00:d9 (fa:16:3e:96:00:d9)
64 | 4 | 802.1Q Virtual LAN, PRI: 0, DEI: 0, ID: 40
60 | 20 | Internet Protocol Version 4, Src: 10.1.40.1, Dst: 192.168.1.100
40 | 40 | Data (40 bytes)
-
access-link ip-fragmentation { df-ignore | 보통 | df-fragment-and-icmp-notify }
참조:명령줄 인터페이스 참조, APN 구성 모드 명령, StarOS 21.23
- df 무시
기본 컨피그레이션인 StarOS는 df 비트에 관계없이 항상 패킷을 단편화합니다.
- 보통
패킷을 삭제하고 ICMP 도달 불가 메시지를 패킷의 소스로 전송합니다.
- df-fragment-and-icmp-notify
DF 비트를 부분적으로 무시합니다.패킷을 프래그먼트하고 포워드하지만 패킷의 소스에 ICMP 오류 메시지를 반환합니다.
-
pco-options link-mtu <>
참조:명령줄 인터페이스 참조, APN 구성 모드 명령, StarOS 21.23
UE에서 요청하는 경우 PCO IE에 링크 MTU를 포함하도록 APN을 구성합니다.
초기 연결/독립형 PDN 연결 중에 UE가 IPv4 Link MTU Size PCO 요청을 전송하면 S-GW/SGSN/HSGGW는 Create Session Request, Create/Update PDP Context Request 또는 PBU에서 P-GW, GGSN 또는 PMIP-PCO로 투명하게 동일한 메시지를 전송합니다.
APN에서 세션 응답 생성, PDP 컨텍스트 응답 생성/업데이트 PBA가 구성된 최신 MTU 크기 PCO 값과 함께 전송됩니다.
UE가 아웃바운드 로밍인 경우 기본값(1500)이 MTU 크기 PCO에 제공됩니다.
configure
context context_name
subscriber default
ipv6 minimum-link-mtu bytes
ppp mtu bytes
mobile-ipv6 tunnel mtu bytes
pco-options link-mtu bytes
end
참조:명령줄 인터페이스 참조, 가입자 구성 모드 명령, StarOS 21.23
다음을 확인합니다.
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
아래 StarOS 명령을 사용하여 컨피그레이션을 확인합니다.
show configuration
show configuration verbose
show configuration apn apn_name
문제 해결
이 섹션에서는 컨피그레이션 문제를 해결하는 데 사용할 수 있는 정보를 제공합니다.
- PCO 옵션을 보려면 최소 세부 정보 표시 3으로 가입자를 모니터링합니다.
- 외부 pcap - 패킷 단편화를 확인합니다.