득이공간

[컴퓨터 네트워크] 1장. Computer Networks and the Internet 본문

CS/네트워크

[컴퓨터 네트워크] 1장. Computer Networks and the Internet

쟁득 2024. 2. 26. 20:12
해당 게시물은 김정근 교수님의 '컴퓨터 네트워크' 강의를 수강하며
학습한 내용을 개인적으로 정리한 글입니다.

📌 목차 - 1장. Computer Networks and the Internet

1-1. What is the Internet?
1-2. What is a protocol?
1-3. Network edge: hosts, access network, physical media
1-4. Network core: packet/circuit switching, internet structure
1-5. Performance: loss, delay, throughput
1-6. Protocol layers, service models


📌 1-1. What is the Internet?

* Host (= end systema, "edge")
- 데이터 생성, 송수신하는 통신 디바이스

* Packet Switch (= router)
- 패킷을 목적지에 도달하도록 넘겨주는 기기

* Communication Link
- fiber, copper, radio, satellite
- Bandwidth(transmission rate): 대역폭, 단위시간 당 전송률

* Network
- Collection of devices, routers, links: managed by an organization


📌 1-2. What is a protocol?

* Protocol
- 실질적으로 HW를 동작하도록 구성된 SW. 통신하는데 필요한 규약
- 메시지의 포맷, 순서, 메시지를 주고받을 때 어떤 액션을 취해야 하는지.

* Internet standard
- RFC(Request for Comments)
- IETF(Internet Engineering Task Force)

* Infrastructure
- Web, Streaming video ..


📌 1-3. Network edge: hosts, access network, physical media

* Network Edge
- hosts: clients and servers
- servers often in data centers

* Host: sends packets of data
- packet transmission delay = time needed to transmit L-bit packet into link = L(bits)/R(bits/sec)
- R: link transmission rate

* Access networks, physical media
- wired, wireless communication links

* Wireless access networks
- Wireless local area networks (WLANs)
- Wide-area cellular access networks

* Links: physical media
- guided media(유선): copper, fiber, coax / often point-to-point
- Twisted Pair(TP)
- Coaxial cable
- Fiber optic cable
- unguided media(무선): radio / often broadcast and "half-duplex"
- terrestrial microwave
- Wireless LAN (WiFi)
- wide-area (Cellular)
- satellite

* 통신 방법
- 단방향 통신 simplex
- 양방향 통신 full-duplex
- 한 시점에서 단방향 통신 half-duplex

* Downstream / Upstream
- 24~52 Mbps dedicated downstream transmission rate
- 3.5~16 Mbps dedicated upstream transmission rate
- 보통 데이터를 받는 쪽으로 소비를 많이 하기 때문에 upstream보다 downstream의 Bandwidth가 더 크다.


📌 1-4. Network core: packet/circuit switching, internet structure

* Network core
- interconnected routers
- network of network

* Packet-switching: store-and-forward
- Transmission delay
- Store and forward
- End-end delay(첫 패킷 송신시작시각 ~ 마지막 패킷 수신종료시각)

* Network core functions
- Routing (global action)
- 패킷이 출발지부터 목적지까지 도달하게 하는 것
- 매우 많은 Routing 프로토콜이 존재한다.
- Forwarding (local action)
- 패킷이 라우터에 도착했을 때 어떤 출력 링크로 나갈지 정하는 작업

* Internet: 데이터망
- Packet Switching: 데이터를 패킷 단위로 쪼개서 스위칭한다.

* PSTN (Public Switched Telephone Network): 전화망
- Circuit Switching: 하나의 채널(서킷, 링크)을 제공하고 채널 단위로 스위칭한다.
- 모든 채널의 예약을 끝낸 다음에 데이터 전송이 이뤄진다.
- 성능 척도: 요청한 call이 service가 됐는지, block 됐는지에 따라 결정된다. (Call Blocking Rate)
- no sharing 특징 때문에 사용하지 않는 링크의 낭비가 존재하므로 packet switching에 비해 효율이 많이 떨어진다.

