[CS] Computer Networking - Network layer(1)
๐์ปดํจํฐ ๋คํธ์ํฌ ์ ๊ณต ์์ ์ ๋ฆฌ
Network Layer
๐NewworkLayer: ๋ฐ์ดํฐ์ ๊ฒฝ๋ก ์ค์ ๊ณผ ์ ๋ฌ์ ๋ด๋น
- ํต์ฌ๊ธฐ๋ฅ:
sending host
์์receiving host
๋ก trasport segment ์ ๋ฌ- sending ์ธก์์ segment๋ฅผ datagram์ผ๋ก ์บก์ํ
- receiving ์ธก์์ segment๋ฅผ transport layer๋ก ์ ๋ฌ
- ๋ชจ๋ ํธ์คํธ์ router์์ network layer protocol ์คํ
- router๊ฐ ๋ชจ๋ IP datagram์ ํค๋ ํ๋ ๊ฒ์ฌ
Netwrok์ two key functions
1. Routing
๐**Routing: ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง๊น์ง์ **๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ๊ณผ์
- ์ฌํ์ ๊ณํํ ๋ ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง๊น์ง์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๊ณํํ๋ ๊ฒ๊ณผ ๊ฐ์
2. Forwarding
๐Forwarding: ๋ผ์ฐํฐ๊ฐ ์ ๋ ฅ ํฌํธ์์ ์ ์ ํ ์ถ๋ ฅ ํฌํธ๋ก ํจํท์ ์ด๋์ํค๋ ๊ณผ์
- ์ฌํ ์ค ๊ฐ ๊ต์ฐจ๋ก์์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ง ๊ฒฐ์ ํ๋ ๊ฒ๊ณผ ๊ฐ์
- Routing algorithm์ ํตํด ์ต์ ์ ๊ฒฝ๋ก๋ก forwarding table์ ๋ง๋ฆ
- forwarding table์ ํตํด output link๋ก ํจํท ์ ์ก
- ํ์ง๋ง ์ ์ค ๊ฐ๋ฅ์ฑ์ ์กด์ฌ!
์ค์ ์ธํฐ๋ท์๋ ์ฝ 40์ต ๊ฐ์ IP ์ฃผ์๊ฐ ์กด์ฌ โ ๋ง์ฝ ๊ฐ๊ฐ์ ๋ชฉ์ ์ง ์ฃผ์๋ง๋ค ๊ฐ๋ณ ์ํธ๋ฆฌ๋ฅผ ๋ง๋ ๋ค๋ฉด ํฌ์๋ฉ ํ ์ด๋ธ์ด ๋๋ฌด ์ปค์ ธ์ ๋นํจ์จ์ !
- ๊ทธ๋์ ๊ฐ ์ํธ๋ฆฌ์ ์ ์ฒด ์ฃผ์๊ฐ ์๋ Address range๋ฅผ ์ฌ์ฉํ๋ค
Address Range Aggregation
- ๊ฐ๋ณ ์ฃผ์ ๋์ ์ฃผ์ ๋ฒ์๋ฅผ ์ฌ์ฉ
- ์ฌ๋ฌ ๋ชฉ์ ์ง๋ฅผ ํ๋์ entry๋ก ํตํฉ โ table size๋ฅผ ๋ํญ ๊ฐ์
์์ table ์์์์ ์ฌ๋ฌ ์ํธ๋ฆฌ์ ๋ชฉ์ ์ง ์ฃผ์๊ฐ ๋งค์นญ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํจ
โ ๊ฐ์ฅ ๊ธธ๊ฒ ๋งค์นญ๋๋ ์ํธ๋ฆฌ๋ฅผ ์ฐพ์์ ์ ํ!
- Longest Prefix Matching
- ๋ชฉ์ ์ง ์ฃผ์์ ๊ฐ ํ ์ด๋ธ ์ํธ๋ฆฌ์ prefix๋ฅผ ๋น๊ต
- ์ฌ๋ฌ ๋งค์นญ์ด ๋ฐ๊ฒฌ๋๋ฉด longest prefix matching์ ์ ํ
- ํด๋นํ๋ ์ถ๋ ฅ ์ธํฐํ์ด์ค๋ก ํจํท ์ ์ก
- ์์:
DA: 11001000 00010111 00010110 10100001
- ๋งค์นญ ๊ฐ๋ฅํ entrys:
11001000 00010111 00010*** ********
(21bits ๋งค์นญ)11001000 00010111 00011*** ********
(20bits ๋งค์นญ)
- 21bits๊ฐ ๋ ๊ธธ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ์ํธ๋ฆฌ ์ ํ โ interface 0
โญIP(Internet Protocol)
IP datagram format
IP datagram format
- ๊ธฐ๋ณธ ์ ๋ณด ํ๋
ver
: IP protocol version (IPv4 = 4 / IPv6 = 6)header length
: ํค๋์ ๊ธธ์ด(4bytes)- ๋ฐ์ดํฐ ํ ์ค์ด 32bits(4bytes)์ด๋ฏ๋ก
5์ค * 4bytes = 20bytes
๊ฐ ๊ธฐ๋ณธ IP header ๊ธธ์ด
- ๋ฐ์ดํฐ ํ ์ค์ด 32bits(4bytes)์ด๋ฏ๋ก
type of service
: IP data type์ ํ์.length
: ์ ์ฒด ๋ฐ์ดํฐ์ ๊ธธ์ด(bytes) =header + data
- ๋ถํ /์ฌ์กฐ๋ฆฝ ํ๋
16-bit identifier
: ๋ถํ ๋ ํจํท๋ค์ ์๋ณธ ์๋ณ์flags
: ๋ถํ ์ ์ดfragment offset
: ๋ถํ ๋ ๋ฐ์ดํฐ์ ์๋ณธ ์์น
- ๋คํธ์ํฌ ์ ์ด ํ๋
time to live(TTL)
: ํจํท ์์กด ์๊ฐ(hop ์). data๊ฐ ๋ผ์ฐํฐ์์ ๋ฌดํํ ์กด์ฌํ๋ ๊ฒ์ ๋ฐฉ์ง- hop: ๋ผ์ฐํฐ๋ฅผ ํ๋ ๊ฑด๋๊ฐ๋ ํ์
- ex: ์ฒ์์ 200๊ฐ์ hop์ ํ ๋น โ ๋ฐ์ดํฐ๊ฐ ๋ผ์ฐํฐ๋ฅผ ๊ฑด๋๋ ๋ง๋ค TTLํ๋ ๊ฐ์ด ์ค์ด๋ฆ โ TTL=0์ด ๋๋ฉด ๋ฐ์ดํฐ์ ์๋ช ์ด ๋คํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ โ ๋ผ์ฐํฐ์์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐ โ ํด๋น ๋ฐ์ดํฐ๊ฐ ์ถ๋ฐํ ๊ณณ์ ์ด๋ค ๋ผ์ฐํฐ์์ ์ ๊ฑฐ๋์๋ค๊ณ ์๋ ค์ค
upper layer
: upper layer(=Transport layer) protocol(TCP/UDP) ์๋ณheader checksum
: transport layer์์ ๋ฐ์ ๋ฐ์ดํฐ์ header ์ค๋ฅ ๊ฒ์ถ
- ์ฃผ์ ํ๋
- ๊ฐ์ฅ ์ค์ํ ํ๋
32 bit source IP address
: ์ถ๋ฐ์ง IP ์ฃผ์32 bit destination IP address
: ๋ชฉ์ ์ง IP ์ฃผ์
option
: ์ถ๊ฐ์ ์ธ ์ ๋ณด ์ ์ฅ(์์ ์๋ ์์)
๊ฐ ํ๋๋ณ ์์ธํ๊ฑด ์ฐจ์ฐจ ์์๋ณด์
IP data์๋ TCP or UDP๋ก ๋ถํฐ ๋ฐ์ segment๊ฐ ์๊ณ ๊ฑฐ๊ธฐ์ ๋คํธ์ํฌ layer header๊ฐ ๋ง๋ถ์ฌ์ง๋ค ๊ทธ ๋๋ฌธ์ ๋คํธ์ํฌ ํจํท์๋ ์ค๋ฒํค๋๊ฐ ์กด์ฌ
- Total overhead: 40bytes(
IP 20bytes + TCP 20bytes
) + app msg
์์์ ๋ณธ IP datagram format์์ ๊ฐ์ฅ ์ค์ํ source/destination IP address์ ๋ํด ์์๋ณด์
IPv4 addressing
๐IP address: 32-bit unique number๋ก, ํธ์คํธ๋ ๋ผ์ฐํฐ์ interface๋ฅผ ์๋ณ
๊ทธ๋ผ ์ด๋ค ๋ฐฉ์์ผ๋ก IP ์ฃผ์๋ฅผ ๋ฐฐ์ ํ ๊น??
Grouping Related Hosts
์ธํฐ๋ท์ ๊ฐ๋ณ ํธ์คํธ๊ฐ ์๋ ๋คํธ์ํฌ๋ค์ด ์ฐ๊ฒฐ๋์ด ์๋ ๋ชจ์ต์ด๋ค
โํธ์คํธ๋ง๋ค ์์์ ์ฃผ์๋ฅผ ํ ๋นํ ๊ฒฝ์ฐ
- ๋ผ์ฐํฐ๊ฐ ๋ชจ๋ ๊ฐ๋ณ ํธ์คํธ ์ ๋ณด ์ ์ฅ ํ์
- forwarding table์ ํฌ๊ธฐ๊ฐ ์์ฒญ๋๊ฒ ์ปค์ง!(์ ์ธ๊ณ ํธ์คํธ์ ์)
์ฃผ์๋ฅผ ๊ณ์ธต๊ตฌ์กฐ๋ก ๋ง๋ค์!!
- IP address๋ฅผ ๋คํธ์ํฌ ๋ถ๋ถ + ํธ์คํธ ๋ถ๋ถ์ผ๋ก ๋ถํ
- ๊ฐ์ subnet์ ํธ์คํธ๋ค์ ๊ทธ๋ฃนํ
- ๋ผ์ฐํฐ๋ ๋คํธ์ํฌ ๋จ์๋ก๋ง ๊ฒฝ๋ก๋ฅผ ๊ด๋ฆฌ
Subnet Mask
๐Subnet mask: IP ์ฃผ์์์ ๋คํธ์ํฌ ๋ถ๋ถ๊ณผ ํธ์คํธ ๋ถ๋ถ์ ๊ตฌ๋ถํ๊ธฐ ์ํ 32bit ๊ฐ
- IP ์ฃผ์์ Subnet mask๋ฅผ ์ค๋นํ๊ณ AND ์ฐ์ฐ์ ์ํํด์ ๋คํธ์ํฌ ์ฃผ์๋ฅผ ์ป์ด๋
Scalability Improved
์ด์ ๊ฐ๋ณ ํธ์คํธ๋ง๋ค IP์ฃผ์๋ฅผ ์ฃผ๊ณ ๊ด๋ฆฌํ ํ์ ์์ด ๋คํธ์ํฌ ๋จ์๋ก ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ก๋ค!
๋ง์ฝ
5.6.7.213
ํธ์คํธ ์ถ๊ฐ ์ ๊ธฐ์กด5.6.7.0/24
๊ฒฝ๋ก๋ฅผ ํ์ฉํ๋ฉด ๋จ
์ฆ, forwading table ์ํธ๋ฆฌ ์ถ๊ฐ(๋ผ์ฐํฐ ์ ๋ฐ์ดํธ) ๋ถํ์