TCP/IP 4계층 - 인터넷 계층

인터넷 계층

IP 주소

인터넷 계층의 역할은 송신지 컴퓨터의 데이터를 수신지 컴퓨터까지 전달하는 것이다. 수신지 컴퓨터를 찾아내기 위해 식별할 수 있는 고유한 정보가 필요하고 이때에 사용되는 식별자가 바로 IP 주소이다. 흔히 IP 주소를 우편번호로 비유하곤 하는데, 자세히 들여다보면 중요한 차이가 존재한다. 우편번호는 지역정보를 포함하고 있는 것과 달리 IP 주소는 지리적인 위치와는 상관없이 네트워크 단위로 할당된다. 따라서 IP 주소를 통해 그 컴퓨터가 어느 위치에 존재하는 지 알기 힘들며 어느 네트워크에 속해있는 지와 소속된 네트워크의 규모를 짐작할 수 있을 뿐이다.

라우터

IP 주소는 지리적인 위치 정보를 포함하고 있지 않기 때문에 수신자를 찾기 위해서는 다른 방법을 이용해야 한다. 라우터(router)라는 네트워크 장비는 서로 다른 네트워크 간의 연결 정보를 관리한다. IP 주소를 보면 소속된 네트워크가 어디인지 알 수 있는데, 해당 네트워크에 연결된 라우터를 추적하다 보면 그 장비가 최종적으로는 목표로 한 수신지 컴퓨터를 찾게되고 송신지에서 수신지까지 연결되는 통신 경로를 만들 수 있게 된다. 이와 같은 과정을 라우팅(routing) 이라고 한다.

공인 IP / 사설 IP

급속한 인터넷의 보급으로 사용 가능한 IP 주소가 점점 줄어들고있다. 이와 같은 현상을 피하기위한 방안으로 사설 IP / 공인 IP를 구분하는 기법을 사용한다. 또한 근본적인 방법으로 고갈되어져 가는 IPv4 주소체계를 IPv6로 확장하고 있다.

  • 공인 IP
    Public IP라고 불린다. 인터넷에서 사용가능한 IP 주소를 말하며, 외부에서도 접근이 가능한 주소를 의미한다.

  • 사설 IP
    Private IP라고 불린다. 사무실이나 가정 내에서만 사용 가능한 IP이며, 외부에서 접근할 수 없는 주소이다.

IPv4 와 IPv6

인터넷 계층에서 사용되는 프로토콜이다. IP 주소를 결정할 때 사용하는 비트의 길이가 다르다. IP 주소는 유통기한을 가지고 있는데, 패킷이 제대로 전달되지 않는 경우 네트워크 안을 계속해서 떠도는 걸 방지하기 위함이다. 제대로 전달되지 않은채 네트워크 안을 떠돌게되는 패킷이 많아지면 자연스레 네트워크는 복잡해져 다른 패킷들에게도 영향을 미치게 되는데 이러한 부작용을 방지하기 위해 IPv4 헤더에는 생존기간(TTL - Time To Live) 정보가 담겨져있다. TTL이 0인 패킷이 발견된다면 그 패킷을 소멸시키도록 규정하고 있다.

  1. IPv4
    32비트 주소 체계이다. 32비트 문자열은 사람이 알아보기 어렵기 때문에 8비트씩 4개 단위로 끊은 후에 10진수로 변환하여 표현한다.

  2. IPv6
    128비트 주소 체계이다. 급격한 인터넷의 성장으로 IPv4의 주소가 고갈되어가자 피해를 방지하기 위해 만들어졌다.

    인터넷 계층에서 사용되는 장비에만 IP 주소가 할당된다.

한 번에 전송할 수 있는 데이터의 크기를 **MTU(Maximum Transmission Unit)라고 한다. 통신 상태에 따라 달라지게 되는데, 예를 들어 경로 상태가 좋지 않으면 값이 줄어들게 되고 라우터는 이 MTU 값에 따라 패킷을 분할해서 수신지로 전송하게 된다. 라우터가 데이터를 송신하기 전에 통신 경로 전체의 MTU를 살펴보고 처음부터 MTU보다 작은 크기의 패킷을 전송하게 된다. 수신지의 컴퓨터에서는 도착한 분할된 패킷들을 복원하여 수신한다!

네트워크 부와 호스트 부

IP 주소는 네트워크 부와 호스트 부로 나누어 진다. 라우터는 IP 주소의 네트워크 부를 보고 데이터를 전송할 목적지가 같은 네트워크에 있는지 다른네트워크에 있는지 판단한다.

어드레스 클래스

하나의 IP 주소에서 어디까지가 네트워크 부이고 호스트 부인지 표현하기 위해 어드레스 클래스를 이용한다. 총 네 가지의 어드레스 클래스가 있다.

  • 클래스 A
    • 네트워크 부 : 8비트 - 126개 네트워크
    • 호스트 부 : 24비트 - 약 1677만개 호스트
  • 클래스 B
    • 네트워크 부 : 16비트 - 약 1만 6천개 네트워크
    • 호스트 부 : 16비트 - 약 6만 5천개 호스트
  • 클래스 C
    • 네트워크 부 : 24비트 - 약 209만개 네트워크
    • 호스트부 : 8비트 - 254개 호스트
  • 클래스 D (특수 클래스) : 멀티캐스트 그룹
    • 네트워크 부 : 32비트

클래스 A를 보면 한 개의 네트워크당 1677만개의 호스트를 할당할 수 있는데, 실제로 단일 네트워크에 이렇게 많은 호스트를 필요로 하는 경우는 없다. 이런 경우 호스트 낭비가 심하게 되는데 효율적으로 주소를 할당하고자 나온 방법이 서브넷 마스크이다.

서브넷 마스크

어드레스 클래스의 경우 네트워크 부의 길이가 미리 정해져있다. 어드레스 클래스와 다르게 네트워크 부의 길이를 가변적으로 사용하기 위해 서브넷 마스크를 사용하며, 비트 단위로 유연하게 늘려서 쓰는 것이 가능해진다.

네트워크 부를 1비트 단위로 변경할 수 있다!!
IP 주소를 할당하는 방법은 IPv4를 기준으로 전체 32비트 중 네트워크 부를 제외한 호스트 부분을 자유롭게 할당하여 사용하는 것이다.

Share