[ch1] 3. network core - packet switching, circuit switching, network structure
The network core
- 서로 연결된 라우터들의 망
- packet-switching
- host들은 application-level 메세지를 패킷 단위로 분해
- 라우터: src로부터 dst로 갈 수 있는 방법을 안내
- 패킷을 src로부터 dst까지의 path에 있는 link를 통해 다음 라우터로 forwarding함
- 링크의 전체 용량을 가득채워 전송됨
Host: sends packets of data
- host sending function
- host는 application message를 받음
- message를 packet으로 나눔
- packet을 network로 전송
- transmission rate: R
- link transmission rate = link capacity = link bandwidth
- transmission delay = L / R (sec)
- 하나의 패킷을 link로 얼마나 빨리 보낼 수 있을까?
- link에 packet을 싣는 시간
Packet-switching: store & forward
- Store-and-Forward: link로 전송되기 전에 전체 패킷이 라우터에 도착해야함
- Example
- 3개의 packet을 전송하려고 함
- L = 7.5 Mbits
- R = 1.5 Mbps
- one-hop transmission delay: 7.5Mbits/1.5Mbits*sec = 5 sec
- end-to-end delay
- transmission delay만 있다고 가정
- end system - router - end system
- 2 (hop) * 5 sec = 10 sec
- total transmission delay: 4 (hop) * 5 sec = 20 sec
hop |
1 |
2 |
3 |
4 |
packet |
#1 |
#1 |
|
|
|
#2 |
#2 |
|
|
|
#3 |
#3 |
Packet switching: queuing delay, loss
- queuing & loss
- 도착률 > 전송률
- packet이 queue에 쌓임
- queue가 가득차게 되면 일부 loss
- 도착률이 항상 전송률보다 크게 되면 이용 불가능 (unstable system)
Two key network-core function
- routing
- source-destination route 결정
- 대표적인 알고리즘: 다익스트라, 벨만포드 최단거리 알고리즘
- forwarding
- packet을 적절한 output link로 움직이는 것
Alternative core: circuit switching
- resource가 미리 할당 & 점유됨
- dedicated link
- 단점: 자원 낭비
- 더 많은 line/cable이 필요함
- link의 idle time이 많아짐
- 전화 네트워크에서 주로 사용
Packet switching vs. Circuit switching
- packet switching를 사용하면 더 많은 사용자가 동시에 네트워크를 사용하게 할 수 있음
- Example
- link capacity: 1 Mbps
- 사용자
- when active: 100 Kbps
- 전체 시간의 10%만 active
- circuit switching
- 1 Mbps / 100 Kbps = $10^6 / 10^5$ = 10
- 총 10명의 사용자가 네트워크에 동시 접근 가능
- packet switching
- 전체 사용자 35명(가정) 중, 11명 이상이 동시에 네트워크에 접근할 확률이 0.0004보다 작음
- k명이 동시에 접근할 확률
- $P(active=k)={_N}{C}{_k}{{(0.1)}^{k} {(0.9)}^{N-k}}$
- $P(active > 10) = 1 - P(active <= 10) = 1-\sum_{k=1}^{10}{P(active=k)}$
- N = 35를 넣어서 계산하면, 0.04%가 나옴
- packet switching이 있다 없다한(bursty) 데이터에 적합함
- resource sharing
- internet에서 잘 동작
- congestion이 일어날 수 있음 → packet delay and loss
- reliable data transfer, congestion control를 위한 protocol 필요
Internet structure: network of networks
- host들은 access ISP를 통해 인터넷에 연결함
- residential, company, university, mobile ISPs
- 주거용, 회사, 대학 네트워크는 연결을 위해 ISP에 돈을 지불함
- access ISP는 서로 연결되어야함
- 그래야 모든 호스트들이 서로에게 패킷을 보낼 수 있음
- 결과로 나온 network들을 위한 network는 아주 복잡함
- 수백만개의 access network를 각각의 edge로 연결을 하면 아주 복잡해짐
- global ISP의 등장 → 여러 ISP가 만들어짐
- ISP의 크기가 비슷할 때, ISP끼리 연결하면 서로 이득임
- 별도의 cost없이 더 빠르게 원하는 access net로 갈 수 있음
- peering link: ISP 연결 link
- IXP: Internet Exchange Point
- ISP와 access network 사이에는 level (regional net)이 있을 수 있음
- content provider network (e.g. Google, Microsoft, Akamai, ...)
- 자신만의 네트워크를 통해 end user에게 가까운 content, service 제공
- 네트워크가 겁나 크기 때문에, 이 네트워크에 접속해서 다른 네트워크로도 갈 수 있음
- 그래서 ISP들은 content provider network에 연결하고 싶어함
- content provider network들은 ISP에 돈을 지불할 필요가 없음
- 서로 win-win임!
- 최종적인 구조
- 중앙에 적은 수의 큰 네트워크
- tier-1 commercial ISPs (e.g. Level 3, Sprint, AT&T, NTT)
- content provider network (e.g. Google)
댓글