본문 바로가기
네트워크

[네트워크] 1.3 네트워크 코어

by Lizardee 2023. 9. 9.
1.3.1 패킷 교환(packet switching)

출발지 종단 시스템에서 목적지 종단 시스템으로 메시지를 보내기 위해, 송신 시스템은 긴 메시지를 패킷(packet)이라고 하는 작은 덩어리로 분할한다. 송신 측과 수신 측 사이에서 각 패킷은 통신 링크, 패킷 스위치(packet switch)를 거치게 된다.

  • 패킷 스위치(packet switch): 라우터(router), 링크 계층 스위치(link-layer switch)
  • 패킷의 전송 속도 = 링크의 최대 전송률 속도
    --> 출발지의 종단 시스템/패킷 스위치가 R비트/sec의 속도로 링크에서 L비트의 패킷을 송신한다면, 그 패킷을 전송하는 데 걸리는 시간 = L/R초

 

저장-후-전달 전송(store-and-forward transmission)

패킷 스위치는 저장-후-전달 전송(store-and-forward transmission) 방식을 이용한다. 

저장-후-전달은 스위치가 출력 링크로 패킷의 첫 비트를 전송하기 전에 전체 패킷을 받아야 함을 의미한다.

저장-후-전달 패킷 교환

<그림>에서 보이는 순간에 출발지는  패킷1의 일부분을 전송했고, 패킷1의 앞쪽이 이미 라우터에 도착했다. 라우터가 이 순간에 저장-후-전달을 채택하고 있기 때문에 라우터는 수신한 비트를 전송할 수 없다. 대신에 그 패킷의 비트를 먼저 저장(store)한 후, 라우터가 패킷의 모든 비트를 수신한 후에만 출력 링크로 그 패킷을 전송(forward)하기 시작한다.

 

▶ 출발지에서 패킷을 송신하기 시작해서 전체 패킷을 목적지에서 수신할 때까지 경과 시간 계산하기

(전파 지연(propagation delay)는 무시한다.)

  1. 출발지는 시각 0에서 전송하기 시작한다.
  2. L/R초: 출발지가 전체 패킷을 전송했고, 전체 패킷이 라우터에 수신되고 저장되었다. (전파 지연x)
  3. 라우터는 L/R초에 목적지를 향해 그 패킷을 출력 링크로 전송하기 시작한다.
  4. 2L/R초: 라우터가 전체 패킷을 전송했고, 수신 시스템이 전체 패킷을 수신했다.

--> 전체 지연 시간 = 2L/R

Cf) 만약 스위치에 비트가 도착하자마자(즉, 전체 패킷을 수신할 때까지 기다리지 않고) 전달한다면, 비트가 라우터에서 지연되지 않기 때문에 전체 지연 = L/R 이 된다.

 

큐잉 지연, 패킷 손실

각 패킷 스위치는 접속된 여러 개의 링크를 갖고 있다. 각 링크에 대해 패킷 스위치는 출력 버퍼(output buffer)를 갖고 있으며, 그 링크로 송신하려고 하는 패킷을 저장하고 있다. 

  • 출력 버퍼(output buffer)
    : 도착하는 패킷이 어떤 링크로 전송되어야 하는데 그 링크가 다른 패킷을 전송하고 있다면, 도착하는 패킷은 출력 버퍼에서 대기해야 한다. --> 패킷은 저장-후-전달 지연뿐만 아니라, 출력 버퍼에서 큐잉 지연(queuing delay)을 겪게 된다.
  • 큐잉 지연(queuing delay)
    : 버퍼 공간의 크기가 유한하기 때문에 도착하는 패킷은 버퍼가 전송을 위해 대기 중인 다른 패킷들로 꽉 차 있는 경우를 당할 수 있다. 이 경우, 패킷 손실(packet loss)이 발생한다. (도착하는 패킷 또는 이미 큐에 대기 중인 패킷을 폐기한다.)

 

포워딩 테이블, 라우팅 프로토콜

Q. 라우터는 어떻게 어떤 패킷을 어느 링크로 전달해야 하는지 결정하는가?

