호우동의 개발일지

Today :

article thumbnail

인터페이스

  • 인터페이스(Interface) : 호스트와 물리적 링크 사이의 경계를 뜻함

 


인터페이스와 라우터

  • 라우터는 2개 이상의 연결된 링크가 필요 → 라우터는 이런 링크 사이의 경계 또한 인터페이스라 함
    • 라우터가 2개 이상의 연결된 링크가 필요한 이유
      → 라우터 작업은 한 링크로부터의 데이터그램을 다른 링크로 전달하는 것이기 때문

  • 각 링크마다 하나의 인터페이스를 갖고, 라우터는 여러 개의 인터페이스를 가진다.

 


IP주소와 인터페이스

  • 모든 호스트와 라우터는 IP 데이터그램을 송수신 가능
    → IP는 각 호스트와 라우터 인터페이스가 IP 주소를 갖도록 요구
    기술 측면에서, IP 주소는 인터페이스 자체와 관련이 있다.
    • 인터페이스를 포함하는 호스트 라우터보다 인터페이스와 더 관련 있다는 뜻

 

IP주소의 표기

  • 각 IP 주소는 32비트(4Byte) 길이다. → 대략 2^32개(약 40억 개)의 주소를 사용 가능
  • IP 주소의 표기는 일반적으로 십진 표기법(dotted-decimal notation)을 사용
    • 십진 표기법 : 주소의 각 바이트를 십진수로 표현하고, 주소의 다른 바이트와 점(.)으로 구분
    • 십진 표기법 예시 - IP 주소가 193.32.216.9인 경우
      • 193은 주소의 첫 번째 8개 비트와 같다.
      • 32는 주소의 두 번째 8개 비트와 같음
      • 이진수로 나타날 때 → 11000001 00100000 11011000 00001001

 

 


서브넷

  • 인터넷에서 모든 호스트와 라우터의 각 인터페이스는 고유한 IP 주소를 갖는다.
  • 이러한 주소는 마음대로 결정할 수 없다.
    인터페이스의 IP 주소 일부는 연결된 서브넷이 결정

  • 세 호스트들의 인터페이스들과 1개의 라우터 인터페이스로 연결된 네트워크
    서브넷(subnet)을 구성한다.라고 함.
    • 서브넷은 인터넷 문서에서 IP 네트워크 또는 간단히 네트워크라고 함

 


IP 주소체계와 인터페이스의 예시

  • 그림 - 3개의 인터페이스를 갖는 하나의 라우터는 7개의 호스트를 연결

인터넷 주소와 서브넷
인터넷 주소와 서브넷

  • 왼쪽 3개의 호스트와 연결된 라우터 인터페이스
    • 모두 223.1.1.xxx 형식의 IP 주소를 가짐 → 동일한 왼쪽 24 비트를 사용
    • 4개의 인터페이스가 중계하는 라우터 없이 하나의 네트워크에 서로 연결되어 있음
      • 이 네트워크는 이더넷 LAN으로, 인터페이스는 이더넷 허브나 이더넷 스위치로 상호연결됨

  • IP 주소체계는 이 서브넷에 223.1.1.0/24라는 주소를 할당
    • /24 : 서브넷 마스크(subnet mask)로 32비트 주소의 왼쪽 24비트가 서브넷 주소라는 것을 가리킴
      • 서브넷 223.1.1.0/24는 세 호스트 인터페이스와 하나의 라우터 인터페이스를 구성
        • 세 호스트 인터페이스
          • 223.1.1.1
          • 223.1.1.2
          • 223.1.1.3

        • 하나의 라우터 인터페이스
          • 223.1.1.4

      • 만약 네트워크 223.1.1.0/24에 새로 호스트를 부착하는 경우
        → 해당 호스트에는 223.1.1.xxx 형식의 주소가 필요

  • 3개의 서브넷(223.1.2.0/24, 223.1.3.0/24, 223.1.1.0 네트워크)이 존재

 


서브넷의 IP 정의

  • 여러 호스트를 라우터 인터페이스 연결하는 이더넷 세그먼트만을 의미하는 것이 아님

 

3개의 라우터가 점대점 링크로 연결된 예시

6개의 서브넷을 연결하는 3개의 라우터
6개의 서브넷을 연결하는 3개의 라우터

  • 각 라우터는 모두 3개의 인터페이스를 가짐
    • 점대점 링크를 위해 2개를 사용
    • 두 호스트를 직접 연결하는 브로드 캐스트 링크를 위해 1개 사용

  • 6개의 서브넷을 가짐
    • 호스트와 연결된 3개의 서브넷
    • 세 서브넷 라우터를 연결하는 3개의 서브넷
      • 223.1.7.0/24 : 라우터 R1와 R3를 연결
      • 223.1.8.0/24 : 라우터 R2와 R3를 연결
      • 223.1.9.0/24 : 라우터 R1와 R2를 연결

 

