본문 바로가기

Study/CS

컴퓨터 네트워킹 : network core

반응형
  • 본 포스팅은 computer networking : A top-down approach ( 컴퓨터 네트워킹 : 하향식 접근 ) 제 7판을 공부하여 정리합니다.
이전, 컴퓨터 네트워킹 : network edge, access network, 물리 매체들 포스팅에서 네트워크의 구조를 비트로 구성된 데이터패킷이 네트워크 내에서 흘러가는 순서대로 설명하겠다고 언급했다. 그에 따라 network edge, access network, physical media를 각각 설명하며 그 환경이나 종류도 함께 언급하여 작성해 놓았다. 그렇다면 이제 network core에 대해 자세히 알아보자. 


network core : mesh of interconnected routers

머릿말에서 나타내듯, 네트워크 코어는 서로서로 연결되어 있는 라우터들의 집합체라고 말할 수 있다. 그림으로 확인해보자. (파란색 = network core)
(그림 : computer networking : a top-down approach 7th edition 에서 발췌)



네트워크 코어에서, 라우터들은 interconnected 되어, end system간의 데이터 교환을 돕는다.

아래에서 충분히 설명하겠지만, internet protocol stack의 application layer에서 생성되는 message는 호스트들에 의해 여러 개의 패킷으로 쪼개진다. (참고로, 데이터들이 방문하는 네트워크상의 모든 장치들은 각각의 internet protocol stack을 가지고 있다. ) 호스트에 의해 쪼개진 패킷들은 network core에 위치한 router들을 거쳐 receiver (end system)으로 전송된다. 


그렇다면 라우터의 정확한 역할을 한 번 정의해보자.

routing : 데이터를 송신하는 호스트는 패킷을 라우터로 보낼 때, 각 패킷마다 헤더(header)에 목적지 end system의 정보를 포함시킨다. 따라서 헤더를 가진 packet을 통해, 라우터는 source - destination 루트 (이 패킷이 어느 경로로 가야하는지)를 결정한다.

forwarding : 어느 경로로 가야할 지, 그 방법을 알아내면, link를 통해서 패킷을 그 곳으로 보내주는 역할을 한다. packet header로 이동할 라우터를 찾으면, 그 라우터에 들어온 data의 output link를 결정하는 테이블이 있는 것이다. 이 table이 패킷의 다음 링크를 결정한다.

이 때, 각 패킷은 full link capacity로 transmitting된다.

즉, 패킷은 링크의 최대 전송속도와 같은 속도로 전송된다는 뜻인데, 예를 들어 구체적으로 이해해보자.


만약 Lbit의 패킷이 R bit/sec의 속도로 전송되는 링크위에서 전송된다면, 패킷을 전송하는 데에 걸리는 시간 L/R초 이다.




packet switching vs circuit switching

link와 router에서 데이터가 이동하는 방식에는 두가지가 있다. 바로 packet switching과 circuit switching인데, 이 내용은 네트워크 코어의 핵심이 되므로, 둘을 비교할 수 있는 개념 위주로 차근차근 설명해보겠다. 

packet switching (패킷 교환 방식) : store-and-forward

packet switching은 store-and-forward, 저장 후 전달 방식을 채택한다. 저장 후 전달 방식은 패킷의 첫 비트가 next link로 전송되기 전에, 모든 (entire) 패킷이 라우터에 도착해야한다는 개념이다. 이 개념이 어떻게 적용되는 지, 그림과 함께 보자.
(그림 : computer networking : a top-down approach 7th edition 에서 발췌)


여기서 source와 destination은 둘 다 end system이다. 
패킷 교환 방식으로 source에서 destination까지 패킷이 전달된다고 가정해보자. 각 링크는 초당 R bps의 속도로 패킷을 전송하고, 각 패킷은 L bit이다. 한 패킷의 모든 bit가 라우터에 다 도착할 때 까지, 이미 도착해 있는 packet 1 의 일부 비트들은 다음 링크로 출발하지 못하고 기다려 주어야 한다. 그러므로 packet 1 이 라우터에 다 도착하여 저장이 완료되면, 그 시간은 1L/R초이다. 1L/R 초에서 2L/R 초가 될 동안, 첫번째 패킷은 destination으로 연결된 링크를 타고 전송되고, 소스에서는 두번째 패킷이 라우터를 향해 출발한다. 그렇다면 2L/R 초가 흐르면, 1) packet 1은 destination에 있고 2) packet 2는 라우터에 저장이 완료(모든 비트들이 도착)된다. 첫번째 패킷이 destionation에 도착하면 end-end delay가 2L/R (전파 지연은 0이라고 가정) 초가 된다는 뜻인데, 만약 store-and-forward 방식이 아니였더라면, 지연은 발생하지 않으므로 end-end delay는 1L/R초가 된다는 것도 알아두면 좋다.