A. 포워딩 테이블(forwarding table)

: 각 라우터는 목적지 주소를 라우터의 출력 링크로 매핑하는 포워딩 테이블(forwarding table)을 갖고 있다. 패킷이 라우터에 도착하면, 라우터는 올바른 출력 링크를 찾기 위해 주소를 조사하고, 이 목적지 주소를 이용하여 포워딩 테이블을 검색한다. 그런 후에 라우터는 그 패킷을 출력 링크로 보낸다.

 

Q. 포워딩 테이블(forwarding table)은 어떻게 설정되는가?

A. 라우팅 프로토콜(routing protocol)

: 인터넷은 자동으로 포워딩 테이블을 설정하는 라우팅 프로토콜(routing protocol)을 갖고 있다.

 


1.3.2 회선 교환(circuit switching)

: 회선 교환(circuit switching) 네트워크에서 종단 시스템 간에 통신을 제공하기 위해 경로상에 필요한 자원(버퍼, 링크 전송률)은 통신 세션 동안에 예약된다. 세션 메시지는 온디맨드(on-demand) 방식으로 자원을 요청하여 사용하고 그 결과, 통신 링크에 대한 접속을 위해 기다릴(큐에서 대기) 수도 있다.

  • 회선(circuit): 송신자와 수신자 간의 경로에 있는 스위치들이 해당 연결 상태를 유지해야 하는 연결
    --> 주어진 전송률이 송신자-수신자 연결을 위해 예약되므로, 송신자는 수신자에게 보장된(guaranteed) 일정 전송률로 데이터를 보낼 수 있다.

4개의 스위치와 4개의 링크로 구성된 간단한 회선 교환 네트워크

  1. 호스트(예: PC, 워크스테이션)는 스위치 중 하나에 직접 연결된다.
  2. 두 호스트가 통신하고 싶을 때 네트워크는 두 호스트 사이에 지정된 종단 간 연결(end-to-end connection)을 설정한다.
    --> 호스트 A가 호스트 B와 통신하기 위해 네트워크는 먼저 2개의 링크 각각에 한 회선(circuit)을 예약한다.
    --> 링크는 4개의 회선을 가지므로, 종단 간 연결을 사용하는 각 링크에 대해 그 연결은 연결이 지속되는 동안 링크 전체 전송 용량의 1/4를 얻는다.

Cf) 패킷 교환(packet switching)

: 패킷 교환(packet switching)도 회선 교환(circuit switching)과 마찬가지로 패킷은 일련의 통신 링크를 통해 전송된다. 그러나 회선 교환과 달리 패킷은 링크 자원을 예약하지 않고 네트워크로 보내진다. 만약 그 시간에 링크로 다른 패킷들이 전송되어야 해서 링크 중 하나가 혼잡하다면, 그 패킷은 전송 링크의 송신 쪽 버퍼에서 기다려야 하고, 지연이 발생한다.

 

회선 교환 네트워크에서의 다중화

FDM, TDM

▶ 주파수 분할 다중화(FDM: frequency-division multiplexing)

: FDM에서 링크를 통해 설정된 연결은 그 링크의 주파수 스펙트럼을 공유한다. 특히 그 링크는 연결되는 동안 각 연결에 대해 주파수 대역(bandwidth)을 고정 제공한다.

  • 주파수 영역x개의 대역으로 분할한다.

 

▶ 시분할 다중화(TDM: time-division multiplexing)

: TDM 링크에서는 시간을 일정 주기의 프레임으로 구분하고, 각 프레임은 고정된 수의 시간 슬롯으로 나뉜다. 네트워크가 링크를 통해 하나의 연결을 설정할 때, 네트워크는 모든 프레임에서 시간 슬롯 1개를 그 연결에 할당한다. 이들 슬롯은 그 연결을 위해 사용되도록 할당되고, 그 연결의 데이터를 전송하기 위해 모든 프레임에 하나의 시간 슬롯을 갖게 된다.

  • 시간 영역시간 프레임으로 분할한다.
  • TDM 회선의 전송률 = 한 슬롯 안의 비트 수 * 프레임 전송률

 

