Chapter 1. Computer Networks and the Internet
Part 1.
Internet: network of networks๋ก ๋คํธ์ํฌ๋ค์ ์ฐ๊ฒฐํด์ฃผ๋ ๊ฒ
Protocol: ๋คํธ์ํฌ์์ ํต์ ์ ํ๊ธฐ ์ํ ๊ท์น
Network edge and core
Network edge
- Hosts: clients ์ servers
- Servers๋ ์ข ์ข data centers์ ์กด์ฌ
Access networks, physical media: wired, wireless communication links (end-system ์ฐ๊ฒฐ)
Network core
- Routers ์ฐ๊ฒฐ
- network of networks
Cable, DSL, FTTH
- ์ปดํจํฐ๋ ๋คํธ์ํฌ ์ฅ๋น๋ค ์ฌ์ด์์ ์ ํธ๋ฅผ ์ ๋ฌํ๋ ์ ์ก ๋งค์ฒด ์ญํ
- ์ง์ญ ์ ํ๋ง์ ํตํด ๋์งํธ ๋ฐ์ดํฐ ์ ์ก์ ์ ๊ณตํ๋ ๊ธฐ์ ๊ณ์ด
- DSL: ๋์ ์ฃผํ์ / ์ผ๋ฐ ์ ํ: ๋ฎ์ ์ฃผํ์
- ๊ฐ์ ์ ์ง ์๊น์ง ๊ด์ผ์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ด๊ณ ์์ผ๋ก ์ก์์ ๊ฐ๋ฅํ ์ฐจ์ธ๋ ์ธํฐ๋ท ๋ง ๊ธฐ๋ฐ ๊ธฐ์
Wireless local area networks: ๋ฌด์ ๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง, AP(Access Point)์์ ์ ํธ๋ฅผ ์ฆํญ ์์ผ ๋๋ฐ์ด์ค์ ๋ผ์ฐํฐ ๊ฐ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ด๋ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ ๊ฐ๋ฅ ex. wifi
Wide-area cellular access networks: LAN๋ณด๋ค ๋ ๋์ ๊ฐ๋
ex. LTE, 3G,celluar...
(+) Handover: ๋จ๋ง๊ธฐ๊ฐ ์ฐ๊ฒฐ๋ ๊ธฐ์ง๊ตญ์ ์๋น์ค ๊ณต๊ฐ์์ ๋ค๋ฅธ ๊ธฐ์ง๊ตญ์ ์๋น์ค ๊ณต๊ฐ์ผ๋ก ์ด๋ํ ๋, ๋จ๋ง๊ธฐ๊ฐ ๋ค๋ฅธ ๊ธฐ์ง๊ตญ์ ์๋น์ค ๊ณต๊ฐ์ ํ ๋นํ ํตํ ์ฑ๋์ ๋์กฐํ์ฌ ์๋น์ค๊ฐ ์ฐ๊ฒฐ๋๋ ๊ธฐ๋ฅ
Packet: chunk of data, ํ๋ฒ์ ์ ๋ฌ๊ฐ๋ฅํ data ๋จ์
Packet switching: Store and forward
- ๋ผ์ฐํฐ๋ ์ ์ฒด packet์ storeํ๊ณ ์ ์ฅํ packet์ output link(์ ์ ํ destination)๋ก forwarding ํจ
- ์ ์ฒด packet์ ๋ค์ link๋ก ์ ์ก๋๊ธฐ ์ ์ ๋ค ๋์ฐฉํด์ผ ํจ
Link capacity (bandwidth): ํน์ ์๊ฐ ๋ด์ ์ ์ก ๋ ์ ์๋ ๋ฐ์ดํฐ์ ์ต๋ ์ฉ๋ (bits/s)
Transmission delay: packet์ ๋ชจ๋ bits๋ฅผ link๋ก ์ ์กํ๋๋ฐ ํ์ํ ์๊ฐ ( L: packet bits, R: ์ ์ก๋ฅ ์ผ๋ L/R)
End-to-end delay: propagation delay๊ฐ 0์ด๋ผ๊ณ ๊ฐ์ , ์์ ๊ทธ๋ฆผ์์ 2L/R, source์์ destination๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ
Packet queueing: packet์ queue์ storeํ๊ณ output link๋ก forwarding ํจ
Forwarding, Routing
Forwarding
- ๋ผ์ฐํฐ์ ์ ๋ ฅ ํฌํธ์์ ์ ์ ํ ์ถ๋ ฅ ํฌํธ๋ก packet์ ์ด๋
- Routing์ ์ํด ๋ง๋ค์ด์ง forwarding table์ ๋ณด๊ณ ์ง์
- Forwarding table: routing ํ๋กํ ์ฝ์ ์ํด ์์ฑ
Routing
- source์์ destination๊น์ง ๊ฒฝ๋ก ๊ฒฐ์ , packet์ destination IP๋ฅผ ๋ณด๊ณ ๊ฒฝ๋ก ๊ฒฐ์
- Sender๊ฐ Reciever์๊ฒ packet ์ ์กํ ๋, netwrok layer์์ packet ๊ฒฝ๋ก ์ง์
(+) Forwarding table vs Routing table
Forwarding table์ ๊ฐ routing ํ๋กํ ์ฝ๋ก๋ถํฐ ์ ๋ณด๋ฅผ ๋๊ฒจ๋ฐ์ IP๊ณ์ธต์์ ์์ฑ/๊ด๋ฆฌํ๋ ์ ๋ณด
Routing table์์ ๋ผ์ฐํ
ํ๋กํ ์ฝ์ด ์์ฑ/๊ด๋ฆฌํ๋ ์ ๋ณด
Packet switching, Circuit switching
Packet switching
- host๋ application ๊ณ์ธต์ message๋ฅผ packet ๋จ์๋ก ์ชผ๊ฐ์ ์ ์ก
- header์ destination์ ์ ๋ณด๋ฅผ ๋ด๊ณ payload ๋ถ๋ถ์ ์ค์ง ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์ก
(+) packet์ ๊ตฌ์กฐ๋ ์ฃผ์ ์ฒด๊ณ ๋ฑ์ด ํต์ ๊ท์ฝ์ธ protocol
Circuit switching
- packet switching๊ณผ ๋ค๋ฅด๊ฒ ๋ฐ์ดํฐ๊ฐ source์์ destination์ผ๋ก ๊ฐ๋ ํน์ ๊ฒฝ๋ก๋ฅผ ์ง์ (์ ์ผํ ๊ฒฝ๋ก๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ์ก) => end-to-end circuit ํ ๋น
- header, ์ค๊ฐ์ store and forward ํ์ X
Circuit switching: FDM, TDM
- bandwidth๋ฅผ ๋์ด๊ธฐ ์ํด (์ ์ ์๊ฐ์ ํจ์จ์ ์ผ๋ก ์์ ๋ญ๋น ์์ด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ํจ)
FDM (Frequency Division Multiplexing): ์ ์ฒด frequency band๋ฅผ ์ฌ์ฉ์ ์๋ก ๋๋
TDM (Time Division Multiplexing): ์ ์ฒด frequency band๋ฅผ ์๊ฐ์ผ๋ก ๋๋
ISP (Internet Service Providers): ์ธํฐ๋ท์ ์ ์ํ๋ ์๋จ์ ์ ๊ณตํด์ฃผ๋ ์ญํ ์ ํจ
IXP (Internet Exchange Point): ISP์์ ์ฐ๊ฒฐ์ ๋ด๋นํ๋ ๋ผ์ฐํฐ
Part 2.
Packet loss: queue๊ฐ ๊ฐ๋ ์ฐจ์ ๋ ์ด์ packet์ ๋ด์ ๊ณต๊ฐ์ด ์์ผ๋ฉด packet์ ๋ฒ๋ฆฌ๋ ๊ฒ
Packet delay: packet์ด source์์ destination๊น์ง ์ ์ก๋๋ ๊ณผ์ ์์ ๋ฐ์๋๋ ์๊ฐ
Processing delay, Queuing delay, Transmission delay, Propagation delay
Processing delay: packet์ด ๋์ฐฉํ์ ๋ buffer๊ฐ ip ํค๋๋ฅผ ๋ณด๊ณ ์ด๋ ๋งํฌ๋ก forwarding ํ ์ง ๊ฒฐ์
- bit error ์ฒดํฌ ; drop packet or request retransmission
- output link ์ง์
Queuing delay: packet์ด forwarding๊น์ง ๋ ์ํ์์ output ๋งํฌ๋ก ์ ์ก์ ์ํด ๋๊ธฐ ์ํ
- ๋ผ์ฐํฐ์ ํผ์ก๋์ ์์กด
- ๋ผ์ฐํฐ์ queue์ packet์ด ๋๊ธฐ ์ํ๋ก ์์ฌ delay ๋ฐ์
Transmission delay: ๋ผ์ฐํฐ์์ ๋งํฌ๋ก packet์ ์ ์กํ๋ ์๊ฐ
- R link capacity์์ L bits ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ ์ ์ก ์๊ฐ = L/R
Propagation delay: ์ ๋ฌ ๊ฑฐ๋ฆฌ์ ๋ฐ๋ผ ์ง์ฐ๋๋ ์๊ฐ
- ์ ํ ์๋์ ๋งํฌ์ ๊ธธ์ด์ ๋ฐ๋ผ ๋๋ ์ด ์๊ฐ ๋ณ๋
- physical link์ ๊ธธ์ด / propagation speed
Instantaneous throughput, Average throughput
Throughput
: sender์์ receiver๋ก bit๊ฐ ์ ์ก๋๋ rate (bit/time)
: ๊ธด ์๊ฐ ๋์ receiver์์ received๋ bits ์์ ๋ํ rate
- Instantaneous throughput (์๊ฐ throughput): ํน์ ์์ ์์์ rate
- Average throughput (ํ๊ท throughput): ํน์ ๊ธฐ๊ฐ์ ๊ฑธ์น rate
Bottleneck link
- end-to-end์์ end-to-end throughput์ ์ ํํ๋ link
- ๊ฐ์ฅ throughput์ด ๋ฎ์ link
(+) sender๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ๋ bottleneck์ด ์ด๋์ธ์ง ๋ชจ๋ฅธ๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ํ๋ฅผ ํ์ธํ ํ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ link๋ฅผ ๊ฒฐ์ ํ๋ TCP ์กด์ฌ
Layers
- ๊ฐ ๊ณ์ธต์ ์๋น์ค ๊ฐ๋ฐ
- ์์ ๊ณ์ธต์ ์๋น์ค๋ ํ์ ๊ณ์ธต์ด ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ๊ธฐ๋ฐ์ ๋
- ๋ณต์กํ ์์คํ ์ ๋ค๋ฃฐ ์ ์์
Internet protocol stack
- Application: ๋คํธ์ํฌ application์ง์ / IMAP, SMAP, HTTP
- Transport: ๋ฐ์ดํฐ ์ ์ก ๊ณผ์ / TCP, UDP
- Network: source-destination packet ๋ผ์ฐํ / IP, routing protocol
- Link: ์ด์ ๋คํธ์ํฌ ์์์ ๋ฐ์ดํฐ ์ ์ก / Ethernet, wifi
- Physical
ISO/OSI reference model
Encapsulation, Decapsulation
- ๋ค์ ๊ณ์ธต์ผ๋ก data๋ฅผ ์ ์ก ์, data ์์ header๋ฅผ ๋ถ์ฌ ์ ์ก
- data๋ฅผ ์ถ์ถํ๊ธฐ ์ํด ์์ ๋ถ์ header๋ฅผ ์ง์ฐ๊ณ ์ ๋ณด๋ฅผ ์ฝ์ด ๋ค์ ๊ณ์ธต์ผ๋ก ์ ์ก
Malware: ์
์ฑ SW๋ก ์ฌ์ฉ์์ ์ด์ต์ ์นจํดํ๋ ๋น๋๋์ ์ธ SW
- Virus: ์ฌ์ฉ์์์ interaction ํ์
- Worm: ์ฌ์ฉ์์์ interaction ํ์X
DoS (Denial of Service): ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ์ผ๋ก ๊ณต๊ฒฉ ๋์์ ์๋น์ค ๋ถ๊ฐ ์ํ๋ก ๋ง๋๋ ๊ณต๊ฒฉ
DDoS (Distributed Denial of Service): DoS ๊ณต๊ฒฉ์ ๋ถ์ฐ์ ์ผ๋ก ์ฌ๋ฌ ์ปดํจํฐ๋ค์ด ์ํํ๋ ๊ฒ
Packet sniffing: packet์ ๊ฐ๋ก์ฑ์ ์ ๋ณด๋ฅผ ๋นผ๋ด๋ ๊ฒ
IP Spoofing: IP ์์ฒด์ ๋ณด์ ์ทจ์ฝ์ฑ์ ์
์ฉํ ๊ฒ์ผ๋ก ์์ ์ IP ์ฃผ์๋ฅผ ์์ฌ์ ์ ์ํ๋ ๊ณต๊ฒฉ
Chapter 2. Application Layer
Part 1.
Client-to-Server
- Client๊ฐ ์์ฒญํ๋ฉด Server๊ฐ ์๋ตํ๋ ๋ฐฉ์์ผ๋ก ์๋
- ์๋ก ์ง์ ์ ์ผ๋ก ํต์ ์ ํ์ง ์๊ณ ๋ง์ network ์ํฐํฐ๋ฅผ ํตํด ํต์
- Client๋ ์ ๋IP, Server๋ ๊ณ ์ IP
- ex) HTTP(Hyper Text Transfer Protocol, ํ ์คํธ ๊ธฐ๋ฐ ์ ์ก protocol), IMAP(๋ฉ์ผ server์์ ๋ฉ์์ง๋ฅผ ์ฝ์ด์ค๋ protocol), FTP(ํ์ผ ์ ์ก protocol)
Peer-to-Peer
- end ์์คํ ๋ผ๋ฆฌ ๋ฐ๋ก ์ํต
- self scalability: ์๋ก์ด peer๋ ์๋ก์ด ์๋น์ค capacity๋ฅผ ๊ฐ์ ธ์ด
- peer๋ค์ ๊ฐํ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ฉฐ ์ ๋ IP๋ฅผ ๊ฐ์ง
- ex) P2P file sharing, Blockchain(๋ถ์ฐ ์ปดํจํ ๊ธฐ์ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์๋ณ์กฐ ๋ฐฉ์ง ๊ธฐ์ , ํธ๋์ญ์ ์ ๊ธฐ๋ก)
Process and Socket
Process
- host์์ ๋์ํ๋ program
- ๊ฐ์ host์์ ๋๊ฐ์ Processsms IPC(Inter-Process Communication)๋ฅผ ํตํด ์ํต
- ์๋ก ๋ค๋ฅธ host์ ์๋ process๋ค์ message ๊ตํ์ ํตํด ์ํต
Socket
- process๋ send/receive message๋ฅผ socket์ ํตํด ์ ๋ฌ
- ๋ฐ์ดํฐ๋ฅผ ๋ด๋ณด๋ด๊ฑฐ๋ ๋ฐ๊ธฐ ์ํ ์ค์ง์ ์ธ ์ฐฝ๊ตฌ, ๋ฌธ๊ณผ ๋น์ทํ ์ญํ
Transport protocol
- Transprot protocl์ ์ข ๋จ ํธ์คํธ ๊ฐ application ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ฃผ๋ ์ญํ
- ๋ํ์ ์ผ๋ก TCP์ UDP๊ฐ ์กด์ฌ
TCP | UDP |
์ ๋ขฐ์ฑ ๋ฐ์ดํฐ ์ ์ก (reliable transport) | ๋น์ ๋ขฐ์ฑ ๋ฐ์ดํฐ ์ ์ก (unreliable transport) |
flow control: S๋ R์ ๋ฒํผ overflow X | reliable data, flow/congestion control ์ ๊ณต X, timing, throughput ๋ณด์ฅ, ๋ณด์ ์ ๊ณต X |
congestion control: network overload์ S ์กฐ์ | ์ฐ๊ฒฐ setup X (handshake X) |
timing, ์ต์ throughput ๋ณด์ฅ, ๋ณด์ ์ ๊ณต X | |
์ฐ๊ฒฐ ์งํฅํ |
HTTP (Hypertext Transfer Protocol)
- HTTP message๋ ์น ๋ธ๋ผ์ฐ์ (C)์ ์น ์๋ฒ(S) ์ฌ์ด์์ ๊ตํ (์ฌ์ฉ์๊ฐ ์น ์ฌ์ดํธ๋ฅผ ๋ฐฉ๋ฌธํ๋ฉด ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์น ์๋ฒ์ HTTP ์์ฒญ์ ์ ์กํ๊ณ ์น ์๋ฒ๋ HTTP ์๋ต)
- HTTP v1, 2๋ TCP ์ฌ์ฉ v3๋ UDP ์ฌ์ฉ
HTTP stateless: server๋ ๊ณผ๊ฑฐ client์ ์์ฒญ ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์์
(+) Stateful vs Stateless
Stateful: network protocol์ ์ธ์
์ด ์ข
๋ฃ๋ ๋๊น์ง client์ ์ธ์
์ ๋ณด๋ฅผ ์ ์ฅ
Stateless: network protocol์ client์ ์ธ์
์ํ์ ์ ๋ณด๋ฅผ ์ ์ฅํ์ง ์์, ์ค์ง ์์ฒญ์ ๋ํ ์๋ต๋ง ๋ค๋ฃธ
Non-persistent HTTP, Persistent HTTP
: HTTP ์ฐ๊ฒฐ์ ๋ ์ข
๋ฅ
Non-persistent HTTP: ๊ฐ request/response ์์ด ๋ถ๋ฆฌ๋ TCP ์ฐ๊ฒฐ์ ํตํด ์ ์ก
- message ์ฐ๊ฒฐ ์ํ๊ฐ ๊ฐ message ์ ์ก๋ง๋ค ํ์
- ์ฌ๋ฌ message๋ฅผ ์ ์กํ๋ ค๋ฉด ์ฌ๋ฌ ์ฐ๊ฒฐ ์์ฑ
Persistent HTTP: ๊ฐ request/response ์์ด ๊ฐ์ TCP ์ฐ๊ฒฐ์ ํตํด ์ ์ก
- ํ๋์ TCP ์ฐ๊ฒฐ ์ดํ message ์ฌ๋ฌ๊ฐ ์ ๋ฌ ๊ฐ๋ฅ
HTTP GET, HEAD, POST, PUT
GET: resource ์ถ์ถ / url์ ๋ฐ์ดํฐ๊ฐ ๋
ธ์ถ / ๋ฐ์ดํฐ ๊ธธ์ด ์ ํ ์์ / caching ๊ฐ๋ฅ
HEAD: header๋ง ์์ฒญ
POST: Login page์์ ์ฌ์ฉ / url์ ๋ฐ์ดํฐ๊ฐ ๋
ธ์ถ๋์ง ์์ / ๋ฐ์ดํฐ ๊ธธ์ด ์ ํ ์์ / caching ๋ถ๊ฐ
PUT: ์๋ก์ด object๋ฅผ server์ ์
๋ก๋
HTTP Cookies : ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๋ฑ์ ํด๋ผ์ด์ธํธ์ ์ ์ฅ
- ๋ง๋ฃ๊ธฐ๊ฐ์ด ์กด์ฌํด ์๊ฐ์ด ์ง๋๋ฉด ์๋ ์ญ์ ๋จ
- ์ฌ์ฉ์์ ์ธ์ฆ์ด ๋ชฉ์
(+) ์ธ์
: ์๋ฒ์ ์ ์ฅ๋๋ ์ฟ ํค
Web cache: ์น ํ์ด์ง์ ๋น ๋ฅธ ๋ ๋๋ง์ ์ํด ์ ์ฅ
- ์น ํ์ด์ง ์์ ์ ์ฅ์ ์ํ ์์ ์ ์ฅ์
- origin ์๋ฒ ์์ด ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํจ
- proxy server
Conditional GET: cache๊ฐ ์ต๊ทผ์ ๊ฒ์ธ์ง ํ์ธํ๊ธฐ ์ํด GET message์ ์กฐ๊ฑด๋ถ(๋ง์ง๋ง ์์ data)๋ฅผ ๋ถ์ฌ ์์ฒญ
HTTP/1.1, HTTP/2, HTTP/3
Key goal: ๋ค์ค ๊ฐ์ฒด HTTP ์์ฒญ์์์ ์ง์ฐ ๊ฐ์
(+) HTTP1.0์์๋ ๊ฐ๊ฐ์ request/response์ ๋ํด ์๋ก์ด ์ฐ๊ฒฐ ํ์
HTTP1.1
- ๋จ์ผ TCP ์ฐ๊ฒฐ์ ํตํ ๋ค์ค, pipelined GETs ์๊ฐ (ํ๋์ ์ฐ๊ฒฐ๋ก request/response ์ฒ๋ฆฌ ๊ฐ๋ฅ)
- C์ request ์์์ S์ response ์์ ๋๊ธฐํ
- ํ๋ฒ์ ํ๋์ ์์ฒญ๋ง ์ ์ก ๊ฐ๋ฅํ๋ฏ๋ก ์ฒ๋ฆฌ ์๋ ๋ฐ ์ฑ๋ฅ ์ด์ ์กด์ฌ - HOL Blocking
HTTP/2
- goal: ๋ค์ค ๊ฐ์ฒด HTTP ์์ฒญ์์์ ์ง์ฐ ๊ฐ์
- ๊ฐ์ฒด๋ฅผ frame๋จ์๋ก ๋๋์ด ์ ์ก
- ํ๋์ ์ฐ๊ฒฐ์ ์ฌ๋ฌ message๋ฅผ ๋์์ ์ฃผ๊ณ ๋ฐ์ -> ์๋ ํฅ์
- packet loss๋ฅผ ๋ณต๊ตฌํ๊ธฐ ์ํด ๋ชจ๋ packet ์ฌ์ ์ก
HTTP/3
- TCP๊ฐ ์๋ UDP ์ฌ์ฉ
- QUIC ์์์ ๋์๊ฐ๋ HTTP
QUIC (Quick UDP Internet Connection)
- application ๊ณ์ธต protocol๋ก UDP์์ ์์น
- HTTP์ ์ฑ๋ฅ ํฅ์
- ์ฐ๊ฒฐ ๊ตฌ์ถ: 1RTT์ ์ฐ๊ฒฐ ์ค์ (reliability, congestion control, authentication, encrytion)
- error/congestion control ๊ธฐ๋ฒ ์ฑํ
Connection establishment: TCP vs QUIC
TCP๋ 2RTT handshake - TCP(reliability, congestion control) + TLS(authentication, crypto)
QUIC์ 1RTT handshake - reliability, congestion control, authentication, crypto
Mail ์ ์ก ์๋๋ฆฌ์ค
1. ์ ์กํ๊ณ ์ ํ๋ ๋ฉ์ผ์ sender์ mail server์ message queue์ ์์น
2. sender์ message queue์์ receiver mail server์ mail box๋ก ์ ์ก
3. receiver๋ mail access protocol์ ์ฌ์ฉํ์ฌ ์์ ์ mail box์์ mail์ ์ถ์ถ
SMTP (Simple Mail Transfer Protocol)
- email ์ ์ก์ ์ฌ์ฉ๋๋ application ๊ณ์ธต์ protocol
- transprot ๊ณ์ธต protocol๋ก๋ TCP ์ฌ์ฉ
- pesistent connection ์ฌ์ฉ
Mail access protocol : ๋ฉ์ผ ์๋ฒ์์ ๋ฉ์ผ์ ๊ฐ์ ธ์ด - POP3, IMAP
POP3 (Post Office Protocol ver 3)
- TCP ์ฐ๊ฒฐ์ ๋งบ์ ์ํ์์ ๋ฉ์ผ์ ๊ฐ์ ธ์ด
- stateless ํน์ฑ์ ๊ฐ์ ธ ์๋ฒ์์ ์ญ์ ๋ ๊ฒ๋ง ๋ฐ์๋๊ณ ์ฌ์ฉ์๊ฐ ๋ฉ์ผ์ ์ ๋ฆฌํ์ฌ๋ ์๋ฒ์ ๋ฐ์ ์๋จ
IMAP (Internet Mail Access Protocol)
- POP3์ statelessํ ์์ฑ์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ๋์ด
- ๋ฉ์ผ์ ์๋ฒ์์ ๊ด๋ฆฌํ๊ณ ํค๋๋ง ์ ์ก - ์ฌ๋ฌ๊ฐ์ ๊ธฐ๊ธฐ์์ ๋ฉ์ผ์ ํ์ธํ๊ธฐ ํธ๋ฆฌ
Part 2.
DNS (Domain Name Sysyem)
- ์น ์ฌ์ดํธ์ IP ์ฃผ์์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ mappingํด์ฃผ๋ ์์คํ
- host์ ๋๋ฉ์ธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํ (๋ฐ๋์ ๊ฒฝ์ฐ๋ ์ํ)
- ๋ถ์ฐ๋ DB๋ก ๋ง์ name ์๋ฒ์ ๊ณ์ธต์ด ๊ตฌํ๋์ด ์์
- ๋๋ฉ์ธ ์ด๋ฆ ๋๋ IP ์ฃผ์๋ฅผ ์ฐพ๊ธฐ์ํด ์๋ฒ์ ํต์
DNS ์ฒ๋ฆฌ ์์ - www.google.com์ ์ ๊ทผํ ๋ ์ผ์ด๋๋ workflow
- Client ์ธก์์ DNS ์์
- ๋ธ๋ผ์ฐ์ ๋ URL์์ hostname์ ์ถ์ถํ์ฌ DNS client์ hostname ์ ๋ฌ
- hostname์ ๋ฐ์ Client๋ DNS server๋ก hostname ์ ์ก
- DNS cleint๋ DNS server์ response(hostname์ ๋งค์นญ๋๋ IP์ฃผ์)๋ฅผ receive
- ๋ธ๋ผ์ฐ์ ๊ฐ IP์ฃผ์๋ฅผ ๋ฐ์ผ๋ฉด HTTP์ TCP ์ฐ๊ฒฐ ์์ํ์ฌ ์นํ์ด์ง์ ์ ์
Root Name servers
- ์ธํฐ๋ท์ DNS์ root ์กด
- ์ ์ ํ ์ต์์ ๋๋ฉ์ธ(TLD; Top Level Domain)์ ๋ํ name server ๋ชฉ๋ก ๋ฐํ
Top-Level Domain (TLD) server
- ๋๋ฉ์ธ์ ๊ฐ์ฅ ๋ ์ชฝ์ ์์นํ๋ฉฐ ๋๋ฉ์ธ์ ๋ชฉ์ or ์ข ๋ฅ or ๊ตญ๊ฐ๋ฅผ ๋ํ๋
- ex. .com, .net, .kr, .jp
Authoritative DNS server
- ๊ธฐ๊ด ์์ DNS ์๋ฒ
- hostname - IP์ฃผ์๋ฅผ mapping
DNS name resoulution - Iterative query, recursive query
Iterative query
- Local DNS ์๋ฒ๊ฐ ๋ค๋ฅธ DNS ์๋ฒ์๊ฒ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋ด์ด ๋ต์ ์์ฒญ
Recursive query
- Local DNS ์๋ฒ๊ฐ ์ฌ๋ฌ DNS ์๋ฒ๋ฅผ ์ฐจ๋ก๋๋ก ๋ฌผ์ด๋ด์ ๊ทธ ๋ต์ ์์ฒญ
Self-scalability(์๊ฐ ํ์ฅ์ฑ) of P2P
- P2P: ๊ฐ๋ณ peer๋ค์ด ๋ชจ๋ client๊ฐ ๋ ์๋ ์์ง๋ง server๊ฐ ๋ ์๋ ์์ / peer๊ฐ ์๋น์์ด๋ฉด์ ๋์์ ๊ณต๊ธ์
- client ์๊ฐ ๋ง์์ง๋๋ผ๋ ์๋น์ค๋ฅผ ๊ณ์ ์์ ์ ์ผ๋ก ์ด์ ๊ฐ๋ฅ (C-S ๋ชจ๋ธ์์๋ client ์๊ฐ ๋ง์์ง๋ฉด server๊ฐ ์ฒ๋ฆฌํด์ผํ๋ ์์ด ๋ง์์ ธ ์ค๋ฒํค๋ ์ฆ๊ฐํ๊ณ server ๊ฐ๋น ๋ถ๊ฐ ์ํ๊ฐ ๋๋ฉด server๋ ์ค๋จ๋จ; DDoS ๊ณต๊ฒฉ ์๋ฆฌ)
Benefits of file distribution in P2P
- C-S๊ฐ ํ์ผ ๋ฐฐํฌ ์๊ฐ์ด ๋ณด๋ค ์ ์ ์๊ฐ์ด ์์ (C-S: ์ ํ์ ์ฆ๊ฐ)
BitTorrent
tracker: torrent์ ์ฐธ์ฌ peer ์ถ์
torrent: ํ์ผ chunk๋ฅผ ๊ตํํ๋ peer ๊ทธ๋ฃน
- P2P ๋ฐฉ์์ ํ์ผ ๊ณต์ ํ๋กํ ์ฝ
- ํ์ผ์ ์ฌ๋ฌ๊ฐ์ ์กฐ๊ฐ์ผ๋ก ๋๋์ด ์๋ก ๊ณต์
Blockchain
- ๋ธ๋ก์ ํธ๋์ญ์ (๋ฐ์ดํฐ)์ ๊ธฐ๋กํ๊ณ ์ฒด์ธ ํํ๋ก ์ฐ๊ฒฐํ์ฌ ์ฌ๋ฌ ๊ณณ์ ๋ณต์ ํ์ฌ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ ์๋ณ์กฐ ๋ฐฉ์ง ๊ธฐ์
Streaming stored video
- user๋ ์๋ฒ์ ์ ์ฅ๋ ๋น๋์ค ํ์ผ ์์ฒญ
- ์๋ฒ๋ ์ธํ ๋ท์ ํตํด ๋น๋์ค ํ๋ ์(chunk) ์ ์ก
- ์ธํฐ๋ท ํ๊ฒฝ(๋๋ ์ด ๋ฑ)์ ๋ฐ๋ผ user์ ๋ฒํผ์ ๋๋ฌ ์๋ ์ผ์ ํ์ง ์์
Solution) ๋น๋์ค ๋ฐ์ดํฐ๋ฅผ ๋ฒํผ๋ง ํ ํ user๊ฐ playout
DASH (Dynamic, Adaptive Streaming over HTTP): streaming multimedia
- client๋ง๋ค ๋์ญํญ์ด ๋ค๋ฅด๊ณ ๊ฐ์ client๋ผ๋ ์๊ฐ์ ๋ฐ๋ผ ๋์ญํญ์ด ๋ฌ๋ผ์ง์๋ ๋ถ๊ตฌํ๊ณ ๋ชจ๋ client๋ ๊ฐ์ ์ธ์ฝ๋ฉ์ผ๋ก ๋ ๋น๋์ค๋ฅผ ๋ฐ์ - DASH is soution!
- ๋น๋์ค์ ๊ฐ chunk๋ ๋ค๋ฅด๊ฒ ์ธ์ฝ๋ฉ๋์ด ์ ์ฅ (different rates)
- ๊ฐ chunk๋ฅผ ์ ๊ณตํ URL์ manifest file์ด ์ ๊ณต
DASH server workflow
- ๊ฐ ๋น๋์ค๋ฅผ chunk๋ก ๋๋
- ์ฌ๋ฌ rate๋ก encdoingํ์ฌ ๊ฐ๊ฐ์ URL์ ์ ์ฅ
- ํด๋น ๋ด์ฉ์ manifest file์ ์ ์ฅํ์ฌ client ์๊ฒ ์๋ ค์ค
DASH client workflow
- server-to-client ์์ ๋์ญํญ ์ธก์
- ์์ ์ ์ํ์ ๋ฐ๋ผ ์ ์ ํ URL์ manifest์์ ์ ํํ์ฌ chunk ์์ฒญ
OTT (Over The Top)
- ๋ค๋ฅธ ๋คํธ์ํฌ ๋ง์ผ๋ก ์ฝํ ์ธ ์ก์
CDN (Content Distribution Networks)
- ์ฝํ ์ธ ์ copies๋ฅผ CDN ๋ ธ๋์ ์ ์ฅํ์ฌ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅธ ์ฝํ ์ธ ์ ๊ณต
- ๊ตฌ๋ ์๋ CDN์ ์ฝํ ์ธ ์์ฒญ
Chapter 3. Transport Layer
Part 1.
Logical communication (๋
ผ๋ฆฌ์ ํต์): appllication ๊ด์ ์์ ํ๋ก์ธ์ค๋ค์ ๋์์ํค๋ ์๋ก ๋ค๋ฅธ ์ง์ญ์ ์๋ ํธ์คํธ๋ค์ด ์ง์ ์ฐ๊ฒฐ๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋ ๊ฒ
Network Layer vs Transport Layer services and protocol
- Network Layer: ํธ์คํธ๋ค ๊ฐ์ ๋ ผ๋ฆฌ์ ํต์
- Transport Layer: ํ๋ก์ธ์ค๋ค ๊ฐ์ ๋ ผ๋ฆฌ์ ํต์
Segment: network layer์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ๋ธ๋ก
TCP vs UDP
- TCP (Transmission Contol Protocol)
- reliable; ์ ๋ขฐ์ & in-ordered ์ ์ก
- ์ฐ๊ฒฐ์งํฅ (setup ํ์)
- flow/congestion control ์ ๊ณต
- UDP (User Datagram Protocol)
- unreliable; ๋น์ ๋ขฐ์ & un-ordered ์ ์ก
- ์ฐ๊ฒฐ X (setup ํ์X)
(+) TCP, UDP packet = segment // network layer packet = datagram
Multiplexing, Demultiplexing
- Multiplexing: ์ฌ๋ฌ ์์ผ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์, transport header ์ถ๊ฐ (segment ์์ฑํ์ฌ network layer๋ก ์ ์ก)
- Demultiplexing: header์์ ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ์ฌ ์ฌ๋ฐ๋ฅธ ์์ผ์ segment ์ ๋ฌ & ์ฌ์ฉ
(+) Network packet(= datagram)์ source, destination IP ์ฃผ์๋ฅผ ๊ฐ์ง
(+) Transport packet(= segment)๋ source, destination port ๋ฒํธ๋ฅผ ๊ฐ์ง
=> ํธ์คํธ๋ IP ์ฃผ์์ port ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฐ๋ฅธ ์์ผ์ผ๋ก segment ์ ๋ฌ
Port: UDP๋ deMux์์ port ์ฃผ์๋ง ์ฌ์ฉ
4-tuple: TCP๋ deMux์์ 4๊ฐ์ง source / destination IP ์ฃผ์ & port ๋ฒํธ ์ฌ์ฉ
Connectionless: UDP sender์ receiver ์ฌ์ด์ handshaking์ ์์, ๊ฐ segment๋ค์ ๋
๋ฆฝ์ ์ผ๋ก ๋ค๋ฃธ
Why UDP?
- connectionless์ด๋ฏ๋ก ์ฐ๊ฒฐ ์ค์ ์ ํ์ง ์์ RTT ์ง์ฐ ๋ฐ์ ์์
- source port ๋ฒํธ๋ง ํ์ํ๊ธฐ ๋๋ฌธ์ header ์ฌ์ด์ฆ๊ฐ ์์
- congestion control ์ ๊ณต ์ํจ
์ฒดํฌ์ฌ (Checksum)
- ์ ์ก๋ segment์์ error detect
- 4ํ๋ ์ค 3๊ฐ์ง ํ๋์ ๊ฐ์ 16bits๋ฅผ ๋ํ ๊ฐ์ 1์ ๋ณด์๋ฅผ ์ทจํจ (3ํ๋์ ๋ํ ๊ฐ + ์ฒดํฌ์ฌ์ ๋ชจ๋ bit = 1์ด๋ฉด error X, 0 ์ด๋ฉด error)
- segment๊ฐ link ์ ๋ฌ ๋๋ ๋ผ์ฐํฐ์์ bit error ๊ฐ ๋ฐ์ํ ์๋ ์์ผ๋ฏ๋ก transport layer์์ error ๊ฒ์ฌ
Part 2.
Reliable data transfer: ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ๊ตํ์ผ๋ก ์ก/์์ ๋ฐ์ดํฐ๊ฐ error์ loss ์์ด in-ordered ์ ๋ฌ
Rdt 1.0: ์์ ํ ์์ ์ bit error ๋๋ packet loss ๊ฐ ์๋ ์ํ
Rdt 2.0: bit error ๋ฐ์ ๊ฐ๋ฅ / ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ์ํด ACKs ์ NAKs ์ฌ์ฉ
- receiver๊ฐ packet์ ๋ฐ์ผ๋ฉด ACK ์ ์ก
- receiver๊ฐ packet์ ๋ฐ์ง ๋ชปํ๋ฉด NAK ์ ์ก (sender๊ฐ NAK์ ๋ฐ์ผ๋ฉด ์ฌ์ ์ก)
- Stop-and-wait: rdt2.0์์ ๋์ ๋ ๊ฐ๋ ์ผ๋ก sender๊ฐ receiver๋ก ๋ถํฐ ACK ๋๋ NAK์ ๊ธฐ๋ค๋ฆผ
rdt2.0 ๊ฒฐํจ
- ACK ๋๋ NAK ์๋ต์ ์ค๋ฅ ๋๋ loss ๋ฐ์ ํ ์ ์์
- duplicate packet ๋ฐ์ํ ์ ์์
Rdt 2.1
- Sequence number: rdt2.0์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด packet์ ์์ ๋ฒํธ๋ฅผ ์ถ๊ฐ
- ํจํท์ ์ค๋ณต ์ฌ์ ์ก ๋ฐฉ์ง๋ฅผ ์ํจ์ด๋ฏ๋ก 0๊ณผ 1๋ก ์ถฉ๋ถ
Rdt 2.2 (NAK free)
- rdt2.1๊ณผ ๊ธฐ๋ฅ์ ์ผ๋ก ์ ์ฌํ์ง๋ง rdt2.2๋ NAK ๋์ ACK๋ง ์ฌ์ฉ
- ์ค๋ณต๋๋ ACK์ ๋ฐ์ผ๋ฉด ์ฌ์ ์กํ๋ฉด ๋๊ธฐ์ NAK ๋ถํ์
Rdt 3.0
- rdt 2.0/2.1/2.2๋ packet error ๋์ ๊ฐ๋ฅํ์ง๋ง ACK/NAK or packet loss ํด๊ฒฐ ๋ถ๊ฐ => sol. rdt 3.0
- ํจํท ์์ or loss๋ ์ ์๋ ์ฑ๋์์ ์ ๋ขฐ์ ๋ฐ์ดํฐ ์ ์ก ๊ฐ๋ฅ
- sender๋ ์ผ์ ํ ์๊ฐ๋์ ACK์ ๊ธฐ๋ค๋ฆฌ๊ณ time-out ๋ฐ์ ์ ์ฌ์ ์ก
- time-out ์ดํ ACK์ ๋ฐ์ผ๋ฉด loss๋ ์๋๊ธฐ์ ์ค๋ณต์ด ๋ฐ์ํ ์ ์์ -> sequence number๋ก ์ค๋ณต ์ ๊ฑฐ ๊ฐ๋ฅ
Pipelining
- ํ์ธ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ฌ๋ฌ ํจํท์ ์ ์กํ๋๋ก ํ์ฉ
- sequence number์ ๋ฒ์ ์ฆ๊ฐ
- S/R์ ๋ฒํผ ์กด์ฌ
- pipelined protocol: Go-Backe-N, Selective repeat
Go-Back-N
- Receiver ์ธก์์ ์์๋๋ก ๋ฐ์ง ๋ชปํ ํจํท์ด ์กด์ฌํ๋ค๋ฉด ํด๋น ํจํท๋ถํฐ ๋ค์ ์ฌ์ ์กํ๋ ๋ฐฉ์
- ํด๋น ํจํท์ด ์ฌ ๋๊น์ง ๋ค๋ฅธ ํจํท์ ๋ฐ์๋ ๋ฐ์ง ๋ชปํ ํจํท์ ๋ํ ACK ์ ์ก
- Cumulative ACK: ACK(n)์ 0~n๊น์ง์ ํจํท์ ์ ์์ ์ผ๋ก ๋ฐ์ผ๋ฉด window๋ n+1์ ์์์ง์ ์ผ๋ก ์ด๋
- ๊ฐ์ฅ ์ค๋๋ loss ํจํท์ ๋ํ์ฌ timeout์ด ์กด์ฌํ๊ณ n์ด loss๋๋ฉด n ์ดํ ์ ์ก๋ ํจํท์ ๋ฒ๋ฆผ
Selective repeat
- Receiver๋ ๊ฐ ํจํท์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ์ ์์ ์ผ๋ก ๋ฐ์ ํจํท์ ๋ํด ACK ์ ์ก
- ์์๊ฐ ๋ฐ๋ ํจํท๋ค์ ์์์์ ๋น ์ง ํจํท์ ๋ฐ์ ๋๊น์ง ๋ฒํผ์ ์ ์ฅ (GBN์ ๋ฒ๋ฆผ)
- sender๋ time-out๊ณผ ์ฌ์ ์ก์ ๊ฐ unACK ํจํท์ ๋ํด ์์ฉํ๊ณ ๊ฐ unACK ํจํท์ ๋ํด ๊ฐ๊ฐ์ ํ์ด๋จธ ์ ์ง
Selective repeat dilemma: ํ์ ๋ ํจํท ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
- Sol. sequence number ๋ฒ์ >= 2 * ์๋์ฐ ์ฌ์ด์ฆ
TCP Segment = TCP header + data
- header
- source/dest port #
- sequence number
- ack num
- header len
- congestion control
- flow control
- options
- etc..
- data
SYN (Synchronization, ๋๊ธฐํ)
- ์ฐ๊ฒฐ ์์ฒญ ํ๋๊ทธ
- TCP์์ ์ธ์ ์ ์ฑ๋ฆฝํ ๋ ๊ฐ์ฅ ๋จผ์ ๋ณด๋ด๋ ํจํท
FIN (Finish)
- ์ธ์ ์ฐ๊ฒฐ์ ์ข ๋ฃ ์ํฌ ๋ ์ฌ์ฉ
TCP fast retransmit: ํ์์์ ์๊ฐ์ด ์๋์ ์ผ๋ก ๊ธธ์ด ํ์ด๋จธ๊ฐ ์ข
๋ฃ๋๊ธฐ ์ ์ ์ค๋ณต๋ ACK์ 3๋ฒ ๋ฐ์ผ๋ฉด ๋ฐ๋ก ์ฌ์ ์ก
TCP Handshake
- S/R๋ ๋ฐ์ดํฐ ์ ์ก ์ handshake๋ฅผ ํตํด ์ํ๋ฅผ setupํ์ฌ ์ํธ์ค ๋ฒํธ ๊ฐ์ ๊ฐ์ ์ค์
- ์์ชฝ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ค๋น๊ฐ ๋์๋ค๋๊ฒ์ ๋ณด์ฅ
- agree to establish connection
2-way handshake
- C๊ฐ S๋ก connection ์์ฒญ
- S ์ฐ๊ฒฐ ESTAB
- S๊ฐ connection accept ๋ฉ์ธ์ง๋ฅผ C๋ก ์ ์ก - C ์ฐ๊ฒฐ ESTAB
๋ฌธ์ ์ .
- S๊ฐ connection accept ๋ฉ์ธ์ง๊ฐ ํ์์์ ์ดํ์ ๋์ฐฉ - ํ์์์ ์ดํ์ ์ฐ๊ฒฐ ESTAB
- C๊ฐ S๋ก ๋ค์ ๋ณด๋ธ connection ์์ฒญ์ ์ง์ฐ๋์ด ์ด๋ฏธ connection์ด ๋๋ฌ์ ๋ S ์ชฝ ESTAB - C๋ ์ฌ๋ผ์ง
3-way handshake
Closing a TCP conenction (4-way handshake)
- C/S๊ฐ ๊ฐ๊ฐ์ ์ธก์์ ์ฐ๊ฒฐ์ ๋๊ณ ์ ํ๋ค๋ฉด header์ FINbit = 1์ ํฌํจํ์ฌ segment ์ ์ก
Part 3.
Flow control: sender๊ฐ reciver์ buffer overflow ๋ฐฉ์ง๋ฅผ ์ํด ์ฌ์ฉ
- sender ๊ฐ ๋๋ฌด ๋ง์ด ๋๋ฌด ๋น ๋ฅด๊ฒ data๋ฅผ ์ ๋ฌํ์ง ์๋๋ก
Congestion control: ๋คํธ์ํฌ๊ฐ ๋ค๋ฃจ๊ธฐ์ ๋๋ฌด ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์กํ๋ source๊ฐ ๋๋ฌด ๋ง์ ๊ฒ (sender ์ต์ )
- Sender์์ loss event ๋ฐ์ํ ๊ฒ์ ๋ณด๊ณ congestion์ด ๋ฐ์ํ ๊ฒ์ ์ ์ ์์
์ข
๋จ๊ฐ ํผ์ก ์ ์ด (End-end congestion control): TCP ์ฑํ
- ๋ช ๋ฐฑํ ํผ๋๋ฐฑ ์ ๊ณต ์ํจ
- loss์ ์ง์ฐ ๊ด์ฐฐ์ ํตํด congestion ์์ธก
- RTT(์ง์ฐ)์ ๊ณ ๋ คํด ํ์์์ ์กฐ์
๋คํธ์ํฌ ์ง์ ํผ์ก ์ ์ด(Network-assistend congestion control)
- ๋คํธ์ํฌ ์์ ํผ์ก ์ํ๋ฅผ sender์๊ฒ ์ง์ ํผ๋๋ฐฑ
- ๋ผ์ฐํฐ๋ congested ๋ผ์ฐํฐ๋ฅผ ํต๊ณผํ๋ sender์ reciever์๊ฒ ํผ๋๋ฐฑ ์ ๊ณต
Congestion window(cwnd): S๊ฐ ACK์ ๋ฐ๊ธฐ ์ ์ ๋ณด๋ผ ์ ์๋ ํจํท ์ (cwnd ๊ฐ ์กฐ์ ์ด congestion control ํต์ฌ)
TCP slow start
- Sender๊ฐ window size๋ฅผ 1๋ถํฐ ํจํท ์์ค์ด ์ผ์ด๋ ๋๊น์ง ์ง์์น(exponentially)์ผ๋ก ์ฆ๊ฐ
- ์ด๊ธฐ window size = 1MSS -> ๋งค RTT๋ง๋ค 2๋ฐฐ๋ก ์ฆ๊ฐ
- ํจํท loss ๊ฐ์ง์ window size๋ฅผ 1MSS๋ก ๊ฐ์
TCP congestion avoidance
- Sender๊ฐ window size๋ฅผ 1๋ถํฐ ํจํท ์์ค์ด ์ผ์ด๋ ๋๊น์ง ์ ํ์ (linearly)์ผ๋ก ์ฆ๊ฐ
- ์ด๊ธฐ window size = 1MSS -> ๋งค RTT๋ง๋ค +1๋ก ์ฆ๊ฐ
- ํจํท loss ๊ฐ์ง์ window size๋ฅผ 1/2๋ก ๊ฐ์
AIMD (Additive Increase Multiplicative Decrease)
- Additive Increase: loss ๊ฐ์ง ์ ๊น์ง ๋งค RTT๋ง๋ค sending rate์ +1 ๋งํผ ์ฆ๊ฐ
- Multiplicative Decrease: loss ๋ฐ์ ์, sending rate์ 1/2 ๊ฐ์
TCP throughput
- window size์ RTT๋ก ๊ณ์ฐ
ECN (Explicit Congestion Notification, ๋ช
์์ ํผ์ก ์๋ฆผ)
- ํผํฉ ์ ์ด์ ํ ํํ
- IP ๋ฐ์ดํฐ๊ทธ๋จ์ header ์ค ECN bit์ ์ฌ์ฉ
- ๋ผ์ฐํฐ๊ฐ ํผ์ก ์ํ ์์ ๋ํ๋ด๊ธฐ ์ํด ์ฌ์ฉ
TCP Fairness: bandwidth๊ฐ R์ธ bottleneck ๋งํฌ๋ฅผ ์ง๋๋ k๊ฐ์ TCP ์ฐ๊ฒฐ์ ํ๊ท ์ ์ก๋ฅ R/K๋ฅผ ๋๋ฑํ๊ฒ ๊ฐ์ ธ์ผ ํจ
TLS(Transport Layer Security): ์ํธํ ๋ฐ ์ธ์ฆ์ ์ง์ํ๋ ๋ณด์ ํต์ ํ๋กํ ์ฝ
- ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ์์ ํ ์ ์ก์ ์ํด ์ด๋ฉ์ผ์ ์ํธํํ๋ ํ์ค ์ธํฐ๋ท ํ๋กํ ์ฝ
Chapter 4. Network Layer: Data Plane
Forwarding vs Routing
- forwarding: ํจํท์ ๋ผ์ฐํฐ์ input link์์ ์ ์ ํ output link๋ก ์ ๋ฌ; data plane
- routing: ํจํท์ด source -> destination์ผ๋ก ๊ฐ๋ ๊ฒฝ๋ก ๊ฒฐ์ ; control plane
Data plane vs Contol Plane
- data plane: ๋ผ์ฐํฐ์ input port์์ ๋ค์ด์จ datagram์ ์ด๋ค ๋ผ์ฐํฐ์ output port๋ก ๋ณด๋ผ ์ง ๊ฒฐ์
- control plane: source host -< dest host๋ก ์ข
๋จ ๊ฐ ๊ฒฝ๋ก์ ๋ฐ๋ผ ๋ผ์ฐํฐ ๊ฐ์ datagram์ด ์ด๋ป๊ฒ ๋ผ์ฐํธ ๋ ์ง ๊ฒฐ์
- Per-router: ๋ผ์ฐํฐ ๋ด๋ถ์ ๊ตฌํ, ์ ํต์ ์ธ ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ
- SDN(Software Defined Networking): (remote) server ์์ ๊ตฌํ
Per-router
- ๊ฐ๋ณ์ ์ธ ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๊ฐ ๋ชจ๋ ๋ผ์ฐํฐ์ ์กด์ฌ (control plane๊ณผ ์ํธ์์ฉํ์ฌ)
- ๋ผ์ฐํฐ ๋ด๋ถ์ forwarding table์ ํตํด ์ ์ ํ output link ๊ฒฐ์ (๋ผ์ฐํฐ๋ ํจํท forwarding ๊ฐ๋ฅ)
SDN (Software Defined Networking)
- remote controller๊ฐ ๋ผ์ฐํฐ๋ค์ ํฌ์๋ ํ ์ด๋ธ์ ๊ณ์ฐํ์ฌ ์ ์ก
Best-effort
Input port
Switching fabric
Output port
Destination-based forwarding
Longest perfix match
HOL
Packet scheduling: ์ด๋ค ํจํท์ ๋ค์์ ์ ์กํ ์ง ๊ฒฐ์
- FCFS (First Come First Serve)
- Priority
- RR (Round Robin)
- WFQ (Weighted Fair Queueing)
IP datagram
Subnet
- ๊ฐ๊ฐ์ host ๋๋ ๋ผ์ฐํฐ์์ interface qnsfl
- ์๋ก ๋ผ์ฐํฐ ์ฌ์ด๋ฅผ ์ง๋์ง ์๊ณ ๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ฟ์
CIDR (Cliassless InterDomain Routing)
- ํด๋์ค๊ฐ ์๋ ๋๋ฉ์ธ ๊ฐ์ ๋ผ์ฐํ ๊ธฐ๋ฒ
- ๊ฐ ๋คํธ์ํฌ ๋์ญ์ ๊ตฌ๋ถ ์ง๊ณ inter-domain ๊ณผ ๊ฐ์ด ๊ตฌ๋ถ๋ ๋คํธ์ํฌ ๊ฐ์ ํต์
DHCP (Dynamic Host COnfiguration Protocol): host๋ network์ join ์, ์์ ์ IP ์ฃผ์๋ฅผ ์ญ๋์ ์ผ๋ก ์ป์
- ์ฌ์ฉ ์ค์ธ ์ฃผ์๋ฅผ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
DHCP overview
- host๊ฐ DHCP discover message๋ฅผ broadcast ํจ
- DHCP ์๋ฒ๋ DHCP ์ง๊ณต message๋ฅผ ์ ์ก
- host ๋ IP ์ฃผ์ ์์ฒญ: DHCP ์์ฒญ message
- DHCP์๋ฒ๋ ์ฃผ์ ๋ณด๋: DHCP ACK message
Hierarchical addressing
- ๊ณ์ธต์ addressing์ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ์๋ฆฌ๊ธฐ์ ํจ๊ณผ์ ์
IPv4 vs IPv6
- IPv4: 32-bits address space
- IPv6: 128-bits address space (IPv4๋ก๋ ์ฃผ์ํ ๋น์ ๋ถ์กฑํ์ฌ ์ถ๊ฐํ์ฌ ๊ฐ๋ฐ๋จ)
(+) ํ์ง๋ง, ๊ธฐ์กด์ ๋ผ์ฐํฐ์ ๋งํฌ๋ IPv4์ ๋ง์ถ์ด ์ฌ์ฉ ์ค(๋ค update ์ด๋ ค์) IPv6์์ ํธํ์ ์ํ ํด๊ฒฐ์ฑ
์? A. NAT & Tunneling
NAT(Network Address Translation): ๋ก์ปฌ network์ ๋ชจ๋ device๋ ํ๋์ IPv4 ์ฃผ์๋ฅผ ๊ณต์
- local network๋ฅผ ๋ ๋๋ ๋ชจ๋ datagram์ ๊ฐ์ source NAT IP ์ฃผ์๋ฅผ ๊ฐ์ง but ๋ค๋ฅธ port ๋ฒํธ๋ฅผ ๊ฐ์ง
Tunneling
- ๋ชจ๋ ๋ผ์ฐํฐ๊ฐ IPv6๋ฅผ ์ง์ํ๊ฒ ๋์์ ๋ค update๋ ์ด๋ ต๊ธฐ์ IPv6 datagram์ด IPv4์ payload๊ฐ ๋์ด ์ ๋ฌ (IPv4 ๋ผ์ฐํฐ์์๋ง)
Generalized forwarding: match plus action
- ์ด๋ค ๊ณ์ธต์์๋ ๋์ฐฉํ ํจํท header์ match bit๋ก ์ ์ ํ ํ๋์ ์ทจํ ์ ์์
- destination-based forwarding: dest. IP ์ฃผ์ ๊ธฐ๋ฐ์ผ๋ก forwarding
- generalized forwarding(SDN): ๋ง์ ํค๋ ํ๋์์ ์ ์ ํ ํ๋์ ์ ํ ์ ์์ / match, action, priority, counters
OpenFlow: SDN ๊ตฌํ์ ์ํด ์ฒ์์ผ๋ก ์ ์ ๋ ํ์ค ์ธํฐํ์ด์ค
Chapter 5. Network Layer: Control Plane
Part 1.
Routing Protocols: src host -> dest host๊น์ง ๋ผ์ฐํฐ๋ฅผ ํตํด ์ข์ ๊ฒฝ๋ก(์ ์ ๋น์ฉ, ๋น ๋ฆ, ๋ฎ์ ํผ์ก๋)๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ
- ๋ผ์ฐํ
์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ
- ์ค์ํ(link state) vs ํ์ค์ํ(distance vector)
- ์ ์ (๊ฒฝ๋ก๊ฐ ๋๋ฆฌ๊ฒ ๋ณํจ) vs ๋์ (์ฃผ๊ธฐ์ ๋๋ link ๋น์ฉ ๋ณํ์ ๋ฐ๋ผ ๋ณํจ)
Forwarding table: input link์์ ๋ฐ์ ํจํท์ ์ด๋ค output link๋ก ๋ด๋ณด๋ผ ๊ฒ์ธ์ง ๊ฒฐ์ ํ ์ ์๋ ํ
์ด๋ธ (์
์ถ๋ ฅ port ์ฐ๊ฒฐ ํ
์ด๋ธ)
Routing table: forwarding table ๋ฐ ์ต์ ๋ผ์ฐํ
์ ๋ณด๋ฅผ ๋ชจ๋ ๋ํ๋ธ ํ ํ
์ด๋ธ (์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ์ ํํ์ฌ ํจํท์ ๋ค์ ๋ผ์ฐํฐ๋ก ์ ๋ฌ)
Link state algorithms
- ๋คํธ์ํฌ ํ ํด๋ก์ง์ link ๋น์ฉ์ ๊ดํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ ธ๋๊ฐ ์๊ณ ์์ (์ค์ํ)
- link state broadcast๋ฅผ ํตํด ์ ๋ณด ๊ณต์ ์๋ฃ
- Dijkstra's algorithms (Greedy): ํ๋์ src ๋
ธ๋์์ ๋ชจ๋ dest ๋
ธ๋๋ก์ ๊ฐ์ฅ ์์ cost ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ์ฌ ํด๋น ๋
ธ๋์ forwarding table์ ์ ๊ณต
- ์ง๋ ๋ฌธ์ (Oscillation possible): link ๋น์ฉ์ด ํธ๋ํฝ ์์ ์์กด ํ๋ฉด ๊ฒฝ๋ก ์ง๋ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ - sol. ๋ชจ๋ ๋ผ์ฐํฐ๊ฐ ๋์์ LS ์๊ณ ๋ฆฌ์ฆ ์ํ X
Distance vector algorithms
- ์ ์ฒด ๋คํธ์ํฌ์ ํ ํด๋ก์ง๋ ์์ง ๋ชปํ๊ณ , ๋ณธ์ธ์ด ๊ฐ์ง ์ ๋ณด์ ์ด์ ๋ผ์ฐํฐ์ ๊ฐฑ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ต์ ๋น์ฉ ๊ณ์ฐ
- ๊ฒฝ๋ก ๋น์ฉ์ ๋ณํ๊ฐ ์์ ๊ฒฝ์ฐ, ์ด์์๊ฒ ์๋ก์ด ๊ฑฐ๋ฆฌ ๋น์ฉ์ด ๋ด๊ธด ๋ฒกํฐ๋ฅผ ๋ณด๋ด๋ฉฐ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธ
- ๋น๋๊ธฐ์ ์ด๊ณ ๋ฐ๋ณต์ ์ผ๋ก ๋ณํ๊ฐ ์์ ๋๊น์ง ์ํ (iteraitve, asynchronous, self-stopping)
- Bellman-Ford (Dynamic Programming)
Part 2.
๊ด๋ฆฌ ์์จ์ฑ (Administrative autonomy): ๊ฐ ๋คํธ์ํฌ ๊ด๋ฆฌ์๋ ์์ ์ ๋คํธ์ํฌ์์ ๋ผ์ฐํ
์ ์ ์ดํ๊ธธ ์ํจ
-> sol. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ์ธตํ๋ ๋ผ์ฐํ ์ฌ์ฉ, ๋ผ์ฐํฐ๋ค์ ์์ญ์ผ๋ก ๊ทธ๋ฃนํ ํ ๊ฒ์ผ๋ก ํ์ฅ์ฑ ๋ฌธ์ ํด๊ฒฐ
์์น ์์คํ
(Autonomous systems ,AS): ๋ผ์ฐํฐ๋ค์ ๊ทธ๋ฃนํํ์ฌ ๋๋์ด ๋์ ๊ฒ
- AS ๋ด์์ ๊ฐ ๋ผ์ฐํฐ๋ค์ AS ๋ด์ ์ ์ฒด ์ ๋ณด์ ๋ํด ์์ ์ ์ด์ํ ๋ผ์ฐํฐ๋ค๋ผ์ง ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๋ณด ๊ณต์
(+) Hop(ํ): ๋ผ์ฐํฐ์ ๋ผ์ฐํฐ ์ฌ์ด์ Link
Infra-AS vs Inter-AS
Infra-AS
- ๊ฐ์ AS ๋ด๋ถ์์ ๋ผ์ฐํ
- AS ๋ด๋ถ์ ๋ชจ๋ ๋ผ์ฐํฐ๋ค์ ๊ฐ์ intra-domain protocol ์ฌ์ฉ
- Gateway router: AS์ edge์ ์กด์ฌํ๋ ๋ผ์ฐํฐ๋ก ๋ค๋ฅธ ASs์ ์ฐ๊ฒฐ๋ link ์กด์ฌ
Inter-AS
- ์๋ก ๋ค๋ฅธ ASs ์ฌ์ด์ ๋ผ์ฐํ
- Gate way๋ inter-domain ๋ผ์ฐํ ์ ์ํ
Inter-AS routing: intra-domain forwarding ์ญํ
- AS1์ inter routing์ ๋ฐ๋์
- AS2๋ฅผ ํตํด AS3๋ฅผ ํตํด ์ด๋ค destination์ reachable ํ์ง ์์์ผ ํจ
- reachability ์ ๋ณด๋ฅผ AS1์ ๋ชจ๋ ๋ผ์ฐํฐ๋ค์ ์์ด์ผ ํจ
Intra-AS routing: AS ๋ด๋ถ ๋ผ์ฐํ
- RIP (Routing Information Protocol)
- classic DV(Distance Vector): DV๋ค์ ๋งค 30์ด๋ง๋ค ๊ตํ
- ๋ ์ด์ ๋๋ฆฌ ์ฌ์ฉX
- EIGRP (Enhanced Interior Gateway Routing Protocol)
- DV ๊ธฐ๋ฐ
- ์์ญ๋ ๊ฐ CISCO ์์ ์๋ค open
- OSPF (Open Shortest Path First)
- Link State ๋ผ์ฐํ
- IS-IS protocol (ISO์ ํ์คํ)
- link state๋ฅผ floodingํ๊ณ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ link state ์๊ณ ๋ฆฌ์ฆ
Hierarchinal OSPF (๊ณ์ธต์ OSPF)
- 2 level ๊ณ์ธต: local area & backbone
- link-state advertisement๋ local area์ backbone์๋ง flood
BGP (Border Gateway Protocol): inter AS ๋ผ์ฐํ protocol / subnet์ ์กด์ฌ์ reachability ์ ๋ณด๋ฅผ ์๋ ค ๋๋จธ์ง๊ฐ ํด๋น subnet์ ์กด์ฌ๋ฅผ ์๊ฒ ๋จ
- eBGP (external BGP): ์ด์ AS๋ค์์ subnet์ reachability ์ ๋ณด๋ฅผ ์ป์ ์ ์์
- iBGP (internal BGP): ๋ชจ๋ AS ๋ด๋ถ ๋ผ์ฐํฐ๋ค์๊ฒ reachability ์ ๋ณด ์ ๋ฌ
- reachability ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก good path ์ ํ ์ ์์
BGP session: ๋๊ฐ์ BGP๋ ๋ฐ์๊ตฌ์ TCP ์ฐ๊ฒฐ์ ํตํด BGP message ๊ตํ
Policy-based routing
- Gateway receiving ๊ฒฝ๋ก advertisement๋ import policy๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒฝ๋ก๋ฅผ ์ ํจ
- AS policy๋ ๋ค๋ฅธ ์ด์ AS๋ค์๊ฒ ์ธ์ ๊ฒฝ๋ก๋ฅผ advertise ํ ์ง ๊ฒฐ์
BGP path advertisement
Hot potato routing: intra link ๋น์ฉ ๊ณ ๋ ค
- ๊ฐ์ฅ ์ ์ intra-AS(= intre-domain) ๋น์ฉ์ ๊ฐ์ง๋ local gateway ์ ํ (inter-AS ๋น์ฉ ๊ณ ๋ คX)
- ex. 2d๋ link ๋น์ฉ์ด ์ ์ 2a ์ ํ
SDN (Software Defined Networking): remote controller๊ฐ forwarding table์ ๊ณ์ฐํ์ฌ ๋ผ์ฐํฐ์ ์ค
- control plane์ ๋ ผ๋ฆฌ์ ์ค์ํ
- ๋ผ์ฐํฐ์ misconfiguration์ ํผํจ
- ํ ์ด๋ธ ๊ธฐ๋ฐ forwarding์ programming router ํ์ฉ
(+) remote controller๋ ๋คํธ์ํฌ์ ๋ชจ๋ ์ ๋ณด ์์ง
๋๋ณด๊ธฐ
Traffic engineering
OpenFlow protocol
ICMP (Internet Control Message Protocol)
- ๋คํธ์ํฌ ๋๋ฐ์ด์ค์์ ๋คํธ์ํฌ ํต์ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋๋ฐ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ๊ณ์ธต ํ๋กํ ์ฝ (TCP/IP์์ IP ํจํท์ ์ฒ๋ฆฌํ ๋ ๋ฐ์๋๋ ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ๋ ํ๋กํ ์ฝ)
- ๋ฐ์ดํฐ๊ฐ ์๋ํ ๋ชฉ์ ์ง์ ์ ์์ ๋๋ฌํ๋์ง ์ฌ๋ถ ํ์ธ์ ์ฌ์ฉ
SNMP(Simple Network Management Protocol): ์ธ์คํ
๋๋ ๋คํธ์ํฌ ๊ด๋ฆฌ์๋ก ํ์ฌ๊ธ ์๊ฒฉ์ผ๋ก ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํ๊ฒฝ์ค์ ๋ฑ์ ์ด์์ ํ ์ ์๋ ๋คํธ์ํฌ ๊ด๋ฆฌ ํ๋กํ ์ฝ
MIB(Management Information Base): ๋คํธ์ํฌ ์ฅ๋น๋ค์ ํน์ ํ ๊ฐ์ ํตํด ๊ด๋ฆฌํ๋๋ฐ ์ด๋ฐ ํน์ ์ ๋ณด ๋๋ ์์์ ์งํฉ
Chapter 6. The Link Layer and LANs
Link Layer: datagram์ ํ๋์ ๋
ธ๋์์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ธ์ ํ ๋
ธ๋๋ก link๋ฅผ ํตํด ์ ๋ฌ
Frame
- datagram์ header๋ฅผ ์ถ๊ฐํ์ฌ frame์ encapsulate
- frame header์๋ MAC ์ฃผ์ ์กด์ฌ
Half duplex vs Full duplex
- duplex: ์ข ๋จ ๊ฐ ํต์ ์์ ์์ชฝ ์ด๋ ๋ฐฉํฅ์ผ๋ก๋ ํต์ ๊ฐ๋ฅํ๊ณ ๋์์ ํต์ ๊ฐ๋ฅ
- ๋ฐ์ด์ค ์ ์ก๋ฐฉ์(half duplex): ์๋ฐฉํฅ ํต์ ์ด ๊ฐ๋ฅํ์ง๋ง ํ ๋ฒ์ ํ๋์ ์ ์ก๋ง ์ด๋ฃจ์ด ์ง
- ์ ์ด์ค ์ ์ก๋ฐฉ์(full duplex): ๋ฐ์ดํฐ๋ฅผ ์๋ฐฉํฅ์ผ๋ก ๋์์ ์ก์์ ๊ฐ๋ฅ
NIC (Network Interface Card, HW): ์ปดํจํฐ ๋ฐ ๊ธฐ๊ธฐ๊ฐ ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋๊ฒ๋ ๋์์ฃผ๋ ๋ถํ
- link layer๋ NIC ๋๋ Chip์ ๊ตฌํ๋์ด ์์ (+) link layer๋ ๋ชจ๋ ํธ์คํธ์ ๊ตฌํ๋์ด ์์
- ๋งํฌ ๊ณ์ธต ์๋น์ค ์ ๊ณต
Multiple access protocol
- node๊ฐ ์ฑ๋์ ๊ณต์ ํ๋ ๊ฒ์ ์ ํด์ฃผ๋ ๋ถ์ฐ ์๊ณ ๋ฆฌ์ฆ (๋ ธ๋๊ฐ ์ธ์ ์ ์ก๊ฐ๋ฅํ์ง ๊ฒฐ์ )
- ์ฑ๋ ๊ณต์ ์ ๋ํ ํต์ ์ ์ฑ๋ ์์ฒด๋ฅผ ์ฌ์ฉํด์ผ ํจ
- Node์ ์ํ 2 ์ด์์ ๋์ ์ ์ก: interference(๊ฐ์ญ)
- Collision(์ถฉ๋): ๋ ธ๋๊ฐ ๋์์ ๋ ๊ฐ ์ด์์ ์ ํธ๋ฅผ ์์ ํ๋ ๊ฒฝ์ฐ
CSMA/CD (Carrier Sense Multiple Access/Collision Detection)
- link layer์ multiple access protocol ์ค random access protocol
- Collision Detection์ด ๊ฐ๋ฅํ CSMA
- CSMA์ด๊ธฐ ๋๋ฌธ์ channel์ด ์ฌ์ฉ ์ค์ด๋ฉด ์ ์ก ์ค์ง
- ์ ์ก ๋์ค์ collision ๊ฐ์งํ์ฌ ์ถฉ๋ ์ ์ ์ก ์ค๋จ ํ ํน์ ์๊ฐ ํ์ ์ ์ก
ALOHA
- link layer์ multiple access protocol ์ค random access protocol
- pure ALOHA: ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ณ ACK ์ ํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋๋ฐ ์ด๋ฅผ ๋ฐ์ง ๋ชปํ๋ฉด ๋๊ธฐ์๊ฐ ์ดํ์ ์ฌ์ ์ก
- slotted ALOHA: Pure ALOHA protocol ๋ฐฉ์์ ๋๋ฌด ๋์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ ๋๋ฌธ์ ๊ณ ์๋ ํ๋กํ ์ฝ ๋ฐฉ์
- ๋ ธ๋๊ฐ new frame์ ์ป์ผ๋ฉด, ๋ค์ slot์์ ์ ์ก
- Collision ์กด์ฌX: ๋ ธ๋๊ฐ ๋ค์ slot์์ ์ frame ์ ์ก ๊ฐ๋ฅ
- Collision ์กด์ฌ: ๋ ธ๋๋ ์ฑ๊ณต์๊น์ง ํ๋ฅ p์ ํจ๊ป subsequent slot์์ frame ์ฌ์ ์ก
MAC address (Media Access Control address): ๋ฌผ๋ฆฌ์ ๋คํธ์ํฌ ์ฃผ์
- 32-bit IP ์ฃผ์๋ก ์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ํ๊ธฐ ์ํ ์ปดํจํฐ์ ๋ฌผ๋ฆฌ์ ์ฃผ์
- ์ธํฐํ์ด์ค๋ฅผ ์ํ ๋คํธ์ํฌ ๊ณ์ธต ์ฃผ์๋ก layer3(network ๊ณ์ธต) forwarding์ ์ํด ์ฌ์ฉ
- ์ ๋ IP์ ํน์ง์ผ๋ก IP ์์ฒด๊ฐ ๋ณ๋ ๋ ์๋ ์๊ธฐ์ HW์ ๊ณ ์ ์ฃผ์๊ฐ ํ์ํจ
(+) MAC ์ฃผ์ = ์ฃผ๋ฏผ ๋ฒํธ: ๋ฐ๋์ง ์์ / IP ์ฃผ์ = ๊ฐ์ธ ์ง์ญ ๋ฒํธ: (์ด์ฃผํ๋ฉด) ๋ฐ๋
ARP table (Address Resolution Protocol): ์ธํฐํ์ด์ค์ MAC ์ฃผ์ ๊ฒฐ์ ํด์ค
- IP ์ฃผ์์ MAC ์ฃผ์๋ฅผ 1:1 ๋์ํ์ฌ ํ ์ด๋ธ๋ก ์ ๋ฆฌํ๊ณ ๋ชฉ์ ์ง IP ์ฃผ์์ ๋ง๋ ๋ชฉ์ ์ง MAC ์ฃผ์๋ก ์ ๋ฌ
TTL(Time To Live): ํน์ ์ฃผ์ mapping์ด ์ฌ๋ผ์ง์ง ์๊ณ ์ ์ง๋๋ ์๊ฐ
Ethernet: ๋ก์ปฌ ํ๊ฒฝ์ ์ปดํจํฐ๋ฅผ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ํต์ ํ์ค
- connetionless: sending NIC์ receive NIC ์ฌ์ด์ handshake X
- unreliable: receive NIC๊ฐ ACK or NAK์ send NIC์ ์ ์ก X
- ์ด๊ธฐ์๋ ๋์ถ ์ผ์ด๋ธ์ ์ด์ฉํ์ฌ ๋ฒ์คํ์ผ๋ก ๋คํธ์ํฌ ๊ตฌ์ฑ
- ํ์ฌ๋ CSMA/CD ๊ธฐ์ ์ ํ์ค์ผ๋ก ์ฑํ
Bus
Swithched:
Ethernet frame
Switch: link layer ๋๋ฐ์ด์ค
- ์ด๋๋ท frame์ store & forward
- ๋คํธ์ํฌ(์ฃผ๋ก LAN; Local Area Network ๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง) ๋ด์ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๊ณ ํด๋น ์ฅ์น์ ๋ฐ์ดํฐ ์ก์์
- ๋ผ์ฐํฐ์ ๋ฌ๋ฆฌ ์ค์์น๋ ์๋๋ ๋จ์ผ ์ฅ์น๋ก๋ง ๋ฐ์ดํฐ ์ ์ก
- ํ๋ธ๋ณด๋ค ์ ์ก ์๋ ๋น ๋ฆ
(+) ๋ผ์ฐํฐ vs ์ค์์น
- ๋ ๋ค store and forward
- ๋ผ์ฐํฐ: 3๊ณ์ธต(network layer)
- ์ค์์น: 2๊ณ์ธต(link layer)
- ๋ ๋ค forwarding table ๊ฐ์ง
- ๋ผ์ฐํฐ: ๋ผ์ฐํ ์๊ณ ๋ฆฌ๋ฌ์ ์ฌ์ฉํ์ฌ table ๊ณ์ฐํ๊ณ IP ์ฃผ์ ์ฌ์ฉ
- ์ค์์น: flodding๊ณผ self-learning์ ์ฌ์ฉํ์ฌ table ๊ณ์ฐ, MAC ์ฃผ์ ์ฌ์ฉ
- ๊ธฐ๊ธฐ๋ ์ค์์น๋ฅผ ํตํด ๋ก์ปฌ๋ก ์ฐ๊ฒฐ, ๋คํธ์ํฌ๋ ๋ผ์ฐํฐ๋ฅผ ํตํด ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ
Transparent switch: host๋ ์ค์์น์ ์กด์ฌ๋ฅผ ๋ชจ๋ฆ
Self-learning: ์ด๋ค interface๋ฅผ ํตํด dest๋ก reachableํ์ง ์ค์ค๋ก ํ์ตํจ
- frame์ ๋ฐ์ผ๋ฉฐ ์ค์์น๋ sender์ ์์น๋ฅผ ๋ฐฐ์ -> switch table์ ์ ์ฅ
Switch table: sender์ ์์น ์ ๋ณด๋ฅผ ๊ธฐ๋ก
- ์ค์์น์ ํฌํธ ๋ฒํธ์ ํด๋น ํฌํธ์ ์ฐ๊ฒฐ๋์ด ์๋ ์ปดํจํฐ์ MAC ์ฃผ์๋ฅผ mappingํ์ฌ ์ ์ฅ
Flood: ์ป์ ์ ๋ณด๋ฅผ ๋ฐ์ interface๋ฅผ ์ ์ธํ๊ณ ๋๋จธ์ง interface์ forward
Network์์ checksum์ ์ํด ์ฌ์ฉํ๋ hash function๊ณผ security์์ data integrity๋ฅผ ์ํด ์ฌ์ฉํ๋ hash function์ด ์๋ก interchangableํด์?
A. ํด์ ํจ์๋ ๋คํธ์ํน์์๋ ์ฒดํฌ์ฌ์ ์ํด ์ฌ์ฉ๋๊ณ ๋ณด์์์๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ค์ ์๋ก ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง๋ฉฐ ์๋ก ๊ต์ฒดํ ์ ์์ต๋๋ค.
'๐ฉ๐ปโ๐ป > Keyword ์ ๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ปดํจํฐ ๋ณด์ CH1 ~ 4 ํค์๋ ์ ๋ฆฌ (1) | 2023.12.02 |
---|---|
IoT ์ค์ต ํค์๋ ์ ๋ฆฌ (0) | 2023.08.11 |
์ด์์ฒด์ ํค์๋ ์ ๋ฆฌ (0) | 2023.08.06 |
์๊ณ ๋ฆฌ๋ฌ ํค์๋ ์ ๋ฆฌ (0) | 2023.07.26 |
Computer Structure ํค์๋ ์ ๋ฆฌ (0) | 2023.07.18 |