* Multiplexing
- 저속의 data stream이 여러개가 모여서 하나의 고속의 data stream을 만드는 것

* Netwrok Taxonomy
- Packet Switching (Statistical Multiplexing)
- Datagram
- Virtual Circuit
- Circuit Switching
- FDM(Frequency Division Multiplexing): 하나의 링크 안에서 주파수 단위로 여러개의 서킷을 할당한다. (예전)
- TDM(Time Division Multiplexing): 정해진 시간동안에 모든 주파수를 사용하도록 서킷을 할당한다. (요즘)

* Switch가 필요한 이유
- Switch의 존재 유무에 따라 복잡도의 차이가 크다.

* Packet switching vs Circuit switching
- 1Gbps, 100 Mbps when "active", active 10% of time
- circuit: 10 users, packet: 35 users (0.0004)
- "bursty" data 전송 패턴에서는 Packet switching의 효율이 극대화된다. (resource sharing)
- 하지만 혼잡한 환경에서는 Packet switching에서 queueing delay와 packet drop이 발생한다.

* ISPs (Internet Service Providers)
- access network들을 연결해준다.
- global ISP / regional ISP

* IXP (Internet exchange point)
- ISP들을 연결해준다.

* Content Provider Networks
- 빅 테크의 단독망. google, microsoft, akamai


📌 1-5. Performance: loss, delay, throughput

* Packet-switching: queueing delay, loss
- 입력 패킷 용량 속도가 출력 패킷 용량 속도보다 더 많을 때 발생한다.
- queueing delay가 극단으로 치닫게 되면 늦게 들어온 패킷들은 packet drop된다.

* Performance: loss, delay, throughput
- arrival rate = 도착한 패킷 수 / 시간당

* Packet loss
- arrival rate to link (temporarily) exceeds output link capacity
- router 속의 queue에 packet들이 build up 되다가 size를 넘어서면 drop된다.
- drop된 packet은 재전송되거나 아예 무시될 수 있다.

* Packet delay
- nodal = proc + queue + trans + prop
- nodal(nodal processing): 라우터 하나에 걸리는 delay, 각 라우터의 nodal delay를 더하면 end-to-end delay가 된다.
- proc(processing delay)
- queue(queueing delay): 다른 애들에 비해 랜덤하다.
- trans(transmission delay): L(패킷길이) / R(링크속도)
- prop(propagation delay): d(거리) / s(전파속도)

* Traceroute program
- provides delay measurement from source to router along end-end Internet path towards destination.

* Throughput
- rate (bits/time unit) at which bits are being sent from sender to receiver
- instantaneous / average
- bottleneck link (병목 현상 발생 링크): link on end-end path that constrains end-end throughput, 결국 throughput이 가장 작은 link의 양만큼 end-end path의 throughput이 결정된다.
- overprovisioned: 과다하게 준비된 throughput의 양


📌 1-6. Protocol layers, service models

* Protocol layers
- 복잡한 하나의 시스템을 block 단위로 묶어서 구성한다. (modularization, 모듈화)
- Layer라는 block이 수직관계로 쌓여서 위의 layer는 아래의 layer에게 서비스를 받는 형태로 동작한다. (layering)

* Application Layer (message)
- IMAP, SMTP, HTTP

* Transport Layer (segment)
- Process to Process data delivery
- TCP, UDP

* Network Layer (datagram/packet)
- Host to Host data delivery
- IP, routing protocols

* Link Layer (frame)
- Ethernet, 802.11(WiFi), PPP

* Physical Layer (bit)
- bits "on the wire"

* Encapsulation
- 하위 계층의 layer에서는 packet이 편지봉투에 담긴 채로 이동하고 상위 계층에서 packet을 확인할 때는 decapsulation이 이뤄진다.