그림처럼 라우터를 사이에 둔 두 링크가 모두 같은 속도라면 좋겠지만, 대부분은 그렇지 않다. 만약, 출력링크로 패킷을 내보내는 속도가 패킷이 라우터로 들어오는 속도보다 느리다면 라우터에는 queue가 생기며, 시간이 흘러 이 큐는 패킷을 받아들일 저장공간이 부족하여 넘치게 될 것이다. 방금 한 얘기에 대한, 2가지 개념이 있다.
queueing delay : 각 패킷 스위치(라우터)는 여러 개의 link를 가진다. 이 link에 대해, 도착하는 패킷이 전송되어야 할 링크(next link)가 이미 다른 패킷을 전송하는 중이라면 도착하는 패킷들이 대기해야 할 공간인 buffer가 존재한다. 이렇게 도착하는 패킷이 버퍼에서 대기하는 상황을, queueing delay라고 한다.
packet loss (drop) : 버퍼의 용량은 한정적이므로, 이 버퍼가 넘치면 방금 도착한 패킷이나 이미 저장되어 있는 패킷은 버려진다.


circuit switching (회선 교환 방식)

circuit switching에서는 end system간의 통신을 위해 경로 상 필요한 자원인 link를 독점적으로 reserve해놓고 사용한다. 이렇게 이 방식에서 리소스를 할당해놓는다는 개념(dedicated resources)은, 데이터를 언제든지 보낼 수 있다는 의미인데, 다시말해 guaranteed된 일정 전송률로 데이터를 보내는 것이 가능하다는 뜻이다. 하지만 이것은 예약해놓은, reserve한 링크가 데이터를 보지 않고 있어도 다른 데이터가 이 링크를 사용할 수 없다는 단점이 있어, 효율성이 떨어진다는 특징도 있다.
------그렇다면 packet switching은 어떤 방식으로 데이터를 전송할까? ------
packet switching은 on-demand 방식이다. 즉, 다른 데이터가 링크를 사용하고 싶다면 요청 후 사용이 가능하다. 이 방식은 링크를 공유한다고 볼 수 있으므로 효율적이지만 delay가 가능하다는 단점을 수반한다.


(그림 : computer networking : a top-down approach 7th edition 에서 발췌)


그림은 circuit switching 방식이다. source-destination간 데이터 전송에서, 이 데이터가 흘러가기 위한 독점적인 회선을 reserve해놓은 방식인데, 그림에서는 한 링크가 4개의 회선(channel)으로 구성되어 있다. 따라서 각 회선은 (링크의 전송 속도)/4 의 속도로 데이터를 전송하며, 이 데이터 전송 속도는 destination까지의 링크가 몇 개 이고, 라우터가 몇 개 있는지랑은 상관이 없다. 여기서 reserve한 데이터의 전송이 이루어지지 않고 있다고 하더라도, 다른 데이터가 이 회선을 사용할 수는 없다.

이렇게 한 링크 내에서는 여러 개의 channel이 존재할 수 있는 데, 링크 내에서 channel을 나누는 기준은 보통 2가지가 있다. 
FDM : Frequency Division Multiplexing 

이 방식은 channel을 주파수 대역 별로 나누는 방식이다. 즉, 링크의 주파수 스펙트럼을 공유하는 형태이며, 여기서 제공되는 주파수 대역(색깔 별)은 고정 제공된다. 이 주파수 대역 각각의 대역 폭을 bandwidth라고 하며 이는 전송 속도와 크게 관련이 있다. 


TDM : Time Division Mulplexing


channel을 시간대별로 나누는 방식이다. 그림 속에 있는 그래프를 색깔 별로 구분지어 보자. 4가지의 색이 시간(time)이 지남에 따라 반복되어 나타나고 있다. 이렇게 각각의 색으로 나눠놓은 구간은 모두 1개의 slot(슬롯)이라고 한다. 그렇다면, 이 그래프는 4가지 슬롯이 시간이 지남에 따라 반복되고 있다는 뜻인데, 여기서 언급되는 이 4개의 슬롯을 합한 구간을 frame(프레임)이라고 한다. 즉, 한 프레임은 4개의 슬롯으로 구성되어 있는 것이다. 이 그래프는 위의 circuit switching을 설명할 때 사용한 그림과 상응하는데, 그림 속 link가 4개의 channel로 이루어져 있기 때문에 여기서 한 프레임이 4개의 슬롯으로 구성된 모습을 띄는 것이다. 

하나의 시간 slot은 reserve가 끝날 때 까지 고정된다. 또, 하나의 링크 설정 시 모든 프레임마다 하나의 slot이 할당되는 개념인데, 한 패킷을 할당된 이 슬롯(1개)만 사용할 수 있고 다른 slot에 패킷을 보낼 수 있는 시간대가 생긴다 하더라도 패킷을 보낼 수 없다. 



반응형