Network structure
1. network edge
- applications and hosts
- 데스크탑, 웹 브라우저 등
2. network core
- routers
- network of networks
- communicaton links (서로 연결해주는 links)
The network edge
1. end systems (hosts)
- run application programs
- web, email 등
2. client/server model
- client : 자기가 원할 때 link 연결해서 server에서 정보를 가져옴
- server : 항시 24시간 연결되어 있으며 clinet의 요청을 기다림
- web browser/server 등
3. peer-peer model
데이터 통신 서비스
1. TCP service
1) reliable, in-order byte stream data transfer
- reliable : 신뢰성 o
- in-order : 순서 그대로 지키면서 서버까지 도달
2) flow control
- sender->receiver 전송 속도를 알맞게 조절
- receiver의 속도에 맞춰 전송 속도를 조절
3) congestion control
- network 능력치에 맞춰 보냄
- network가 혼잡하면 전송 속도가 느려짐
2. UDP - User Datagram Protocol
- connectionless (connection 없음)
- unreliable data transfer
- no flow control
- no congestion control
-> 아무것도 안해줌, 데이터가 유실될 수 있음
UDP 쓸 이유가 있나?
reliable 해야 하면 TCP 사용, reliable 하지 않아도 괜찮으면 UDP 사용함. 예를 들면 음성 통화, 보이스는 유실되어도 상관 없음
TCP는 비용(네트워크 리소스)이 든다.
Protocol
- 중요한 메세지를 주고 받기 위한 약속
- 데이터 통신을 원활하게 하기 위해 필요한 통신 규약
The Network Core
- router들이 목적지까지 데이터를 전달해줌
- router들의 집합
데이터 전달 방식
1. circuit switching
- 출발지에서 목적지까지 가는 길을 미리 예약해놓고 특정 사용자만 사용하게 만들어놓은 것
- eg) 옛날 유선 전화망
2. packet switching
- 사용자가 보내는 packet을 packet 단위로 받아서 올바른 방향으로 전송해주는 것
- 들어온 순서대로 나감
- eg) 인터넷
circuit switching vs packet switching
- circuit switching은 10명, packet switching은 제약이 x
- 인터넷 동시에 사용하지 않을 확률이 높기 때문에 packet switching을 이용하면 더 많은 사람이 사용할 수 있음
- 만약 동시에 몰리면 문제 생길 수 있음
Packet delay
1) Processing delay
packet 검사, 목적지 확인
2) Queueing delay
- buffer, queue : 나가는 속도보다 들어오는 속도가 높을 경우 잠시 저장하기 위해 사용
- queue에서 기다리는 시간
3) Transmission delay
- queue에서 나갈때 첫번째 bit가 나가는 순간부터 마지막 bit가 나갈때까지 걸리는 시간
- packet length(bits)/link bandwidth(bps)
4) Propagation delay
- 마지막 비트가 link에 올라와서 다음 router에 도달할 때까지 걸리는 시간
Packet delay 줄이는 방법
1) Processing delay - router 성능 개선
2) Transmission delay - bandwidth 늘리기
3) Queueing delay
- 사람들의 사용 패턴이므로 조절 불가
- packet 쌓이다가 queue 용량이 넘치면 유실 발생
reliable한 TCP는 어떻게?
A -> router1 -> router2 -> router3 -> B
- A가 재전송해줌
- router는 단순 작업에 극대화된 dumb core이기 때문