November 10, 2020
์ฐธ๊ณ ๋์: ์ปดํจํฐ ๋คํธ์ํน : ํํฅ์ ์ ๊ทผ. 7ํ. James F. Kurose , Keith W.Ross ์ง์
๋คํธ์ํฌ ๊ณ์ธต์ ํธ์คํธ์ ํธ์คํธ๊ฐ์ ํจํท์ ์ ๋ฌํ๋ ๋ ผ๋ฆฌ์ ์ญํ ์ ํ๋ ๊ณ์ธต์ด๋ค. ๋คํธ์ํฌ ๊ณ์ธต์ ๊ธฐ๋ฅ์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
Data plane ์์ญ์์๋ ํจํท์ ์ด๋ป๊ฒ ์ ๋ฌํ ์ง๋ฅผ ๊ฒฐ์ ํ๊ฒ ๋๋ค. ์ด ์์ญ์ ๋ค๋ฅธ ๋ผ์ฐํฐ๋ค๊ณผ๋ ์ ํ ๊ด๊ณ์์ด ํ์ฌ ํจํท์ ๊ฐ์ง๊ณ ์๋ ๋ผ์ฐํฐ๋ง ๊ณ ๋ คํ๋ฉด ๋๋ค.Control plane ์์ญ์์๋ ํจํท์ ์ด๋ค ๊ฒฝ๋ก๋ก ์ ๋ฌํ์ง ๊ทธ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ค. ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ผํ๊ธฐ ๋๋ฌธ์ ์ด ์์ญ์ ๋ค๋ฅธ ๋ผ์ฐํฐ๋ค์ ๋ํ ์ ๋ณด๋ฅผ ํ์๋ก ํ๊ณ ํน์ ํ ๋ผ์ฐํ
์๊ณ ๋ฆฌ์ฆ์ ํตํด์ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ค. ์ด ๋ผ์ฐํ
์๊ณ ๋ฆฌ์ฆ์ ํตํด์ ๋ผ์ฐํฐ๋ forwarding table ์ ๊ฐ์ง๊ฒ ๋๋๋ฐ, ์ด ํ
์ด๋ธ์ ์ ๋ฌ๋ฐ์ ํจํท ํค๋์ ํ๋๊ฐ์ ์กฐ์ฌํด์ ์ป์ ๊ฐ์ ํฌ์๋ฉ ํ
์ด๋ธ์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํด ํด๋น ํจํท์ด ์ ๋ฌ๋์ด์ผ ํ ๋ค์ ๊ฒฝ๋ก๋ฅผ ๋ผ์ฐํฐ์๊ฒ ์๋ ค์ค๋ค.forwarding table ์ ๋ ๊ฐ์ง ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ค.
๋คํธ์ํฌ ๊ณ์ธต์ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค.
1, 2, 4 ๋ฒ์ ๋ชจ๋ ์์ ๊ณต๋ถ๋ค์์ ์ ๋ฆฌํ์ผ๋, Fragmentation ์ ๋จผ์ ์ ๋ฆฌํด๋ณด์.
Layer 2 ์ธ ๋งํฌ ๊ณ์ธต์์๋ ๊ฐ ๋คํธ์ํฌ์ ๋งํฌ๋ค์ด ํ๋ฒ์ ์ ๋ฌํ ์ ์๋ ์ต๋ ๋ฐ์ดํฐ ์์ ๊ท์ ํ๊ณ , ์ด๋ฅผ MTU(Maximum Transmission Unit) ์ด๋ผ๊ณ ํ๋ค. ๋ฌธ์ ๋ ๊ฐ ๋ผ์ฐํฐ๋ค์ด ๊ฐ๊ธฐ ๋ค๋ฅธ MTU๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฅ ์ฒ์์๋ ์ ๋ฌํ ๋๋ ํจํท์ ์ฌ์ด์ฆ๊ฐ ๊ด์ฐฎ์๋๋ผ๋, ์ค๊ฐ ๋งํฌ์์ ํด๋น ํจํท์ ์ ๋ฌํ ์ ์๋ ์ํฉ์ด ์๊ธธ ์๋ ์๋ค.
Fragmentation์ ์ด์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ ์์ ๋จ์๋ก ๋๋๊ณ ๋งํฌ๊ณ์ธต์ผ๋ก ๋ณด๋ด ๋ณ๋์ ํจํท์ผ๋ก ๋๋์ด์ ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ ํจํท์ ๊ฒฝ๋ก์ ์๋ ๋ชจ๋ ๋ผ์ฐํฐ๋ฅผ ํ์ธํด์ ๊ฐ์ฅ MTU๊ฐ ์์ ๊ฐ์ Path MTU ๋ผ๊ณ ํ๊ณ , ์ด ๋ฐฉ๋ฒ์ ์ฃผ๋ก IPv6 ์์ ์ฌ์ฉ๋๋ค. IPv4 ์์๋ ํจํท์ fragmentation ๊ณผ reassembly ๋ฅผ ์ํด์ ๋ช๊ฐ์ง ํค๋ํ๋๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๋ค์ํค๋๋ค์ด ๊ทธ ๊ธฐ๋ฅ์ ์ํํ๋ค:
๊ณ ์ ํ ์๋ณ์๋ฅผ ๊ฐ๊ฒ๋ ํ๋ค. ์ด ์๋ณ์๋ fragmentation์ด ๋๋ค๊ณ ํ๋๋ผ๋ ๋๋์ด์ง ๋ฐ์ดํฐ๊ทธ๋จ๋ค์ด ๊ฐ์ ์๋ณ์๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ ํจํท์กฐ๊ฐ๋ค์ด ํ ๋ฐ์ดํฐ๊ทธ๋จ์์ ์๋ค๋ ๊ฒ์ ์ ์ ์๊ฒ ํด์ค๋ค.DF bit ๊ฐ ์ค์ ๋๋ฉด ์ด ํค๋๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๊ทธ๋จ์ fragmeation์ด ๋๋ฉด ์๋๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋ง์ฝ DF bit๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ๊ทธ๋จ์ด ๋ผ์ฐํฐ์ ๋์ฐฉํ๊ณ ์ด ๋ฐ์ดํฐ๊ทธ๋จ์ fragmentation ํด์ผํ๋ ์ํฉ์ด ๋ฐ์ํ๋ฉด, ๋ผ์ฐํฐ๋ ์ด ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ฒ๋ฆฌ๊ณ ICMP๋ก ์๋ฌ๋ฅผ ์๋ฆฌ๋ ํจํท์ ๋ณด๋ธ๋ค. MF bit ๋ fragment ๋ ๋ฐ์ดํฐ๊ทธ๋จ๋ค ์ค ๋ง์ง๋ง์ ์ ์ธํ ๋ชจ๋ ํจํท์ด ๊ฐ์ง๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋ง์ง๋ง์ ์ ์ธํ ๋ชจ๋ ํจํท์ MF ๋นํธ๋ฅผ ์ฃผ์ด์ ๋ง์ง๋ง๊น์ง ๋๋์ด์ง ํจํท์ด ๋ชจ๋ ๋์ฐฉํ๋์ง๋ฅผ ์ ์ ์๋ค.Forwarding ๊ธฐ๋ฅ๋ง ์ํํ๋ค.VER(4 bits) : ํ์ฌ IP ํ๋กํ ์ฝ์ ๋ฒ์ . IPv4 ๋ 4 ๋ฅผ ๊ธฐ์
ํ๋ค.HLEN(4 bits) : ํค๋์ ๊ธธ์ด๋ฅผ ๊ธฐ์
ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ต์
์ ํฌํจํ์ง ์์ผ๋ฉด 20 ๋ฐ์ดํธ ๊ฐ ํค๋๊ธธ์ด๊ฐ ๋๋ค.Service(8 bits) : ์ฌ๋ฌ ๋ค๋ฅธ ์ ํ์ ๋ฐ์ดํฐ๊ทธ๋จ์ ์๋ณํ๊ธฐ ์ํด์ ์ฌ์ฉํ์ง๋ง, ์ ์ฌ์ฉ๋์ง ์๊ณ ECN ๊ฐ์ ๋นํธ๋ฅผ ๋ฃ์ด์ Congestion Control์ ํ๋๋ฐ์ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.Total Length(16 bits) : ๋ฐ์ดํธ๋ก ๊ณ์ฐํ ํค๋์ ๋ฐ์ดํฐ์ ์ ์ฒด ๊ธธ์ด๋ฅผ ๊ธฐ์
ํ๋ค.Identification(16 bits) : fragmentation ์ฒ๋ฆฌ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ์๋ณ์๋ฅผ ์
๋ ฅํ๋ค. ์๋ก์ด ๋ฐ์ดํฐ๊ทธ๋จ์ด ๋ค์ด์ค๋ฉด 1์ฉ ์ฆ๊ฐ์ํจ ๊ฐ์ ํ ๋นํด์ ๋ฐ์ดํฐ๊ทธ๋จ๋ค์ด ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋๋ก ํ๋ค.Flags(3 bits) : ์กฐ๊ฐ๋ ๋ฐ์ดํฐ๊ทธ๋จ์ ํํํ๊ณ ์กฐ๊ฐ๋ค์ ๋ง์ง๋ง ํจํท์ ํ์ํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.Fragmentation offset(13 bits) : ๋ฐ์ดํฐ๋ค์ ์ค์ ์์น๋ฅผ ๊ธฐ๋กํด์ ๋ค์ ํฉ์น ๋ ์์๋ฅผ ์ ์งํ ์ ์๋๋ก ํ๋ค.Time To Live(8 bits) : ๋ผ์ฐํฐ ํ๋๋ฅผ ๊ฑฐ์น ๋๋ง๋ค 1์ฉ ๊ฐ์ํ๊ณ , 0์ด ๋๋ฉด ํด๋น ํจํท์ ๋ฒ๋ ค์ง๋ค.rotocol(8 bits) : ์์ ๊ณ์ธต์์ ์ด ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ฐ์ ์ฌ์ฉํ ํ๋กํ ์ฝ์ ๋ช
์ํ๋ค. ์ฆ, ํธ๋์คํฌํธ ๊ณ์ธต์์ ์ฌ์ฉํ ํ๋กํ ์ฝ์ด UDP๊ฐ ๋ ์ง, TCP๊ฐ ๋ ์ง ๊ธฐ๋กํ๊ฒ ๋๋ค.Header Checksum(16 bits) : ํค๋์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด์ ์ฒดํฌ์ฌ์ ๋ง๋ค์ด ์ค๋ฅํ์ธ์ ๋์์ ์ค๋ค.Source IP address(32 bits) : ๋ฐ์ดํฐ๊ทธ๋จ์ ์ ์กํ ํธ์คํธ์ ip ์ฃผ์๋ฅผ ๊ธฐ์
ํ๋ค.Destination IP address(32 bits) : ๋ฐ์ดํฐ๊ทธ๋จ์ ์์ ํ ๋ชฉ์ ์ง ํธ์คํธ์ ip์ฃผ์๋ฅผ ๊ธฐ์
ํ๋ค.Network Interface Card ๋ง๋ค ํ๋์ฉ ๋ถ์ฌ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ฃผ์๋ ์ ์ธ๊ณ์ ํ๋ ๋ฟ์ธ ๊ณ ์ ํ ์ฃผ์๊ฐ ๋๋ค.Interface ๋ผ๊ณ ํ๋ค.network id ์ host id ๋ก ๋๋์ด์ ์ฌ์ฉํ๋ค. ๋ฐ๋ผ์ ํ ๋คํธ์ํฌ ๊ทธ๋ฃน์ ์ํ ๋ชจ๋ ํธ์คํธ๋ ๊ฐ์ network number ๋ฅผ ๊ณต์ ํ๊ฒ ๋๋ค.InterNIC ๋ AS(Autonomous System) ๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋คํธ์ํฌ ๊ด๋ฆฌ ์ฃผ์ฒด์ network id๋ฅผ ๋ถ์ฌํ๊ณ ๊ฐ AS๋ ๋คํธ์ํฌ ๋ด์ ํธ์คํธ๋ค์๊ฒ host id ๋ฅผ ๋ถ์ฌํ๋ค.Dotted Deicmal ์ฒด๊ณ๋ก ์ฃผ์๋ฅผ ํํํ๋๋ฐ, ์ด์ง์๋ก ํํ๋ ์ฃผ์๋ฅผ 8๋นํธ์ฉ ์๋ผ์ 10์ง์๋ก ๋ณํํ ๋ค์ ์ฌ์ด์ฌ์ด์ ์ ์ ์ฐ์ด ํํํ๋ ํํ์ด๋ค. ์๋ฅผ ๋ค์ด 11000000 00000101 00110000 00000011 ๋ก ํํ๋ ์ฃผ์๋ 192.5.48.3 ์ผ๋ก ๋ณํ๋๋ค.IPv4 ์ ์ด์ฐฝ๊ธฐ์๋ ์ฃผ์๋ฅผ ์ฌ๋ฌ ํด๋์ค๋ก ๋๋์ด์ net id์ host id ์ ๋น์จ์ ๊ฒฐ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ฃผ์๋ฅผ ํ ๋นํ๋ค. ์ด ๋น์จ์ host id์ ๋นํธ๋ก ํํํ ์ ์๋ ์ต๋ ๊ฐฏ์๋ฅผ ๊ฒฐ์ ํ๊ธฐ ๋๋ฌธ์, ๋คํธ์ํฌ์ ์ฐธ์ฌํ๋ ํธ์คํธ๋ค์ ๊ฐ์๊ฐ ์ค์ํ๋ค.
| ํด๋์ค | ์๋ณ์ | NetID ์ฌ์ฉ ๋นํธ | HostID ์ฌ์ฉ ๋นํธ | ์์์ฃผ์ | ๋์ฃผ์ |
|---|---|---|---|---|---|
| A | 0XXXXXXXX | 7 | 24 | 0.0.0.0 | 127.255.255.255 |
| B | 10XXXXXXX | 14 | 16 | 128.0.0.0 | 191.255.255.255 |
| C | 110XXXXXX | 21 | 8 | 192.0.0.0 | 223.255.255.255 |
| D | 1110XXXXX | - | - | 224.0.0.0 | 239.255.255.255 |
| E | 1111XXXXX | - | - | 240.0.0.0 | 255.255.255.255 |
Unicast address ์ด๊ณ D๋ Multicast address ์ธ๋ฐ, ๊ฐ ์ฃผ์์ ๋งตํ๋๋ ํธ์คํธ๋ค์ด 1๋1 ๊ด๊ณ์ธ์ง 1๋๋ค ๊ด๊ณ์ธ์ง์ ๋ฐ๋ผ ๋๋๋ค.CIDR(Classless InterDomain Routing)์ด๋ผ๊ณ ํ๋ค. CIDR ์ ๊ณตํต๋ ip ์ฃผ์์ ํจ๊ป ์ฌ๋์ฌ์ ๋นํธ์๋ฅผ ์ฌ์ฉํด์ ์ฃผ์๋ฅผ ๋ํ๋ธ๋ค. ์๋ฅผ ๋ค์ด 233.1.1.2, 233.1.1.4, 233.1.1.5 ๋ก ๊ตฌ์ฑ๋ ์๋ธ๋ท์ด ์๋ค๊ณ ํ๋ฉด, 233.1.1/24 ์ ๊ฐ์ด ๋ํ๋ด๊ณ /24 ๋ถ๋ถ์ Subnet Mask ๋ผ๊ณ ํ๋ค.route aggregation ์ด๋ผ๊ณ ํ๋ค.11001000 00010111 00010000 00000000 ์ด๋ผ๋ ์ฃผ์๊ฐ ์๊ณ , 11001000 00010111 00010010 00000000 ๋ ๊ฐ์ ์ฃผ์๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ์ธํฐํ์ด์ค์ ๋งคํ๋์ด ์์ ๋ ๋ ์ฃผ์๋ฅผ ๋ชจ๋ ํฌํจํ๋ ์ฃผ์๊ฐ ์๋ก ๋ค์ด์จ๋ค๋ฉด, ์ด๋ค ์ธํฐํ์ด์ค ๊ฒฝ๋ก๋ก ๊ฐ์ผํ ๊น? ์๋ํ๋ฉด ๋ ๋ฒ์งธ ์ฃผ์๋ 0001 ๊น์ง๋ ์ฒซ ์ฃผ์์ ์ธํฐํ์ด์ค์ ๋งค์น๋๊ณ , 0001001 ๊น์ง๋ ๋๋ฒ์งธ ์ฃผ์์ ์ธใ
ํฐํ์ด์ค์ ๋งค์นญ๋๊ธฐ ๋๋ฌธ์ ์์นซํ๋ฉด ํญ์ ์ฒซ๋ฒ์งธ ์ธํฐํ์ด์ค๋ก ์ด๋ํ๊ฒ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ CIDR ์ ์ฑ
์ ์ฌ์ฉํ ๋๋ ํญ์ ์ฃผ์๋ฅผ ๊ฐ์ฅ ๊ธธ๊ฒ ๋งค์นญ๋๋ ์ง์ ๊น์ง ๊ฒ์ฌํด์ผํ ํ์๊ฐ ์๋ค.