포스트

컴퓨터 네트워크 #12


목차

  1. 인터네트워킹이란? 인터네트워킹의 원리
  2. 인터넷 프로토콜 동작
  3. IPv4 와 IPv6
  4. 인터넷 라우팅 프로토콜 (책. pg 627)

용어 정리

  • 인터 네트워킹 : 여러개의 네트워크를 연결하는 방법을 말한다. 하나의 네트워크에서만 가능한 통신을 수십개의 네트워크로 확장시키는 기술
  • 통신 네트워크 : 네트워크에 부착된 장치들에 데이터 전송 서비스를 제공하는 설비
  • 인터넷 : 브리지와 라우터로 상호연결된 네트워크의 집합
  • 브리지 : 유사한 LAN 프로토콜을 연결하는데 사용하는 중간 시스템. 브리지는 다른 LAN으로 가는 패킷들을 빠르게 구별해 통과시킨다. 이 때 패킷의 내용을 변경하거나 추가하지 않는다.
  • 중간 시스템 : 두 네트워크를 연결하는 장치
  • 서브 네트워크 : 인터네트워크의 부분 네트워크. 사용자는 인터네트워크를 하나의 네트워크라고 인식한다. 따라서 구별하기 위해 서브 네트워크라는 말이 만들어졌다.
  • 인트라넷 : 중요한 인터넷 응용을 제공하는 기관에서 사용하는 인터넷. 기관 내부에서만 자체 목적을 위해 동작한다.
  • 라우터 : 임의의 두 네트워크를 연결하는데 사용하는 중간 시스템

인터네트워킹

네트워크는 서로 다른 독자성을 가지고 있다.

내가 있는 네트워크의 정보를 다른 네트워크의 스테이션에 전달할 때 내 네트워크의 규칙을 강요해 전달할 수가 없다.

따라서 우리는 서로 다른 네트워크간에 통신을 위한 인터네트워킹이 필요하다.

인터 네트워킹 설비는 네트워크 구조를 변경하지 않는다.

따라서 한 네트워크의 데이터가 다른 네트워크에 맞게끔 해주는 서비스를 제공해야한다. 그 서비스는 다음과 같다.

  • 다른 주소지정 : 서로 다른 네트워크는 주소 방식을 사용하기에, 주소 지정 서비스를 제공해야 한다.
  • 패킷 크기 : 네트워크마다 다른 최대 패킷 크기들을 서로 맞춰춘다. 큰 패킷을 작은 패킷으로 쪼개는 과정을 단편화라고 한다.
  • 네트워크 접근 매커니즘 : 스테이션과 네트워크 사이의 접근 메커니즘
  • 다른 시간만료 : 불필요한 전송을 피하고 성공적인 전송을 이루어지게 한다
  • 오류 회복 : 네트워크의 오류 회복 기능에 의존하거나 간섭받지 않고, 독자적인 오류 회복 서비스를 제공한다
  • 상태보고 : 인터네트워킹 활동에 관한 정보를 얻고 권한이 있는 프로세스에게 전달하는 기능
  • 경로배정 기법 : 가장 이상적인 네트워크들을 상황에 따라 선택해 경로를 배정한다.
  • 사용자 접근 제어 : 말 그대로 사용자의 접근을 통제하는 것을 말한다.
  • 연결, 비연결 : 개별 네트워크의 연결 지향에 의존하지 않고, 인터네트워킹 설비만의 독자적인 서비스를 제공 ​ 인터넷 프로토콜(IP)는 위 요구사항 중 몇 가지를 충족시키며, 다른 사항은 추가적인 제어장치나 응용 소프트웨어를 이용한다.

