[๐CN] Internet Protocol(3) - IP Header & Forwarding
๐ Internet Protocol ์ ๊ณต ์์ ์ ๋ฆฌ
IP๋ ์ธํฐ๋ท์ ํ๋ฆฌ(waist of the hourglass)๋ผ ๋ถ๋ฆฐ๋ค. ๋ชจ๋ ์์ ๋ ์ด์ด ํ๋กํ ์ฝ๊ณผ ํ์ ๋ ์ด์ด ๊ธฐ์ ๋ค์ด IP๋ฅผ ์ค์ฌ์ผ๋ก ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์ด๋ค. IP์ ๊ตฌ์กฐ, ํค๋ ํ๋, ๊ทธ๋ฆฌ๊ณ ํฌ์๋ฉ ๋ฉ์ปค๋์ฆ์ ๊น์ด ์๊ฒ ์ดํด๋ณด์.
IP์ ์ญํ ๊ณผ ์์น
The Waist of the Hourglass
๐IP (Internet Protocol): Network Layer์์ ๋์ํ๋ ํ๋กํ ์ฝ๋ก, ๋ค์ํ ๋งํฌ ๊ณ์ธต ๊ธฐ์ ๋ค๊ณผ ์์ ์ ์ก ๊ณ์ธต ํ๋กํ ์ฝ๋ค์ ์ฐ๊ฒฐํ๋ ํต์ฌ ํ๋กํ ์ฝ
๋ชจ๋์๊ณ ๋ชจ๋ธ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Application Layer
โโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP SMTP RTP ... โ โ ๋ค์ํ ์์ ํ๋กํ ์ฝ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โโโโโโโโโโโโผโโโโโโโโโโโโ
โ TCP UDP โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โโโโโโโผโโโโโโ
โ IP โ โ ํ๋ฆฌ (Waist)!
โโโโโโโฌโโโโโโ
โโโโโโโโโโโโผโโโโโโโโโโโโ
โ Ethernet WiFi PPP โ โ ๋ค์ํ ํ์ ๊ธฐ์
โ FDDI ATM Bluetooth โ
โโโโโโโโโโโโโโโโโโโโโโโโ
Physical Layer
ํต์ฌ ํน์ง:
- โ One network layer protocol: ๋ชจ๋ ์ธํฐ๋ท ์ฐ๊ฒฐ ์ฅ์น์ ๊ตฌํ๋์ด์ผ ํจ
- โ ํธํ์ฑ ํด๊ฒฐ: ์๋ก ๋ค๋ฅธ ๋งํฌ ๊ณ์ธต ๊ธฐ์ ๋ค ๊ฐ์ ํธํ์ฑ ๋ฌธ์ ํด๊ฒฐ
- โ IP Forwarding: ํจํท์ ๋ชฉ์ ์ง๊น์ง ์ ๋ฌํ๋ ํต์ฌ ๊ธฐ๋ฅ
IP๊ฐ ๊ตฌํ๋๋ ์์น
1
2
3
4
5
6
7
8
9
10
Host A Router 1 Router 2 Host B
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ App โ โ โ โ โ โ App โ
โโโโโโโโโโโโค โโโโโโโโโโโโค โโโโโโโโโโโโค โโโโโโโโโโโโค
โ TCP โ โ โ โ โ โ TCP โ
โโโโโโโโโโโโค โโโโโโโโโโโโค โโโโโโโโโโโโค โโโโโโโโโโโโค
โ IP โโโโโบโ IP โโโโโบโ IP โโโโโบโ IP โ
โโโโโโโโโโโโค โโโโฌโโโโโฌโโโค โโโโฌโโโโโฌโโโค โโโโโโโโโโโโค
โ Data Linkโ โDLโ DL โDLโ โDLโ DL โDLโ โData Link โ
โโโโโโโโโโโโ โโโโดโโโโโดโโโ โโโโดโโโโโดโโโ โโโโโโโโโโโโ
์ค์ ํฌ์ธํธ:
- IP๋ ๋ผ์ฐํฐ์ ํธ์คํธ ๋ชจ๋์์ ๊ตฌํ๋๋ ์ต์์ ํ๋กํ ์ฝ
- Application๊ณผ TCP๋ End-to-End (ํธ์คํธ์์๋ง)
- IP๋ hop-by-hop (๋ชจ๋ ๋ผ์ฐํฐ์์ ์ฒ๋ฆฌ)
IP Service ํน์ฑ
IP์ 3๊ฐ์ง ํต์ฌ ํน์ฑ
1๏ธโฃ Connectionless (๋น์ฐ๊ฒฐ์ฑ)
- ๐ ๋ฌผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ์ด ์๋ค๋ ์๋ฏธ๊ฐ ์๋ โ ๊ด๋ฆฌ ์์
- ๊ฐ ํจํท์ด ๋ ๋ฆฝ์ ์ผ๋ก ์ฒ๋ฆฌ๋จ
- ์์ฐจ์ ์ ๋ฌ ๋ณด์ฅ ์์ (No sequential delivery)
2๏ธโฃ Unreliable (๋น์ ๋ขฐ์ฑ)
- ํจํท ์์ค ๊ฐ๋ฅ (Lost packets)
- ์ค๋ณต ํจํท ๋ฐ์ ๊ฐ๋ฅ
- ์์ ๋ค๋ฐ๋ ๊ฐ๋ฅ (Out-of-sequence delivery)
3๏ธโฃ Best Effort (์ต์ ๋ ธ๋ ฅ)
- Throughput ๋ณด์ฅ ์์
- Delay ๋ณด์ฅ ์์
- QoS ๋ณด์ฅ ์์
๊ฒฐ๊ณผ:
1
2
3
4
5
6
Consequences:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ ํจํท์ด ์์๋๋ก ๋์ฐฉํ์ง ์์ ์ ์์ โ
โ โ ํจํท์ด ์์ค๋๊ฑฐ๋ ์ค๋ณต๋ ์ ์์ โ
โ โ
์์ ๊ณ์ธต ํ๋กํ ์ฝ(TCP)์ด ์ด๋ฅผ ์ฒ๋ฆฌํด์ผ ํจ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Why Best Effort?: ๋จ์์ฑ๊ณผ ํ์ฅ์ฑ์ ์ํด ๋ณต์กํ ๋ณด์ฅ ๊ธฐ๋ฅ์ ์์ ๊ณ์ธต(TCP)์ ์์
IP๊ฐ ์ง์ํ๋ ํต์ ๋ฐฉ์
๐IP Multicast: ํ๋์ ํจํท์ ์ฌ๋ฌ ์์ ์์๊ฒ ์ ์กํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ (IGMP, multicast routing ํ๋กํ ์ฝ ํ์)
3๊ฐ์ง ํต์ ๋ฐฉ์:
1
2
3
1. Unicast (1:1) 2. Broadcast (1:all) 3. Multicast (1:some)
โ โ โ โ โ โโโ โ โ โโ
โโโ โ
| ๋ฐฉ์ | ์ค๋ช | ์์ |
|---|---|---|
| Unicast | 1:1 ํต์ | ์ผ๋ฐ ์น ๋ธ๋ผ์ฐ์ง |
| Broadcast | 1:๋ชจ๋ ํต์ | ARP request |
| Multicast | 1:๊ทธ๋ฃน ํต์ (์ ํ์ ) | IPTV, ํ์ํ์ |
IP Header ๊ตฌ์กฐ
IP Header ์ ์ฒด ๊ตฌ์กฐ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
bit # 0 7 8 15 16 23 24 31
โโโโโโโโฌโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โversionโheaderโ DS โ ECN โ total length (in bytes) โ
โ (4) โlengthโ (6) โ (2) โ (16 bits) โ
โโโโโโโโดโโโโโโโโดโโโโโโโโโดโโโโโโโฌโโโผโโโฌโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโค
โ Identification โ0 โDF โMF โ Fragment offset โ
โ (16 bits) โ โ (1)โ(1)โ (13 bits) โ
โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโดโโโดโโโโดโโโโดโโโโโโโโโโโโโโโโโโโโโโโโค
โtime-to-live โ protocol โ header checksum โ
โ (TTL) โ (8 bits) โ (16 bits) โ
โ (8 bits) โ โ โ
โโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ source IP address (32 bits) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ destination IP address (32 bits) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ options (0 to 40 bytes) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ payload โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
4 bytes
ํฌ๊ธฐ:
- ์ต์ ํค๋ ํฌ๊ธฐ: 20 bytes (์ต์ ์์ ๋)
- ์ต๋ ํค๋ ํฌ๊ธฐ: 60 bytes (์ต์ 40 bytes ํฌํจ)
- ์ต๋ Total Length: 2^16 bytes = 65,536 bytes
IP Header ํ๋ ์์ธ
Version (4 bits)
์ญํ : IP ํ๋กํ ์ฝ ๋ฒ์ ์๋ณ
- IPv4: ๊ฐ =
4(๋๋ถ๋ถ) - IPv6: ๊ฐ =
6
Header Length (4 bits)
๐Header Length (IHL): IP ํค๋์ ๊ธธ์ด๋ฅผ 4-byte ๋จ์๋ก ํํ
๊ณ์ฐ ๋ฐฉ๋ฒ:
1
2
3
4
5
ํค๋ ๊ธธ์ด = Header Length ร 4 bytes
์์:
Header Length = 5 โ 5 ร 4 = 20 bytes (์ต์
์์)
Header Length = 15 โ 15 ร 4 = 60 bytes (์ต๋)
DS/ECN Field (1 byte = 8 bits)
๊ณผ๊ฑฐ: Type of Service (TOS) ํ๋ ํ์ฌ: DS (6 bits) + ECN (2 bits)
Differentiated Service (DS) - 6 bits:
- ์๋น์ค ๋ ๋ฒจ ์ง์ (ํ์ฌ ์ธํฐ๋ท์์๋ ๋ฏธ์ง์)
- QoS ์ฐจ๋ณํ ์ฉ๋
Explicit Congestion Notification (ECN) - 2 bits:
- TCP์ ํผ์ก ์ ์ด๋ฅผ ์ํ ํผ๋๋ฐฑ ๋ฉ์ปค๋์ฆ
- ๋ผ์ฐํฐ๊ฐ ํผ์ก ์ํ๋ฅผ ํจํท์ ํ์
Total Length (16 bits)
์ญํ : ์ ์ฒด ํจํท ํฌ๊ธฐ (ํค๋ + ํ์ด๋ก๋)
1
2
3
4
5
Total Length = IP Header + IP Payload
์ต์: 20 bytes (ํค๋๋ง)
์ต๋: 65,535 bytes (2^16 - 1)
โ ๏ธ ์ฃผ์: ํ์ ๋งํฌ ๊ณ์ธต์ MTU๊ฐ ์ด๋ณด๋ค ์์ ์ ์์!
Fragmentation ๊ด๋ จ ํ๋
MTU (Maximum Transmission Unit)
๐MTU: ๋ฐ์ดํฐ ๋งํฌ ํ๋กํ ์ฝ์ด ์ ์กํ ์ ์๋ ์ต๋ IP ํจํท ํฌ๊ธฐ
์ฃผ์ MTU ๊ฐ:
| ๋งํฌ ํ์ | MTU (bytes) |
|---|---|
| Ethernet | 1,500 |
| 802.3 | 1,492 |
| 802.5 | 4,464 |
| FDDI | 4,352 |
| ATM AAL5 | 9,180 |
| PPP | negotiated |
๋ฌธ์ ์ํฉ:
1
2
3
4
5
6
7
Host A Router Host B
โ โ โ
โ 4,000 byte packet โ โ
โโโโโโโโโโโโโโโโโโโโโโโโบ โ
FDDI MTU=4352 โ Ethernet MTU=1500 โ
โ โ
Fragmentation ํ์!
Fragmentation (๋จํธํ)
Fragmentation์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ:
- IP datagram ํฌ๊ธฐ > ๋งํฌ์ MTU
- ๋ผ์ฐํฐ๊ฐ ํจํท์ ์ฌ๋ฌ ์กฐ๊ฐ(fragment)์ผ๋ก ๋ถํ
Fragmentation ์ฅ์:
- Sender (์ก์ ์)
- Intermediate routers (์ค๊ฐ ๋ผ์ฐํฐ)
- ๋์ผํ datagram์ด ์ฌ๋ฌ ๋ฒ fragmentation๋ ์ ์์
Reassembly (์ฌ์กฐ๋ฆฝ)
์ด๋์ ์ฌ์กฐ๋ฆฝํ๋๊ฐ?
โ Option 1: ์ค๊ฐ ๋ผ์ฐํฐ์์ ์ฌ์กฐ๋ฆฝ?
1
2
Host A โ R1 โ R2 โ Host B
Fragment Reassemble?
- ๋ฌธ์ : Fragment๋ค์ด ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ๊ฐ ์ ์์!
โ Option 2: ์ต์ข ๋ชฉ์ ์ง(End-host)์์ ์ฌ์กฐ๋ฆฝ
1
2
3
Host A โ R1 โฌโ R3 โ
Fragment โโ Host B (Reassemble!)
R2 โ
- ์ ๋ต: ๋ชจ๋ fragment๋ ์ต์ข ์์ ์(Destination host)์์ ์ฌ์กฐ๋ฆฝ
- Fragments๊ฐ ์๋ก ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ๊ฑฐ์น ์ ์๊ธฐ ๋๋ฌธ!
Fragmentation ๊ด๋ จ ํ๋
Identification (16 bits):
- ๋์ผํ datagram์ ๋ชจ๋ fragment๋ ๋์ผํ ID
- ์ก์ ์๊ฐ datagram ์ ์ก ์๋ง๋ค ์ฆ๊ฐ์ํด
Flags (3 bits):
| ๋นํธ | ์ด๋ฆ | ์๋ฏธ |
|---|---|---|
| 0 | - | ํญ์ 0 (์์ฝ) |
| DF | Donโt Fragment | 1์ด๋ฉด ๋จํธํ ๊ธ์ง, ํจํท drop ํ ICMP ์ ์ก |
| MF | More Fragments | 1์ด๋ฉด ๋ค์ fragment๊ฐ ๋ ์์ |
Fragment Offset (13 bits):
- ํ์ฌ fragment์ ํ์ด๋ก๋๊ฐ ์๋ณธ datagram์์ ์ฐจ์งํ๋ ์์น
- 8-byte ๋จ์๋ก ํํ (์ค์ offset = ๊ฐ ร 8)
Fragmentation ์์
Original Packet: 4,000 bytes
1
2
3
4
5
6
7
8
Version: 4 Header Length: 5 Type of Service: 0
Total Length: 4000
Identification: 56273 R/D/M: 0/0/0
Fragment Offset: 0
TTL: 127 Protocol: 6 (TCP) Checksum: 44019
Source: 1.2.3.4
Destination: 3.4.5.6
(3980 bytes payload)
MTU = 1,500 bytes์ผ ๋ Fragmentation:
1
2
3
4
5
6
7
8
9
10
11
์๋ณธ:
โโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 20 โ 3980 bytes โ
โโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
4000 bytes
๋ถํ ํ:
โโโโโโฌโโโโโโโโโโโโโโโโ โโโโโโฌโโโโโโโโโโโ โโโโโโฌโโโโโโโโโโโ
โ 20 โ 1480 bytes โ โ 20 โ 1200 โ โ 20 โ 1300 โ
โโโโโโดโโโโโโโโโโโโโโโโ โโโโโโดโโโโโโโโโโโ โโโโโโดโโโโโโโโโโโ
1500 bytes 1220 bytes 1320 bytes
Fragment 1:
1
2
3
4
Total Length: 1500
Identification: 56273
R/D/MF: 0/0/1 โ MF=1 (๋ ์์!)
Fragment Offset: 0 (0 ร 8 = 0)
Fragment 2:
1
2
3
4
Total Length: 1220
Identification: 56273
R/D/MF: 0/0/1 โ MF=1 (๋ ์์!)
Fragment Offset: 185 (185 ร 8 = 1480)
Fragment 3 (๋ง์ง๋ง):
1
2
3
4
Total Length: 1320
Identification: 56273
R/D/MF: 0/0/0 โ MF=0 (๋ง์ง๋ง!)
Fragment Offset: 335 (335 ร 8 = 2680)
TTL (Time-to-Live)
TTL์ ์ญํ
๐TTL (Time-to-Live): ํจํท์ด ๋ฌดํ ๋ฃจํ๋ฅผ ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํ ํ ์นด์ดํฐ
๋ฌธ์ ์ํฉ: Forwarding Loop
1
2
3
4
5
R1 โ R2
โ โ
R3
ํจํท์ด ๋ฌดํ์ ์ํ! โ ๋ชจ๋ ๋์ญํญ ์๋ชจ!
TTL ๋์ ๋ฐฉ์:
- Sender: TTL ๊ฐ ์ค์ (์: 64)
- ๊ฐ ๋ผ์ฐํฐ: TTL ๊ฐ์ 1์ฉ ๊ฐ์
- TTL = 0: Datagram drop + โTime Exceededโ ICMP ๋ฉ์์ง ์ก์
Ping ์ถ๋ ฅ ์์:
1
2
3
4
5
C:\Users\์ฌ์ฉ์>ping www.unipi.it
131.114.21.42์ ์๋ต: ๋ฐ์ดํธ=32 ์๊ฐ=308ms TTL=39
131.114.21.42์ ์๋ต: ๋ฐ์ดํธ=32 ์๊ฐ=307ms TTL=39
131.114.21.42์ ์๋ต: ๋ฐ์ดํธ=32 ์๊ฐ=306ms TTL=39
TTL ๊ฐ์ ์๋ฏธ:
- ์ด๊ธฐ๊ฐ 64๋ก ์์ํ๋ค๋ฉด โ 25 hops (64 - 39 = 25)
- traceroute์ ๊ธฐ๋ฐ์ด ๋๋ ๋ฉ์ปค๋์ฆ!
Protocol Field
Protocol (8 bits)
๐Protocol Field: ์์ ๊ณ์ธต ํ๋กํ ์ฝ์ ์๋ณํ์ฌ ์์ ํธ์คํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ญ๋ค์คํ(demultiplexing)ํ ์ ์๋๋ก ํจ
์ฃผ์ Protocol ๋ฒํธ:
| ๋ฒํธ | ํ๋กํ ์ฝ | ์ค๋ช |
|---|---|---|
| 1 | ICMP | Internet Control Message |
| 2 | IGMP | Internet Group Management |
| 4 | IP-in-IP | IP encapsulation |
| 6 | TCP | Transmission Control |
| 17 | UDP | User Datagram |
Demultiplexing ์์:
1
2
3
4
5
6
์์ ํจํท:
Protocol = 6 (TCP)
โ
IP ๊ณ์ธต์ด TCP ๋ชจ๋๋ก ์ ๋ฌ
โ
TCP ํค๋ ํ์ฑ ์์
Header Checksum
Checksum (16 bits)
๐Header Checksum: IP ํค๋์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํ ์ฒดํฌ์ฌ (payload๋ ๊ฒ์ฌ ์ ํจ!)
๊ณ์ฐ ๋ฐฉ๋ฒ: Oneโs Complement Sum
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Step 1: 16-bit words๋ก ๋ถํ
1011 0000 0101 1111 +
1110 1100 0101 1100 =
โโโโโโโโโโโโโโโโโโโโโโโ
1 1001 1100 1011 1011 โ Carry ๋ฐ์
Step 2: Carry๋ฅผ ๋ค์ ๋ํจ
1001 1100 1011 1011 +
0000 0000 0000 0001 =
โโโโโโโโโโโโโโโโโโโโโโโ
1001 1100 1011 1100
Step 3: One's Complement (๋นํธ ๋ฐ์ )
0110 0011 0100 0011 โ Checksum!
๋งค ๋ผ์ฐํฐ์์ ์ฌ๊ณ์ฐ:
- TTL์ด ๋ณ๊ฒฝ๋๋ฏ๋ก checksum๋ ๋งค๋ฒ ์ฌ๊ณ์ฐ ํ์
- Checksum ๋ถ์ผ์น โ ํจํท ํ๊ธฐ
Checksum Offloading:
- ์ฑ๋ฅ ํฅ์์ ์ํด NIC (Network Interface Card)์์ ๊ณ์ฐ
- OS ๋ถ๋ด ๊ฐ์
IP Options
Options (0~40 bytes)
๐IP Options: ์ ํ์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ํ์ฅ ๊ธฐ๋ฅ (TLV ํ์)
TLV (Type-Length-Value) ๊ตฌ์กฐ:
1
2
3
4
โโโโโโโโฌโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โ Type โ Length โ Value โ
โโโโโโโโดโโโโโโโโโดโโโโโโโโโโโโโโโโโ
1 byte 1 byte Variable
์ฃผ์ Option๋ค:
| Type | ์ด๋ฆ | ์ค๋ช | ์ฌ์ฉ ๋น๋ |
|---|---|---|---|
| 0 | End of List | ์ต์ ๋ชฉ๋ก ๋ | If required |
| 1 | No Operation | Padding ์ฉ๋ | If required |
| 7 | Record Route | ๊ฐ ๋ผ์ฐํฐ๊ฐ ์์ ์ IP๋ฅผ ํค๋์ ์ถ๊ฐ | Rare |
| 68 | Timestamp | ๊ฐ ๋ผ์ฐํฐ๊ฐ IP + ์๊ฐ ์ถ๊ฐ | Rare |
| 131 | Loose Source Routing | ๋ฐ๋์ ๊ฑฐ์ณ์ผ ํ ๋ผ์ฐํฐ ๋ชฉ๋ก (์ค๊ฐ์ ๋ค๋ฅธ ๋ผ์ฐํฐ ๊ฐ๋ฅ) | Rare, filtered |
| 137 | Strict Source Routing | ์ค์ง ๋ช ์๋ ๋ผ์ฐํฐ๋ค๋ง ๊ฑฐ์ณ์ผ ํจ | Rare, filtered |
| 148 | Router Alert | ๋ผ์ฐํฐ๊ฐ ํจํท ๋ด์ฉ์ ๊ฒ์ฌํด์ผ ํจ | Occasional |
Router Alert Option
ํน์ง:
- ๋ณดํต ๋ผ์ฐํฐ๋ ํจํท์ ํฌ์๋ฉ๋ง ํจ
- Router Alert: ๋ผ์ฐํฐ๊ฐ ํจํท ๋ด์ฉ์ ๊ฒ์ฌํ๊ณ ํน๋ณํ ์ฒ๋ฆฌ ์ํ
์ฌ์ฉ ์์: IGMP (Internet Group Management Protocol)
1
2
3
4
5
6
7
8
9
10
11
12
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Options: (4 bytes), Router Alert โ
โ Router Alert (4 bytes): Router shall examine โ
โ Type: 148 โ
โ Length: 4 โ
โ Router Alert (20) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Internet Group Management Protocol โ
โ [IGMP Version: 2] โ
โ Type: Membership Query (0x11) โ
โ Max Response Time: 10.0 sec (0x64) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๋ผ์ฐํฐ์๊ฒ ์ํ ์ ๋ณด(state)๊ฐ ๊ธฐ๋ก๋์ด์ผ ํ ๋ RA ์ต์ ์ฌ์ฉ โ ์ ์์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ (๊ณต๊ฒฉ ๋ฒกํฐ)
Source Routing
Loose Source Routing (Type 131):
1
2
3
4
5
6
Wireshark ์์:
Source Route: 151.101.229.67 <- (next)
Destination: 151.101.229.67
Time to live: 1
Current Route: 163.152.1.1
- ํจํท์ด ํน์ ๋ผ์ฐํฐ๋ค์ ๋ฐ๋์ ๊ฑฐ์ณ์ผ ํจ
- ์ค๊ฐ์ ๋ค๋ฅธ ๋ผ์ฐํฐ๋ ๊ฑฐ์น ์ ์์
๋ณด์ ์ด์:
- ๋๋ถ๋ถ์ ๋ผ์ฐํฐ๋ source routing ์ต์ ์ dropํจ
- ํดํน์ ์ ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ
Padding
์ญํ : IP ํค๋๊ฐ 4-byte ๊ฒฝ๊ณ์์ ๋๋๋๋ก ๋ณด์ฅ
1
2
3
Options: 11 bytes
Padding: 1 byte ์ถ๊ฐ
Total Header: 20 + 12 = 32 bytes (4์ ๋ฐฐ์ โ
)
IP ๊ณต๊ฒฉ ์ ํ
Attacks Involving IP
1. IP ํค๋ ํ๋ ์กฐ์:
- Bad header length
- Wrong version number
- ๋ชฉํ: ๋ผ์ฐํฐ ํฌ๋์ ๋๋ ์ฑ๋ฅ ์ ํ
2. Option ์ ์ฉ:
- Specialized code (fragment reassembly) ๋ฒ๊ทธ ์ต์คํ๋ก์
- Router Alert ๋จ์ฉ
3. IP Spoofing:
๐IP Spoofing: ์ก์ ์๊ฐ Source IP ์ฃผ์๋ฅผ ์์กฐํ์ฌ ๊ณต๊ฒฉ
๋ฐฉ์ด: Ingress Filtering
1
2
3
4
5
6
ISP ๊ฒฝ๊ณ ๋ผ์ฐํฐ์์:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ If (source IP prefix != โ
โ expected prefix) โ
โ โ DROP packet! โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- ๋ผ์ฐํฐ๊ฐ ๋ค์ด์ค๋ ํจํท์ Source IP prefix ๊ฒ์ฆ
- ์์๋๋ prefix๊ฐ ์๋๋ฉด ํ๊ธฐ
Forwarding (ํฌ์๋ฉ)
Forwarding์ ๊ฐ๋
๐Forwarding: ๋ผ์ฐํฐ๊ฐ ์์ ํ ํจํท์ ์ ์ ํ ์ถ๋ ฅ ์ธํฐํ์ด์ค๋ก ์ ๋ฌํ๋ ๊ณผ์
๋ผ์ฐํฐ์ ์ฃผ์ ๊ธฐ๋ฅ:
- Routing: ๊ฒฝ๋ก ๊ฒฐ์ (Routing Table ์์ฑ)
- Forwarding: ์ค์ ํจํท ์ ๋ฌ (Forwarding Table ์ฌ์ฉ)
Routing Table ๊ตฌ์กฐ
IPv4 Routing Table:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ํ์ฑ ๊ฒฝ๋ก:
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโฌโโโโโโโโโ
โ๋คํธ์ํฌ ๋์ โ๋คํธ์ํฌ๋ง์คํฌโ ๊ฒ์ดํธ์จ์ด โ ์ธํฐํ์ด์ค โ๋ฉํธ๋ฆญ โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโผโโโโโโโโโค
โ 0.0.0.0 โ 0.0.0.0 โ 192.168.0.1 โ 192.168.0.33 โ 50 โ
โ 127.0.0.0 โ 255.0.0.0 โ ์ฐ๊ฒฐ๋จ โ 127.0.0.1 โ 331 โ
โ 127.0.0.1 โ255.255.255.255โ ์ฐ๊ฒฐ๋จ โ 127.0.0.1 โ 331 โ
โ127.255.255.255โ255.255.255.255โ์ฐ๊ฒฐ๋จ โ 127.0.0.1 โ 331 โ
โ 192.168.0.0 โ255.255.255.0 โ ์ฐ๊ฒฐ๋จ โ192.168.0.33 โ 306 โ
โ192.168.0.33 โ255.255.255.255โ ์ฐ๊ฒฐ๋จ โ192.168.0.33 โ 306 โ
โ192.168.0.255 โ255.255.255.255โ ์ฐ๊ฒฐ๋จ โ192.168.0.33 โ 306 โ
โ 224.0.0.0 โ 240.0.0.0 โ ์ฐ๊ฒฐ๋จ โ 127.0.0.1 โ 331 โ
โ 224.0.0.0 โ 240.0.0.0 โ ์ฐ๊ฒฐ๋จ โ192.168.0.33 โ 306 โ
โ255.255.255.255โ255.255.255.255โ์ฐ๊ฒฐ๋จ โ 127.0.0.1 โ 331 โ
โ255.255.255.255โ255.255.255.255โ์ฐ๊ฒฐ๋จ โ192.168.0.33 โ 306 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโ
๊ตฌ์ฑ ์์:
- Destination network prefix (๋คํธ์ํฌ ๋์)
- Network mask (๋คํธ์ํฌ ๋ง์คํฌ)
- Gateway (๊ฒ์ดํธ์จ์ด): ๋ค์ ํ ๋ผ์ฐํฐ์ IP ์ฃผ์ (๋๋ โ์ฐ๊ฒฐ๋จโ)
- Interface (์ธํฐํ์ด์ค): ํจํท์ ๋ด๋ณด๋ด๋ IF
- Metric (๋ฉํธ๋ฆญ): ์ํธ๋ฆฌ ์ฐ์ ์์ (๋ฎ์์๋ก ์ฐ์ )
Default Router vs Core Router
Default Router (Edge Router):
1
2
3
4
5
6
7
8
9
10
11
12
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Default Entry ์์ โ
โ 0.0.0.0/0 โ Gateway โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
๋งค์นญ ์๋๋ฉด?
โ
โโโโโผโโโโ
โInternetโ
โ๋ด๋ถ๋ก โ
โforward โ
โโโโโโโโโ
- Default entry (0.0.0.0/0) ์กด์ฌ
- ์์ง ๋ชปํ๋ ๋คํธ์ํฌ๋ฅผ ์ธํฐ๋ท์ผ๋ก ์ ๋ฌ
Core Router (Backbone Router):
1
2
3
4
5
6
7
8
9
10
11
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ No Default Entry! โ
โ ์์ ํ Routing Table โ
โ (~800,000 entries) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
๋งค์นญ ์๋๋ฉด?
โ
โโโโโผโโโโ
โ DROP! โ
โโโโโโโโโ
- Default entry ์์
- ์ ์ธ๊ณ ๋ชจ๋ ๋คํธ์ํฌ ์ ๋ณด ๋ณด์ (~80๋ง ๊ฐ ์ํธ๋ฆฌ)
- ๋งค์นญ ์ ๋๋ฉด โ ์กด์ฌํ์ง ์๋ ์ฃผ์!
ARP Cache
ARP Cache์ ์ญํ :
- IP ์ฃผ์ โ MAC ์ฃผ์ ๋งคํ ์ ๋ณด ์ ์ฅ
- Forwarding ์ Next-hop์ MAC ์ฃผ์ ์กฐํ
1
2
3
4
5
6
7
8
9
10
11
C:\Users\์ฌ์ฉ์>arp -a
์ธํฐํ์ด์ค: 172.30.1.59 --- 0x14
์ธํฐ๋ท ์ฃผ์ ๋ฌผ๋ฆฌ์ ์ฃผ์ ์ ํ
172.30.1.37 44-cb-8b-e4-01-64 ๋์
172.30.1.43 48-e2-44-27-c7-21 ๋์
172.30.1.128 90-f8-91-89-ba-6a ๋์
172.30.1.254 00-07-89-82-0d-aa ๋์
172.30.1.255 ff-ff-ff-ff-ff-ff ์ ์
224.0.0.2 01-00-5e-00-00-02 ์ ์
...
Routing Table Update
๋ผ์ฐํ ํ ์ด๋ธ ๊ฐฑ์ ๋ฐฉ๋ฒ:
- Routing Protocol (์๋):
- RIP, OSPF, BGP ๋ฑ
- ๋์ ์ผ๋ก ๊ฒฝ๋ก ํ์ต
- OS (์๋):
- ์ธํฐํ์ด์ค up/down ๊ฐ์ง
- ์ง์ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ ์ถ๊ฐ/์ญ์
- Admin (์๋):
- Static route ์ถ๊ฐ
- ๊ด๋ฆฌ์๊ฐ ์ง์ ์ค์
Forwarding ์์
๋คํธ์ํฌ ๊ตฌ์ฑ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
166.140.21.23/24 (Ethernet)
โ
166.140.21.49/28โโผโ166.140.21.3/28
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโ
โ Router โ
โ โ
โโโฌโโโโโโโโโโโโโโโโโโโโโโโฌโโโโ
โ PPP โ Ethernet
166.140.21.50/28 โ
โ โ
166.140.21.67/28 166.140.21.0/28
โ โ
โโโโโผโโโ โโโโโโดโโโโโ
โRouterโ โ Hosts โ
โโโโโโโโ โโโโโโโโโโโ
166.140.21.77/28
Routing Table:
| Destination | Next hop | Netmask | Interface |
|---|---|---|---|
| 166.140.21.0 | ย | ย | eth0 |
| 127.0.0.0 | 127.0.0.1 | 255.0.0.0 | lo0 |
| 166.140.21.50 | ย | ย | ppp0 |
| ย | ย | ย | ppp1 |
| 0.0.0.0 | 166.140.21.1 | ย | eth1 |
ํฌ์๋ฉ ๊ฒฐ์ :
1
2
3
4
5
6
7
8
9
10
11
ํจํท ๋์ฐฉ: Destination = 166.140.21.5
Step 1: Routing Table ์กฐํ
- 166.140.21.0 ๋งค์น! (eth0)
Step 2: ARP Cache ์กฐํ
- 166.140.21.5์ MAC ์ฃผ์?
Step 3: ํจํท ์ ์ก
- Ethernet frame์ผ๋ก ์บก์ํ
- eth0 ์ธํฐํ์ด์ค๋ก ์ก์ถ
์ ๋ฆฌ
IP์ ํต์ฌ ํน์ง ์์ฝ
| ํน์ง | ์ค๋ช |
|---|---|
| Connectionless | ํจํท๋ง๋ค ๋ ๋ฆฝ์ ์ฒ๋ฆฌ |
| Unreliable | ์์ค, ์ค๋ณต, ์์ ๋ค๋ฐ๋ ๊ฐ๋ฅ |
| Best Effort | QoS ๋ณด์ฅ ์์ |
| Hourglass | ๋ชจ๋ ๋คํธ์ํฌ ๊ธฐ์ ์ ๊ณตํต ์ธํฐํ์ด์ค |
IP Header์ ์ค์ ํ๋
| ํ๋ | ์ญํ | ํฌ๊ธฐ |
|---|---|---|
| Version | IPv4 vs IPv6 | 4 bits |
| Total Length | ํจํท ์ ์ฒด ํฌ๊ธฐ | 16 bits |
| Identification | Fragment ์๋ณ | 16 bits |
| Flags & Offset | Fragmentation ์ ์ด | 16 bits |
| TTL | ๋ฌดํ ๋ฃจํ ๋ฐฉ์ง | 8 bits |
| Protocol | ์์ ํ๋กํ ์ฝ ์๋ณ (TCP/UDP) | 8 bits |
| Checksum | ํค๋ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ | 16 bits |
| Source/Dest IP | ์ก์์ ์ ์ฃผ์ | 32 bits |
Forwarding์ ํต์ฌ: Routing Table์ Longest Prefix Matching์ผ๋ก Next-hop ๊ฒฐ์ !