๐ ์์: ํจํท ์์ค์ด๋ ๋๋ฆฐ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์์ต๋๊น?
์ง๋จ ํ๋ก์ธ์ค๋ฅผ ์์ํ๋ ค๋ฉด ํด๋ฆญํ์ธ์. ์ฒด๊ณ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๋จ๊ณ๋ฅผ ์๋ดํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
โ
โ ์์ ํจํท(64 bytes)์ผ๋ก Ping์ด ๋๋์?
ํ
์คํธ: ping -s 64 destination (Linux) ๋๋ ping -l 64 destination (Windows)
โ
๐ด ๊ณ์ธต 1/2 ๋ฌธ์ - MTU ๊ด๋ จ ์๋
์์ ํจํท์ด ์คํจํ๋ฉด ์ด๋ MTU/๋จํธํ ๋ฌธ์ ๊ฐ ์๋ ์ฐ๊ฒฐ ๋ฌธ์ ์
๋๋ค.
๋ฌธ์ ํด๊ฒฐ ๋จ๊ณ:
- ๋ฌผ๋ฆฌ์ ์ฐ๊ฒฐ ๋ฐ ์ผ์ด๋ธ ๋ฌด๊ฒฐ์ฑ ํ์ธ
- ์ธํฐํ์ด์ค ์ํ ํ์ธ:
show interface
- ์ธํฐํ์ด์ค์ ์ค๋ฅ/ํ๊ธฐ(discards) ํ์ธ
- ๋ผ์ฐํ
๋ฐ ARP ํ
์ด๋ธ ํ์ธ
- ๋ฐฉํ๋ฒฝ ๊ท์น ๋ฐ ACL ํ์ธ
โ ํฐ ํจํท(1472 bytes)์ผ๋ก Ping์ด ๋๋์?
ํ
์คํธ: ping -s 1472 destination (Linux) ๋๋ ping -l 1472 destination (Windows)
์ฐธ๊ณ : 1472 ๋ฐ์ดํฐ + 20 IP + 8 ICMP = 1500 ๋ฐ์ดํธ ํจํท
โ
โ
MTU ๋ฌธ์ ์์ ๊ฐ์ง
ํฐ ํจํท์ด ์ ์๋ํฉ๋๋ค. MTU ๊ตฌ์ฑ์ด ์ฌ๋ฐ๋ฆ
๋๋ค. ๋ค๋ฅธ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ํ์ธํ์ธ์.
๊ถ์ฅ ์กฐ์น:
- ์ต์ ์ ์ฑ๋ฅ์ ์ํด TCP MSS ํด๋จํ์ ์ฌ์ฉํ์ธ์
- ํ์ํ ๊ฒฝ์ฐ ์ธํฐํ์ด์ค MTU ๊ฐ์๋ฅผ ๊ณ ๋ คํ์ธ์
- ํจํท ์์ค ๋ฐ ์ฌ์ ์ก์ ๋ชจ๋ํฐ๋งํ์ธ์
- ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด MTU ์ค์ ์ ๋ฌธ์ํํ์ธ์
โ DF (Don't Fragment) ๋นํธ๊ฐ ์ค์ ๋ ์ํ๋ก Ping์ด ๋๋์?
ํ
์คํธ: ping -M do -s 1472 destination (Linux) ๋๋ ping -f -l 1472 destination (Windows)
โ
๐ด PMTUD ๋ธ๋ํ ๊ฐ์ง!
๊ฒฝ๋ก์์ ์ด๋๊ฐ์์ ICMP "๋จํธํ ํ์" (Type 3, Code 4) ๋ฉ์์ง๊ฐ ํํฐ๋ง๋๊ณ ์์ต๋๋ค.
ํด๊ฒฐ์ฑ
:
1. TCP MSS ํด๋จํ (๊ถ์ฅ):
! Cisco IOS/IOS-XE
interface GigabitEthernet0/0
ip tcp adjust-mss 1460
! Juniper JunOS
set interfaces ge-0/0/0 unit 0 family inet tcp-mss 1460
# Linux iptables
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --set-mss 1460
2. ICMP Type 3 Code 4 ํ์ฉ:
! Cisco ACL
permit icmp any any packet-too-big
# iptables
iptables -A INPUT -p icmp --icmp-type fragmentation-needed -j ACCEPT
3. ์ธํฐํ์ด์ค MTU ๊ฐ์:
! Cisco
interface GigabitEthernet0/0
ip mtu 1400
โ
PMTUD ์ ์ ์๋
๊ฒฝ๋ก MTU ๊ฒ์์ด ์ ๋๋ก ์๋ํฉ๋๋ค. ICMP ๋ฉ์์ง๊ฐ ํํฐ๋ง๋์ง ์์ต๋๋ค.
๊ถ์ฅ ์กฐ์น:
- ์ต์ ์ฑ๋ฅ์ ์ํด TCP MSS ํด๋จํ์ ์ฌ์ฉํ์ธ์
- ํ์ํ ๊ฒฝ์ฐ ์ธํฐํ์ด์ค MTU ๊ฐ์๋ฅผ ๊ณ ๋ คํ์ธ์
- ํจํท ์์ค ๋ฐ ์ฌ์ ์ก์ ๋ชจ๋ํฐ๋งํ์ธ์
- ํฅํ ์ฐธ์กฐ๋ฅผ ์ํด MTU ์ค์ ์ ๋ฌธ์ํํ์ธ์