본문 바로가기

ComputerScience/Network

The Network Core

728x90

1. network core

보통은 땅이나 바다에 묻혀있다. 여러 routers, switches들의 묶음이다(network of networks). packet을 forward하는 것이 network core의 역할이다. 여러 통신사들이 제공하는 ISP(Internet Service Provider), 휴대폰 핫스팟으로 내 휴대폰이 무선 ISP가 될수도 있고 바로 위에서 살펴본 access network ISP가 있을수도 있다.

network core는 서로 연결된 라우터들의 덩어리라고 했다.
패킷들이 링크를 통해 라우터들을 거쳐서 목적지로 foward하게 된다. 이를 packet-switching이라고 한다.
예를들어 내가 어딘가로 메시지를 보내고 싶어한다. 그 메세지를 chunk들로 쪼개고 하나씩 보내는데 이를 packet이라고 한다.

 

각 패킷들은 full link capacity 속도로 전송된다. bandwidth, link transmitssion rate이라고도 하며, 1Gbps링크라면 초당 1기가비트 속도로 전송된다. (참고로 1Gbps 링크를 둘이 사용하면 대략 한명은 500Mbps를 사용할 수 있다)

하나의 패킷을 보내는데 걸리는 시간을 packet transmission delay라고 한다.
Q : 1Gbps 링크를 통해 1000bit의 패킷을 보내려고 한다 걸리는 시간은?
A : 1000bit / 1000Mbps = 1000bit / (1000 * 10^6 bits/sec) = 1/1000000 s = 1 msec

패킷스위칭의 동작 원리를 store and forward라고 한다.
반드시 한 패킷이 다 도달할때까지 모아 저장했다가 다음으로 보낼수 있다. 한 패킷의 일부분을 받으면서 나머지 부분을 다음으로 보낼수는 없다.
따라서 위 상황에서 이상적으로 한개의 패킷을 보내는데 걸리는 시간은 2L/R이다.
그럼 총 세개의 패킷을 보내는데 시간이 얼마나 걸릴까? 한 패킷을 보내는데 이상적인 경우 2L/R이니까 세개라면 3*2L/R일까?

실제로 그렇지는 않다. 버퍼링을 통해 중간 라우터가 목적지로 패킷을 보내는 중에 source로 부터 bit를 받을 수 있기 때문이다. 예를들면 중간 라우터가 1번 패킷을 보내는 중에 2번 패킷을 수신할 수 있다.
Q : 위 그림에서 각 L bits인 세개의 패킷이 목적지로 전달되는 시간은? (propagation delay = 0이라고 가정)
L = 1.7 Mbits
R = 1.5 Mbps
one-hop transmission delay = 5 sec
end to end delay = 10 sec
A : total transmission delay = 20 sec

A와 B의 패킷들은 각각 100Mb/s(Mbps) link로 전달된다. 그런데 다음 라우터로 가는 링크의 대역폭이 10Mb/s이다. 그럼 패킷들이 나가는 속도가 들어오는 속도를 감당하지 못하기 때문에 패킷들이 queue에 쌓여서 나갈때를 기다리게 된다. 이를 queueing delay라고 한다.
시간이 흘러도 끊임없이 A,B가 패킷을 보내고있다. queue의 용량은 제한적이기 때문에 도달하는 모든 패킷을 다 저장할 수 없다. 그럼 패킷들이 라우터에 도달해도 저장될수 없어 버려지는(dropped) 패킷이 생기는데 이를 loss라고 한다.

network core의 두 핵심 기능은 routing과 forwarding이다.
routing은 source -> destination으로 패킷이 전달 될 route를 결정하는 작업이다.
라우터는 Bellman-Ford, Dijkstra 알고리즘 등을 활용한 routing algorithm으로 경로를 찾고 이를 forwarding table에 기록한다. 0100이라는 목적지 주소로 가기 위해서는 3번 링크로 패킷을 보내야 한다는 것을 기록해두는 것이다.

 

이 표를 보고 input으로 들어온 패킷을 올바른 output으로 안내하는 것을 forwarding이라고 한다.

