ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] 2. Network core와 delay, loss, throughput
    CS/네트워크 2023. 3. 8. 00:48

    1. Network Core

    네트워크 코어는 여러 라우터들이 연결되어 있는 망으로, 데이터를 어디로 보낼지 라우팅 해줍니다.

    packet-switching을 통해 메세지를 여러 패킷으로 쪼개어 보내게 됩니다.

     

    Packet switching

    Packet switching은 다음과 같은 특징을 가집니다.

    1. Store and Forward : 라우터가 하나의 패킷을 받고, 그 다음 전송하는 방법입니다.
      패킷의 delay는 홉(출발지와 목적지 사이 카운트) 단위로 계산해볼 수 있습니다.
      예시) 패킷 하나의 크기가 L bits, 전송 속도가 R bps일 때, 1홉 보낼 때 걸리는 시간 = L / R
               총 홉이 2개일 경우, 2L / R
      bandwidth(대역폭)을 넓게 하는 등 방법으로 R을 크게 해야 delay를 줄일 수 있습니다.

    2. Queuing and Loss : 라우터에 패킷이 도착했을 때, 다음 라우터로 보내는 속도가 느려 패킷이 쌓일 수 있습니다.
      이 패킷들은 queue에 버퍼링되게 되고, 버퍼가 가득 차면 패킷이 유실될 수 있습니다(dropped / lost).

     

    Network Core의 기능 두 가지

    1. Routing : 어떤 길로 보낼지 결정하는 것. 라우팅 알고리즘을 통해 결정됩니다.
    2. Forwarding : 들어온 패킷을 올바른 output으로 보내는 것.

     

     

     

    Circuit Switching   VS  Packet Switching

    Circuit Switching이란 하나의 회선을 받아 데이터를 주고받는 방식으로, 전화선 같은 것이 있습니다.

    직접 연결되어 있지 않은 라우터들은 남는 링크(트렁크)가 있다면 이를 통해 연결시킬 수 있습니다.

    주요 특징으로는 dedicated resources(사용 중에는 공유할 수 없음)과, 사용하지 않을 때 idle 상태라는 점이 있습니다.

     

    Circuit Switching 방식으로는 FDM과 TDM이 있습니다.

    • FDM(frequency division multiplexing) : 주파수를 나눠서 사용하는 방식
    • TDM(time division multiplexing) : 시간을 나눠서 사용하는 방식

    이런 Circuit Switching 방식은 사용하고 있는 회선을 공유하지 못하고, 사용중이지 않을 때도 idle상태로 공유하지 못하기 때문에 실시간 통신에 적합하지만 많은 사용자가 사용하기엔 부적합합니다.

     

     

     

    Packet Switching은 반대로 많은 사용자들이 사용할 수 있어서 효율이 높습니다. 예시 상황을 만들어 보겠습니다.

    예시) 링크의 속도는 1 Mbps이며, 각 사용자는 통신을 위해 100kbps 만큼을 필요로 합니다.

    또한 사용자들은 10%확률로 사용한다고 가정하겠습니다.

     

    Circuit Switching을 사용할 경우, 사용자가 현재 통신하지 않는 idle 상태이더라도 회선은 소모하기 때문에, 최대 10명까지 사용할 수 있습니다.

     

    반대로 Packet Switching의 경우, 현재 사용하지 않을 때 다른 사용자와 공유할 수 있으므로, 10명보다 더 많은 사용자가 사용할 수 있습니다.

    이는 이항분포를 띄우는 확률 밀도 함수로 나타납니다.

    예를 들어 35명의 사용자가 있다고 한다면, 사용자가 11명에서 35명 사이일 확률은 아래와 같이 나타납니다.

    동시 이용자가 0명에서 10명 사이일 확률을 1에서 뺀 값이 대략 0.0004가 되며, 이 의미는 동시 사용자가 10명을 초과할 확률은 0.0004라는 것입니다. 아주 낮은 수치이기 때문에, 대부분 경우에서 문제가 생기지 않는다는 것을 알 수 있고, 문제가 생겨서 10명을 초과하더라도 그 때 queue를 사용하면 되기 때문에 매우 효율적이라고 할 수 있습니다.

     

     

     

     

     

     

     

    Network of Network : ISP

    ISP(Internet Service Provider)의 종류는 여러가지 입니다. 우리나라의 경우에도 kt, sk, u+ 등등 다양합니다. 

    이러한 ISP들은 서로 연결이 되어있는데, 이렇게 많은 ISP들을 각각 연결하는 것은 비용이 너무 큽니다. O(N^2)

    따라서 각국의 ISP들은 global ISP에 연결되는데, global ISP또한 경쟁사가 있기 때문에 경쟁사끼리도 연결되게 됩니다.

     

    global ISP를 통한 것이 아닌 IXP(Internet Exchange Point)를 통해 ISP간 상호 연결이 될 수 있으며,

    peering link를 통해 가까운 ISP끼리 연결될 수도 있습니다.

     

    또한 지역 네트워크(regional net)를 두어 지역적으로만 ISP에 연결시킬 수도 있습니다.

     

    이렇게 구성된 Network of Network에 Google, Microsoft같은 content provider가 그들의 서비스 등을 제공하게 됩니다.

    • 이 과정에서 망 중립성, VoIP 품질 문제(QoS) 등 문제들이 발생하기도 합니다.

     

     

     

    Network of Network는 티어가 존재합니다. (아래 사진 참고)

     

     

     

     

     

     

     

     

     

    2. Delay, Loss, Throughput in networks

    네트워크 성능에 관한 내용입니다.

     

    Delay

    패킷을 보낼 때의 딜레이는 다음과 같이 계산됩니다.

    하나하나 요소에 대해 알아보도록 하겠습니다.

    • proc(processing delay) : 에러 비트를 확인하고, output link를 결정하는 과정입니다.
    • queue(queueing delay) : queue에서 전송을 기다리는 과정입니다. 라우터의 혼잡도에 따라 달라집니다.
    • trans(transmission delay) : 패킷을 보내는 시간입니다. L / R 만큼이 소요됩니다.
    • prop(propagation delay) : 전기 신호 자체의 딜레이입니다. d /s 만큼이 소요됩니다. (d: link의 물리적 거리 , s : prop 속도)
                                                   빛의 가까운 속도로 가기 때문에 실제로 길진 않습니다.

    중요한 점은 trans와 prop은 매우 다르다는 것입니다. (참고 : Caravan analogy를 통해 propagation이 짧다는 것을 보일 수 있습니다.)

     

     

    Queueing Delay

    패킷이 일정하게 온다는 가정에 딜레이가 적다고 하더라도, 패킷이 오는 것은 무작위이기 때문에 딜레이는 커질 수 있다는 의미입니다.

    Queue에 많이 차 있을수록 딜레이는 커지고, 이는 포아송 분포를 따르게 됩니다.

    • 0에 가까움 : 딜레이 작음
    • 1에 가까워짐 : 딜레이 큼
    • 1보다 큼 : 보내는 패킷보다 받는 패킷이 많은 경우로, 실질적으로 딜레이 무한

     

     

     

     

     

    Real Internet Delays

    그렇다면 현실에서 delay는 어떻게 보일까요?

    traceroute라는 프로그램을 통해 관찰할 수 있습니다.

    traceroute : 홉 수를 정해놓고 여러 번 패킷을 보내며 delay를 측정하는 프로그램

     

     

     

     

     

     

    Packet Loss

    패킷의 버퍼가 가득 차서 패킷을 유실하는 것을 의미합니다.

     

     

     

     

     

    Throughput

    최소량의 법칙으로, 파이프가 여러 개가 있고, 각각 성능이 차이가 있을 때, 성능이 최소인 것이 전송시간이 된다는 내용입니다.

     

     

     

    본 글은 Computer networking : a top-down approach 라는 책을 통해 작성되었습니다.

    댓글

Designed by Tistory.