패킷 교환 vs. 회선 교환
  • 회선(circuit switching) 옹호자들은 패킷 교환(packet switching)의 경우, 가변적이고 예측할 수 없는 종단 간의 지연(주로 불규칙적이고 예측할 수 없는 큐잉 지연(버퍼)에서 발생)때문에 패킷 교환이 실시간 서비스에는 적당하지 않다고 주장한다.
  • 패킷(packet swtiching) 옹호자들은 회선 교환(circuit switching)의 경우, 할당된 회선이 비활용 기간(silent period)에는 놀게 되므로 낭비라고 주장한다.
    - packet switching이 circuit switching보다 전송 용량의 공유에서 더 효율적이다.
    - packet switching이 더 간단하고 효율적이며, circuit switching보다 구현 비용이 적다.

▷ 결론: 패킷 교환(packet switching)이 더 효율적이다!

▷ 이유:

packet switching에서 패킷의 통합 도착률리 링크의 출력 용량을 초과하여 출력 큐가 커지지 않는 한, packet switching은 거의 항상 circuit switching과 대등한 지연 성능을 가지면서도, 거의 3배 이상의 사용자 수를 허용한다.

  • Circuit switching: 요구에 관계없이 미리 전송 링크의 사용을 할당한다.
  • Packet switching: 요구할 때만 전송 링크의 사용의 할당한다.

 


1.3.3 네트워크의 네트워크

ISP의 연결

  • 종단 시스템(PC, 스마트폰, 웹 서버, 메일 서버 등): 접속 ISP를 통해 인터넷에 연결된다.
  • 접속 ISP: DSL, 케이블, FTTH, 와이파이, 셀룰러(이동 통신) 등의 다양한 접속 기술을 이용하여 유선/무선 연결을 제공한다.

But, 종단 사용자들과 콘텐츠 제공자들을 접속 ISP로 연결하는 것은 인터넷을 구성하는 수많은 종단 시스템을 연결하는 퍼즐의 해결 방법 중 극히 일부분에 해당된다.

--> 접속 ISP들끼리 연결되어야 한다: 네트워크의 네트워크(network of network)

 

▶ 네트워크의 네트워크(network of network)

  • 네트워크 구조 1: 접속 ISP + 하나의 글로벌 통신(transit) ISP --> 2계층구조
  • 네트워크 구조 2: 접속 ISP + 다중의 글로벌 ISP --> 2계층구조
  • 네트워크 구조 3: 접속 ISP + 지역(regional) ISP + 1계층(tier-1) ISP --> 다중계층구조

 

네트워크 구조 4

▶ PoP(points of presense)
: 단지 제공자의 네트워크 내에 있는 하나 이상의 라우터(router) 그룹

  • 고객 ISP가 제공자 ISP에 연결될 수 있다.
    - 고객 네트워크가 제공자의 PoP에 연결되기 위해, 고객은 자신의 라우터 중 하나를 PoP에 있는 라우터에 직접 연결하도록 고속 링크를 제3자 통신 서비스 제공자로부터 임대할 수 있다.

 

▶ 멀티홈(multi-homing)

: 둘 이상의 제공자 ISP에 연결하도록 하는 것

  • 1계층 ISP를 제외한 모든 ISP는 멀티홈(multi-homing)이 가능하다.

 

▶ 피어링(peering)

: 같은 계층에 있는 ISP들 간에는 송수신되는 모든 트래픽을 상위 계층 ISP를 통하지 않고 직접 송수신할 수 있도록 서로 직접 연결하는 것

 

▶ IXP(Internet exchange point)

: 다양한 인터넷 서비스 제공업체(ISP) 및 네트워크 운영자 간에 데이터 트래픽을 교환하고 공유하는 데 사용되는 중요한 인프라스트럭처 요소 중 하나

 

네트워크 구조 5

: 네트워크 구조 4 + 콘텐츠 제공자 네트워크(content-provider network)

  • 콘텐츠 제공자 네트워크
    예) 구글(구글 데이터 센터는 모두 구글의 사설 TCP/IP 네트워크를 통해 연결되어 있다.)