인터넷 프로토콜 동작

  1. IP의 비연결성과 비신뢰성

    • 비연결성 : 내가 보내는 데이터가 패킷 단위로 쪼개져서 무작위 순서로 전송된다.
    • 비신뢰성 : 내가 보낸 패킷이 도착했는지 확인하지 않는다.


  2. 인터네트워킹을 통한 데이터 전송 과정

    Desktop View

    위 그림을 예시로 든다. 현재 종단 시스템 A에서 B로 전송할 데이터그램을 가지고 있다.

    A가 B로 데이터를 어떻게 전송할까에 대해 이런 생각이 들 것이다.

    A → Router X → WAN을 통해 → Router Y → B

    그럼 전송시스템은 당연히 ‘목적지 B가 다른 네트워크에 있다’ 라는 인식을 해야한다.

    이 역할을 하는 것이 A에 있는 IP 모듈이다.

    이러한 인식을 한 IP 모듈은 전송할 데이터그램과 함께 '이 데이터 그램을 Router X 로 보내라' 는 지시를 같이 보낸다.

    이 지시는 하위계층인 LLC가 받고, LLC는 다시 하위계층인 MAC으로 전달한다.

    라우터 X의 MAC 계층주소를 MAC 헤더에 추가해 넣는다.

    위의 과정을 통해 우리는 Router X에 도달하였다.

    Router X 는 이제 필요없어진 MAC과 LLC 필드를 제거한다.

    그리고 데이터의 목적지인 B를 결정하기 위해 , IP헤더를 분석한다.

    라우터는 이제 경로배정을 해야한다. 이 때 방법은 상황에 따라 다양하다.

    목적지가 여러 네트워크를 거칠 수도 있고, 직접연결 되어있을 수도 있으며, 목적지 주소가 손실되어있을 수도 있다.

    라우팅 방법에 대해서는 인터넷 라우팅 프로토콜에서 다룬다.

    라우터 X는 라우터 Y에게 데이터그램과 함께 프레임 릴레이 헤더와 트레일러를 같이 전송한다.

    라우터 Y는 받으면, 헤더와 트레일러를 벗겨 목적지가 B임을 인식한다.

    B가 자신의 네트워크에 연결되어 있기 때문에 Y는 새로운 프레임을 생성해 B로 전송하고, B는 수신한 후 IP와 LAN헤더를 벗기는 것으로 동작이 마무리 된다.

    이때 A가 속한 네트워크의 패킷 크기가 B가 속한 네트워크의 패킷크기보다 크다면, 전송과정에서 단편화를 할 것이다.


  3. 인터네트워킹의 설계 쟁점

    1. 경로배정

      경로배정은 19장에서 배운 경로배정과 매우 유사하다.

      정적이거나 동적인 경로배정 표를 이용하며 자세한 내용은 19장의 라우팅이나, 이번 글의 4번째 항목인 인터넷 라우팅 프로토콜 쪽을 읽어보는 것이 좋다.

      경로배정에 있어서 네트워크 보안 등급을 통해, 보안등급이 되지 않는 네트워크는 거치지 않는다거나 할 수 있다.


    2. 데이터그램 수명

      경로배정 시에 데이터그램이 무한히 인터넷을 떠돌 가능성이 있다.

      이는 끊임없이 네트워크 자원을 낭비하고 수송 프로토콜은 데이터그램 수명의 상한 값에 의존한다.

      따라서 데이트그램에 수명을 달아 일정조건에 따라 사라지게 하는 것이다. 그 중 대표적인 것이 홉카운트이다.

      데이터그램이 라우터를 통과할 때 마다 카운터 값을 하나씩 줄이고 0이 되면 제거된다.

      다른 방법으로는 실제시간을 이용해 측정하는 방법도 있다.

      실시간 측정에 관해서는 재조립 알고리즘과 전역시간 매커니즘을 필요로 하기 때문에, 이번 장에서 설명은 생략하겠다.


    3. 단편화와 재조립

      모든 네트워크는 패킷의 최대 크기를 명시한다.

      따라서 라우터는 네트워크에 맞게 데이터를 쪼갤 수 있다.

      이를 단편화라고 하며, 쪼개진 데이터그램을 세그먼트 혹은 프레그먼트라고 한다.

      작아진 패킷은 오류제어, 전송지연, 수신버퍼 면에서 장점이 있지만, 제어정보가 추가되고, 치리지연이 늘어난다는 단점이 존재한다.

      이렇게 단편화된 프레그먼트는 다시 재조립해야 한다.

      재조립하는 위치는 평범하게 생각한다면 중간 라우터에서 한번 재조립하거나, 목적지에서 재조립한다고 생각할 수 있다.

      목적지에서 재조립한다면, 목적지에 도달될 때까지 첫 데이터그램은 무한히 쪼개진다는 단점이 있다.

      중간 라우터에서 재조립한다면, 중간 라우터가 가득찬다거나, 모든 프레그먼트들이 하나의 중간 라우터를 거쳐야 한다는 단점이 있다.

      IP에서는 이중에서 목적지에서 재조립하는 방법을 사용하고 있다.

      재조립할 때는 다음과 같은 정보를 이용한다.

      단편화 과정

      Desktop View

      단편화와 재조립 할 경우 위에서 다음과 같은 정보를 이용한다.

      • 데이터 단위 식별자(ID) : 데이터그램 식별 수단
      • 데이터 길이(Data Length) : 사용자 데이터 필드 길이
      • 오프셋(offset) : 단편의 원래 위치를 64비트의 배수로 나타낸다.
      • More flag : 이어지는 단편이 있는지 나타낸다. 0은 없다는 의미이고, 1은 있다는 의미이다.

      자기보다 앞선 프레그먼트의 데이터 길이 / 8 이 오프셋이다.
      위 그림의 경우 앞선 프레그먼트의 데이터 길이는 208이고, 이를 8로 나누면 26이다.
      따라서 뒤 프레그먼트의 오프셋이 26이 된다.

      재조립 시 More flag 가 0 이 될 때까지, 충분한 버퍼 공간에서 시행한다.

      IP는 비신뢰성으로 동작하므로, 전송이 되었는지 확인하는 작업이 없다.

      따라서 단편화의 일부가 누락 된다면 버퍼 공간에 영원히 이 단편화 조각들이 남아 자리를 차지할 것이므로, 적당한 상황에 맞게 폐기해야 한다.

      폐기하는 방법은 다음과 같다.

      • 처음 들어온 단편에 대해 재조립 수명을 설정하고, 수명이 다 될 때 까지 재조립하지 못하면 단편들을 모두 버린다.
      • 단편의 헤더에 있는 데이터그램 수명을 사용한다. 데이터그램 수명이 점점 줄어들어 재조립이 되기전에 수명이 끝나면 단편들을 모두 폐기한다.


    4. 오류제어

      오류제어의 경우 데이터 통신에서 다루고 있다.

      간단하게 설명하면, 라우터가 데이터그램을 폐기할 때 되도록이면 발신지로 되돌려주려고 한다.

      이러한 특정 데이터그램이 폐기되는 것을 식별하고 전송 전략을 수정하는 행위를 오류제어라고 한다.


    5. 흐름 제어

      흐름제어는 데이터 통신에서 다루고 있다.

      간단하게 설명하면, 라우터 또는 수신 스테이션이 데이터 수신율을 제한해 전체적인 흐름을 제어하는 방법이다

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.