네트워크/네트워크

개요 - IP(Internet Protocol) 주소 체계

본클라쓰 2008. 12. 21. 12:31

 

IP계층은 OSI 7계층에서 네트워크 계층 기능을 수행하며 패킷 전송을 위한 주소 정의 및 관리, 라우팅을 담당합니다. TCP는 데이터를 패킷으로 전환합니다. 하지만 패킷을 목적지로 보내는 것은 IP계층입니다. IP계층은 목적지까지의 패킷의 정확한 정송을 보장하지 않습니다. 최선형(Best Effort) 서비스만 제공하며, 신뢰성은 TCP 같은 상위 계층에서 담당합니다.

 

 

패킷의 구성

헤더 + 데이터

 헤더는 패킷을 목적지까지 전송하기 위한 필요한 값으로 송신측 IP, 수신측 IP 값등이 들어있습니다. 데이터는 TCP나 UDP와 같은 상위 계층에 전달된 PDU(Protocol Data Control) 데이터가 들어있습니다.

 

 

 

IP 주소값

 

 네트워크 상에서 목적지와 수신지를 지정하는 방법으로 IP계층에서는 IP주소라는 32비트의 정보를 부여합니다. 8비트 단위로 4개의 데이터가 모여서 IP주소를 구성합니다. 이 때 IP주소를 표시하는 방법은 2진, 10진, 16진으로 표시할 수 있지만 사람들이 읽고 확인하기 가장 편한 진법인 10진 표기를 일반적으로 사용합니다.

 

각 진법별 IP 주소 표기 방법

2진 표기 방법: 11111111.11111111.11111111.11111111

10진 표기 방법: 255.255.255.255

16진 표기 방법: FF.FF.FF.FF

 

 IP주소는 종류, 계열, 등급에 의해 구성되는 2단계 계층적 주소 지정 방식을 사용합니다. 네트워크 주소와 호스트(노드)주소를 이루어져 있습니다. 네트워크 주소는 IP가 속한 네트워크 그룹을 나타내며 호스트 주소는 개별 컴퓨터의 주소를 나타내는 것입니다. 네트워크 주소를 서브넷 마스크(Subnet mask) 주소라 부르며 호스트 주소를 IP 주소라고 부릅니다.

 IP주소는 목적지나 송신지를 구분하기 위해 네트워크 상에서 유일한 것이어야 합니다. 만약 네트웤 상에서 같은 IP 주소를 사용하는 노드가 있다면 같은 IP 주소를 사용하는 컴퓨터는 네트워크를 사용할 수 없게 됩니다.

 

 

 

IP 주소의 클래스 등급 

 

 클래스 등급은 네트워크 주소를 구분을 위해 사용됩니다. 이 때 공인망과 사설망에 부여하는 방식이 조금 다릅니다.

 

 

1. 공인 IP 주소 클래스 등급

  • A 클래스: Net.Node.Node.Node 로 구성되어 있으며 0~127번까지가 첫번째 자리의 범위이다. (첫비트:0, 네트워크:127개, A클래스의 한 네트워크에 등록할 수 있는 IP수는 16,777,216개)
  • B 클래스: Net.Net.Node.Node 로 구성되어 있으며 128~191번까지가 첫번째 자리의 범위이다. (첫비트:10, 네트워크 16,384개, B클래스의 한 네트워크에 등록할 수 있는 IP수는 65,534개)
  • C 클래스: Net.Net.Net.Node 로 구성되어 있으며 191~233번까지가 첫번째 자리의 범위이다. (첫비트:110, 네트워크:2,097,152개, C클래스의 한 네트워크에 등록할 수 있는 IP수는 255개)
  • D 클래스: 멀티 캐스트 구역

 

2. 사설 IP 주소 클래스 등급

 

  사설 IP 주소 체계가 발생한 이유는 공인 IP 주소의 부족과 라우터 같은 장비를 사용해 내부 네트워크와 외부 네트워크 간에 연결이 가능하여 내부 네트워크의 모든 컴퓨터는 라우터가 배분한 사설 IP정보를 사용하여 외부 네트워크와 연결이 가능하기 때문이다.

  라우터는 공인 IP를 가지고 있으며 내부적으로는 DHCP 기능을 사용하여 사설 IP를 배분하여 외부로 나갈 때는 라우터의 공인 IP를 사용하고 내부적으로 사설 IP 사용이 가능하기 때문이다. 즉, 외부로 나갈때는 라우터에 연결되어 잇는 공인 IP 주소를 사용하여 나가고 정보가 들어올 때는 라우터가 다시 사설 IP에 맞게 배분하는 방식으로 사용된다.

  • A 클래스: 10.0.0.0 ~ 10.255.255.255
  • B 클래스: 172.16.0.0 ~ 172.31.255.255
  • C 클래스: 192.168.0.0 ~ 192.168.255.255

  

다음은 실행창에서 [ ipconfig /all ] 명령어를 친 후 나타난 결과이다.  

 

(※ 보면 Subnet Mask 값이 255.255.255.0 이다. 아이피 시작이 125로 시작하면 A클래스이지만 서브넷팅(Subnetting) 으로 A클래스의 주소값을 C클래스처럼 사용하고 있다)

  

   IP Address 항목 아래 있는 Subnet Mask라는 항목이 보이시죠. Subnet Mask는 IP와 함께 항상 같이 다닙니다. 서브넷 마스크 값을 통해 IP에서 어느 부분이 네트워크 부분이고 어느 부분이 노드인지 아는 것입니다. 보통 네트워크를 사용할 때 패킷으로 데이터를 주고 받습니다. 패킷에는 헤더라는 기본정보를 표시한 항목이 있습니다. 패킷에 내용에는 식별자, TTL, 프로토콜, 송신측 주소,  목적지주소 등이 있습니다.

  그럼 네트워크가 어떻게 작용하는지 알아보겠습니다. 송신측에서 송신측 IP(Subnet Mask포함)와 함께 목적지 IP주소로 패킷을 보내면 라우터는 패킷의 목적지가 같은 네트워크 안에 있는지 없는지를 Subnet Mask와 IP주소를 AND 연산하여 알아봅니다. 그리고 같은 네트워크 안에 없다면 상위 네트워크로 패킷을 넘기는 것입니다. 상위 네트워크에서도 마찬가지 방법을 통해 목적지를 찾아서 패킷을 보내는 것입니다.