๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/Keyword ์ •๋ฆฌ

Computer Networks ํ‚ค์›Œ๋“œ ์ •๋ฆฌ

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

  1. Client ์ธก์—์„œ DNS ์‹œ์ž‘
  2. ๋ธŒ๋ผ์šฐ์ €๋Š” URL์—์„œ hostname์„ ์ถ”์ถœํ•˜์—ฌ DNS client์— hostname ์ „๋‹ฌ
  3. hostname์„ ๋ฐ›์€ Client๋Š” DNS server๋กœ hostname ์ „์†ก
  4. DNS cleint๋Š” DNS server์˜ response(hostname์— ๋งค์นญ๋˜๋Š” IP์ฃผ์†Œ)๋ฅผ receive
  5. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ 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

  1. user๋Š” ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋น„๋””์˜ค ํŒŒ์ผ ์š”์ฒญ
  2. ์„œ๋ฒ„๋Š” ์ธํ…Œ๋„ท์„ ํ†ตํ•ด ๋น„๋””์˜ค ํ”„๋ ˆ์ž„(chunk) ์ „์†ก
  3. ์ธํ„ฐ๋„ท ํ™˜๊ฒฝ(๋”œ๋ ˆ์ด ๋“ฑ)์— ๋”ฐ๋ผ 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

  1. ๊ฐ ๋น„๋””์˜ค๋ฅผ chunk๋กœ ๋‚˜๋ˆ”
  2. ์—ฌ๋Ÿฌ rate๋กœ encdoingํ•˜์—ฌ ๊ฐ๊ฐ์˜ URL์— ์ €์žฅ
  3. ํ•ด๋‹น ๋‚ด์šฉ์„ manifest file์— ์ €์žฅํ•˜์—ฌ client ์—๊ฒŒ ์•Œ๋ ค์คŒ

DASH client workflow

  1. server-to-client ์ˆ˜์‹  ๋Œ€์—ญํญ ์ธก์ •
  2. ์ž์‹ ์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ 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

  1. C๊ฐ€ S๋กœ connection ์š”์ฒญ
  2. S ์—ฐ๊ฒฐ ESTAB
  3. 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

  1. host๊ฐ€ DHCP discover message๋ฅผ broadcast ํ•จ
  2. DHCP ์„œ๋ฒ„๋Š” DHCP ์ง€๊ณต message๋ฅผ ์ „์†ก
  3. host ๋Š” IP ์ฃผ์†Œ ์š”์ฒญ: DHCP ์š”์ฒญ message
  4. 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. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๋„คํŠธ์›Œํ‚น์—์„œ๋Š” ์ฒดํฌ์„ฌ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ณ  ๋ณด์•ˆ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง€๋ฉฐ ์„œ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.