이번에는 circuit switching을 알아보자. src에서 dst로 통신을 하고 싶다. 그럼 circuit switching에서는 오직 둘만 사용할 수 있는 회선을 확보한다. 회선, circuit은 두 사용자에게만 dedicated된 자원이다.
끊김도 없고 다른사람에 의한 성능 영향이 없다. 전통적인 전화 네트워크에 주로 사용된다.
그러나 두 사람이 통신을 안하는 경우에는 circuit이 idle상태가 되어 자원 낭비가 될 수 있다.
많은 Line을 설치하는데 비용도 만만치 않고 링크를 추가로 설치하지 않는 한 더 많은 사용자를 감당하기 어렵다.

이런 단점 때문에 인터넷 네트워크는 패킷 스위칭을 사용한다.
우리가 주로 웹 사이트를 접속하면, 웹페이지 다운로드 동안은 네트워크 통신이 이루어지지만 한참 글을 읽는 동안은 네트워크 요청을 하는 일이 없다. 그 사이에 다른 사용자들이 링크를 공유해 사용할 수 있기 때문에 packet switching이 적합하다.
즉 패킷스위칭은 네트워크를 많은 사람들이 사용하기에 적합한 것이다.
물론 bursty한 traffic 때문에 delay와 loss가 발생할 수 있지만 그 빈도가 크지 않다면 충분히 감수할만 하다.
또한 ciruit에 비해 더 simple하다. (미리 회선을 확보하기 위한 call setup이 필요없다.)

실제 예시를 통해 두 방식의 차이를 관찰해보자.
Q : 각 user는 "active"일때 100kbps를 사용한다. 각 사용자가 active일 확률은 10퍼센트이다. circuit-switch, packet-switch의 경우 이 네트워크가 감당할 수 있는 최대 사용자수는?
A1 : 라우터를 나가는 속도는 1Mbps이고 들어오는 속도는 100 kbps이다. 끊임없이 각 사용자마다 100 kbps를 보장해주어야 하기 때문에 1 Mbps(1000 kbps) link를 최대한 쪼개도 10개 이상 쪼갤 수 없다. 즉 동시에 최대 10명만 사용할 수 있다.

 

A2 : 만약 35명의 user가 있다고 해보자. 10명 이상이 동시에 active할 확률을 계산해보면 0.0004보다 작다. 그럼 이 네트워크는 35명의 사용자도 충분히 견딜수 있다고 볼 수 있다. 만약 50명의 user가 있다면 동시에 10명 이상 active일 확률은 약 0.41이다. 이 경우는 적합하다고 보기 어려울 것이다.
* 35명중에 10명 이상이 active할 확률 = 35C10(0.1)^10(0.9)^25 + 35C11(0.1)^11(0.9)^24 + .... 35C35(0.1)^35

2. A Network of Networks

이전 시간에 인터네트워크가 무엇인지? 인터넷의 큰 세 구성요소들과 그에 관한 내용들을 살펴보았다. 그럼 우리가 사용하는 인터넷은 어떻게 생겼을까?

모든 네트워크 edge들간의 통신이 가능하기 위해서는 모든 access network ISP를 서로 전부 연결하면 되지만 이는 딱봐도 비용이 어마어마 하다.

그래서 실제로는 통신사 업체들이 각자 대형 ISP 설비를 구축하고 서로 고객을 유치해서 연결된 access network 수를 늘린다.
통신사들은 서로 네트워크를 연결했을때 이득이 더 크다고 판단하면 서로 peering link로 연결하자 약속할수도 있다.
또 어떤 업체는 "내가 해저에 링크를 깔아놨어 A랑 B랑 연결하고 싶으면 나한테 돈내"라며 A, B 회사에게 internet exchange point를 제공할수도 있다.

global ISP보다 규모는 좀 작은 regional network ISP를 통한 hierarchy가 있을 수 있다.

national 혹은 international 급의 영역을 커버하는 huge network를 Tier 1 ISP라고 한다.
이 외에도 Content provider network가 있다. Google, MS, Naver가 이에 해당한다. 이 회사들은 자사의 서비스를 end user들에게 더 가까운 곳에서 좋은 품질로 제공하기 위해 네트워크를 구축하고 증설한다. 이렇게 만들어진 또 하나의 대형 ISP들은 다른 통신사 ISP와 상호 이익이 존재한다면 서로 연결될수도 있다. 서로 연결되면 Tier 1 ISP는 더 많은 regional ISP를 거칠 수 있다.

미국의 Tier 1 ISP중 하나인 Sprint사의 네트워크 모습이다.

이 사진은 해저 링크를 통해 국가간 네트워크가 연결되어 있는 모습이다.

728x90
반응형