이 블로그의 [TCP/IP 기본 개념 잡기] 시리즈 |
1...... [TCP/IP 기본 개념 잡기] OSI 모델/TCP IP 모델 2..... [TCP/IP 기본 개념 잡기] OSI 7 layer 상세 3..... [TCP/IP 기본 개념 잡기] TCP/IP 주소 종류 4..... [TCP/IP 기본 개념 잡기] IP 주소의 구조(IP version 4) 5..... [TCP/IP 기본 개념 잡기] IP주소 표기 6..... [TCP/IP 기본 개념 잡기] IP주소 효율적으로 사용하기 |
... 목 차 ...
[TCP/IP 기본 개념 잡기] IP 주소의 구조(IP version 4)
TCP/IP에 대한 기본개념을 잡기 위한 기획입니다. TCP/IP는 인터넷, 클라우드, 사내망, 사설망 등의 통신을 이해하는데 필수적인 요소입니다. 통신을 이해하기 위한 모델(여기서는 기능별(Layer)로 여러 조각으로 나누는 것으로 이해)이나, 이 자체를 이해하는데도 어려움이 있는 것이 사실입니다. 짧고 간결하게하여 이해하기 쉽도록 하였습니다. 조금 딱딱한 얘기 일 수 있어 TIP 부분으로 보완해봤습니다.
용어
- 옥텟(Octet): 컴퓨팅에서 8개의 비트가 한데 모인 것. 8bit는 1Byte를 구성하지만 반드시 8비트를 의미하는 것이 아니었을 때 구분하기 위해 사용한 용어임.
IP주소의 구조
- 네트워크 계층에서는 모든 장치들 간에 전 세계적으로 통신할 수 있도록 인터넷에 연결된 모든 장치들을 유일하게 구분할 수 있는 방법 필요
- IPv4는 32bit로 구성됨, 따라서 한 비트(0 혹은 1)가 32개로 되어 있으므로, 2의 32 승(4,294,967,296)개의 주소가 이론적으로 가능함
- 가독성을 높이기 위해 8비트(1 옥텟, octet) 단위 당 점(.)으로 구분하되 10진수로 표기함
- 한 옥텟당 8비트로 2의 8 승개(256개)의 주소가 이론적으로 가능하며 10진수로 0~255까지의 숫자로 표현 가능함
- IP주소는 0~255.0~255.0~255.0~255로 한 주소를 사용할 수 있음(점 10진 표기법)
- TIP: 이해를 돕기 위한 이론적인 IP 0.0.0.0 ~ 255.255.255.255
클래스 기반 주소 지정(Classful Addressing)
- IP주소는 초기에는 클래스 기반 주소 지정(Classful addressing) 구조로 설계되었으나, 현재는 '클래스 없는 주소 지정(Classless Addressing)'이 사용됨
- TIP: Classful Addressing을 이해하면 Classless Addressing를 조금 더 쉽게 이해할 수 있습니다.
- 점 10진 표기법으로 본 클래스 기반 주소의 범위
- CLASS A: 0~255.0~255.0~255.1~254
- CLASS B: 128~191.0~255.0~255.0~255
- CLASS C: 192~223.0~255.0~255.0~255
- CLASS D: 224~239.0~255.0~255.0~255
- CLASS E: 240~255.0~255.0~255.0~255
NetID와 HostID
- 클래스 A, B, C의 IP주소는 netid와 hostid로 구성
- netid는 네트워크 구분을 위해 사용되며 보통 한 회사, 회사 내 조직, 그룹 등에 해당 네트워크를 사용(할당) 되었음을 알 수 있음
- CLASS A: 0~127.0~255.0~255.0~255 중 첫 번째 옥텟
- CLASS B: 128~191.0~255.0~255.0~255 중 첫 번째, 두 번째 옥텟
- CLASS C: 192~223.0~255.0~255.0~255 중 첫 번째, 두 번째, 세 번째 옥텟
- hostid는 동일한 netid에서 host에 할당 가능한 번호이며 네트워크에서 host를 식별함
- CLASS A: 0~127.0~255.0~255.0~255 중 두 번째, 세 번째, 네 번째 옥텟
- CLASS B: 128~191.0~255.0~255.0~255 중 세 번째, 네 번째 옥텟
- CLASS C: 192~223.0~255.0~255.0~255 중 네 번째 옥텟
CLASS A 특징
- 128개(8bit, 2의 8승)의 netid가 있으며, netid 1개당 hostid 16,777,216개 할당 가능(8+8+8 = 24bit, 2의 24승)
- 첫 번째와 마지막 netid는 특별한 목적을 위해 예약됨(0., 127.)
- netid 10(10.0.0.0~10.255.255.255)은 사설 주소로 인터넷에서는 통신할 수 없으나 회사/조직/그룹 내에서는 자유로이 사용 가능함
- RFC 1918과 RFC 4193 표준
CLASS B 특징
- 16,384개(8+8 = 16bit, 2의 16승)의 netid가 있으며, netid 1개당 hostid 65,535개(8+8 = 16bit, 2의 16승) 할당 가능
- netid 172.16 ~ 172.31(172.16.0.0 ~ 172.31.255.255)는 주소로 인터넷에서는 통신할 수 없으나 회사/조직/그룹 내에서는 자유로이 사용 가능함
- RFC 1918과 RFC 4193 표준
CLASS C 특징
- 16,777,216개(8+8+8 = 24bit, 2의 24승)의 netid가 있으며, netid 1개당 hostid 256개(8bit, 2의 8승) 할당 가능
- netid 192.168(192.168.0.0 ~ 192.168.255.255)는 주소로 인터넷에서는 통신할 수 없으나 회사/조직/그룹 내에서는 자유로이 사용 가능함
- RFC 1918과 RFC 4193 표준
IP주소의 특징
- 네트워크 상에서는 호스트는 하나의 유일한 IP 주소를 가져야 함
- 하나의 호스트는 네트워크 상에서 복수개의 유일한 IP를 가질 수 있음 => 멀티홈드(multihomed) 호스트
- 인터넷 주소는 이름이 아니고 장치에 대한 네트워크 상의 위치를 나타냄
- netid와 hostid로 구성되어 있기 때문에 특정 네트워크에 대한 장치의 연결만 나타냄
- TIP: OSI Layer 3이기 때문임
특수주소
- 네트워크 주소:
- hostid가 모두 0으로 되어 있음
- 예) 10.0.0.0 172.31.0.0 192.168.11.0
- TIP: IP주소 하나이지만, netid가 아니라 해당 네트워크 자체를 구분하기 위해 필요한 주소라고 이해하면 됩니다. 외부에서 구분하기 위해 해당 IP 주소를 그룹으로 묶고 이름을 붙였다고 생각하시면 됩니다. 반드시 1개는 필요합니다.
- 직접 브로드케스트 주소:
- 라우터가 특정 네트워크 내에 있는 모든 호스트에 패킷을 보낼 때 목적지 주소로 사용
- 발신자 주소: 라우터 주소
- 목적지 주소: hostid 가 모두 1로 되어 있음
- 예) 발신자 주소(라우터 주소) 192.168.11.1 직접 브로드케스트 주소: 192.168.11.255
- TIP: 반드시 1개는 필요합니다.
- 제한된 브로드캐스트 주소
- 특정 호스트가 다른 모든 호스트에게 메시지를 전송
- 라우터는 기본적으로 이 유형의 주소를 막음
- CLASS E 주소 유형
- 발신자 주소: 자기 자신의 주소
- 목적지 주소: netid와 hostid가 모두 1로 되어 있음
- 예) 호스트 주소 192.168.11.100 제한된 브로드캐스트 주소: 255.255.255.255
- 현재 네트워크에 있는 호스트
- IP주소가 모두 0(0.0.0.0)
- 자신의 IP를 모르는 호스트가 부트스트랩(컴퓨터나 시스템이 처음 시작) 자신의 주소를 찾기 위해 사용하는 발신지 주소로 사용하고 자신의 주소는 제한된 브로드캐스트 주소로 설정
- 항상 클래스 A 주소임
- 발신자 주소: 0.0.0.0
- 목적지 주소: 255.255.255.255
- 현재 네트워크에 있는 특정 호스트
- netid가 모두 0인 IP주소는 현재 네트워크에 있는 특정 호스트를 의미
- 동일 네트워크에 있는 다른 호스트에게 메시지를 보낼 때 목적지 주소로 사용
- 패킷이 라우터에 의해 차단되기 때문에 패킷을 로컬네트워크에 제한
- 클래스 A 주소
- 예)
- 발신자 주소: 192.168.30.100
- 수신자 주소: 0.0.0.200
- 루프백 주소
- 첫 번째 옥텟이 127인 IP는 루프백(loopback) 주소로 목적지 주소로 사용
- 패킷은 시스템 밖으로 나가지 않고 단순히 프로토콜 소프트웨어에 반환
- 클래스 A 주소
- 예)
- 발신자 주소: 192.168.40.100
- 수신자 주소: 127.0.0.1
- 유니캐스트 주소
- 일대일 통신
- 하나의 패킷이 개별적인 발신지로부터 하나의 목적지로 전송
- 클래스 A, B, C
- 일대일 통신
- 멀티캐스트 주소
- 일대다 통신
- 패킷이 개별적인 발신자로부터 복수의 목적지(그룹)에 보냄
- 클래스 D
- 전체주소는 Group ID를 나타냄
- 목적지 주소로만 사용
- netid 224.0.0 주소는 특별한 용도(라우팅 프로토콜 통신 등)
- netid 244.0.1 주소는 회의/원격회의용
- 일대다 통신
- 브로드캐스트 주소
- 일대모두 통신
- 인터넷은 로컬 네트워크에서만 사용, 송신자가 인터넷상의 모든 호스트와 라우터에게 하나의 메시지를 보낼 수 없음
정리
예전 개념이지만 클래스 기반 주소 지정(Classful Addressing)의 개념을 완전히 이해하고 있어야 클래스 없는 주소 지정(Classless Addressing)이해시에 헤갈리지 않습니다. 특수 주소 중 네트워크 주소, 직접 브로드캐스트 주소, 루프백 주소의 개념은 실무에서 상당히 많이 만나는 개념입니다.
참조
'ITinIT' 카테고리의 다른 글
[TCP/IP 기본 개념 잡기] IP주소 효율적으로 사용하기 (0) | 2023.07.07 |
---|---|
[TCP/IP 기본 개념 잡기] IP주소 표기 (0) | 2023.07.06 |
[TCP/IP 기본 개념 잡기] TCP/IP 주소 종류 (0) | 2023.07.04 |
[TCP/IP 기본 개념 잡기] OSI 7 layer 상세 (0) | 2023.07.04 |
[클라우드 보안] 정보보안 용어 정의부터 (0) | 2023.07.03 |
댓글