일반적인 라우터와 호스트를 연결한 시스템에서 서브넷을 정의할 때

  1. 호스트나 라우터에서 각 인터페이스를 분리하여 고립된 네트워크를 만든다.
  2. 이 고립된 네트워크의 종단점은 인터페이스의 끝이 됨
    → 이렇게 고립된 네트워크 각각을 서브넷이라고 부름

 


CIDR(Classless InterDomain Routing)

다수의 이더넷 세그먼트와 종단 간의 링크를 갖는 기관의 서브넷

  • 한 서브넷에서 모든 장비가 같은 서브넷 주소를 갖는 서브넷을 여러 개 가질 수 있다.
  • 원칙대로라면 서로 다른 서브넷은 서로 다른 서브넷 주소를 가져야 함
    But, 서브넷 주소는 종종 같은 부분이 많다.

  • 이런 현상의 원인을 알려면 글로벌 인터넷에서 주소 체계가 어떻게 처리되는지 알아야 함

 

CIDR의 서브넷 주소체계 표기

  • 인터넷 주소 할당 방식 중 하나로, CIDR은 서브넷 주소체계 표시를 일반화하고 있다.
  • 서브넷 주소체계로서, 32비트 IP 주소는 두 부분으로 나누고,
    이것은 다시 점으로 된 십진수 형태의 a, b, c, d,/x를 가진다.
    • x는 최상위 비트(most significant bit, MSB)를 의미
      • 주소 첫 부분의 비트 수를 의미
      • x는 IP 주소의 네트워크 부분을 구성
        → 이를 해당 주소의 프리픽스(prefix) 또는 네트워크 프리픽스라고 함

 

프리픽스의 사용

  • 한 기관은 통상 연속적인 주소의 블록을 할당받는다.
    → 이 경우, 기관 장비들의 IP 주소는 공통 프리픽스를 공유
    • 여기서 연속적인 주소란 말은 공통 프리픽스를 갖는 주소 범위를 뜻한다.

  • 외부 기관의 라우터가 목적지 주소가 내부 기관인 데이터그램을 전달할 때
    → 앞의 x 비트들만 고려해도 충분함
    • a.b.c.d/x 형태의 엔트리만으로 기관 목적지로 패킷을 전달하는데 충분
      네트워크 외부의 라우터들에서 포워딩 테이블의 크기를 많이 줄여줌

 

주소의 나머지 32-x 비트들의 사용

  • 기관 내부에 같은 네트워크 프리픽스를 갖는 모든 장비를 구별할 때 사용
  • 이 비트들은 기관 내부의 라우터에서 패킷을 전달할 때 사용
  • 이러한 하위 비트들은 추가 서브넷 구조를 가질 수 있다.
    • 예시 - CIDR 식 주소가 a.b.c.d/21
      • 가정
        • 첫 21비트들은 기관의 네트워크 프리픽스를 나타냄
        • 이 기관의 모든 장비의 IP 주소에 공통

      • 나머지 11비트들은 기관 내부의 특정 호스트들을 식별
        • 기관의 내부 구조가 이 최하위 11비트 중 일부를 기관 내부의 서브넷을 위해 사용할 수 있음
          → a.b.c.d/24는 기관 내부의 특정 서브넷을 나타낼 수도 있음

 

CIDR 식 주소 사용 예시

  • 가정 - CIDR 식 주소가 a.b.c.d/21인 경우
  • 첫 21비트
    • 기관의 네트워크 프리픽스를 나타냄
    • 이 기관의 모든 장비의 IP 주소에 공통에 해당됨

 


클래스 주소체계(classful addressing)

  • CIDR가 채택되기 전에 사용되었던 체계
    • IP 주소의 네트워크 부분을 8,16,24비트로 제한
    • 8,16,24비트로 나눈 서브넷 주소를 갖는 서브넷을 A, B, C 클래스 네트워크로 분류

 

클래스 주소체계의 단점(사라진 이유)

  • IP 주소의 서브넷 부분이 정확히 1,2,3Byte여야 한다는 요구사항이 존재
    → 중소형 크기의 네트워크로 급속히 증가하는 기관의 수를 지원하기엔 문제가 있음
    • 클래스 서브넷(/24) - 8비트를 사용하는 클래스
      • 2^8-2 = 254개의 호스트만 제공 → 많은 조직을 위해선 너무 적음
        • -2에서 2개는 특별한 사용을 위해 예약해 둬서 사용 불가

    • B 클래스 서브넷(/16) - 16비트를 사용하는 클래스
      • 65,634개의 호스트를 제공 → B 클래스 서브넷은 너무 큼
      • 해당 체계에서 2,000개 호스트가 있는 조직은 일반적으로 B 클래스 서브넷 주소에 할당됨
        → B 클래스 주소 공간을 빨리 고갈시키고, 주소 할당에 있어 엄청난 비효율성

 


브로드캐스트 주소(255.255.255.255)

  • IP 주소의 또 다른 형태
  • 호스트가 목적지 주소 255.255.255.255인 데이터그램을 전송
    → 해당 메시지는 같은 서브넷에 있는 모든 호스트에게 전달됨
    • 라우터는 선택적으로 이웃 서브넷에 메시지를 전달한다.(일반적으로 잘 사용하진 않음)