Doctor Pepper

TCP/IP 주소 표현 본문

자격증/CCNA

TCP/IP 주소 표현

Doctor Pepper 2024. 10. 16. 17:53

 

1. 물리 주소

 물리 주소는 MAC 주소를 의미하며, 데이터 링크 계층의 MAC 계층에서 사용되는 48비트 하드웨어 주소이다. 이 주소는 네트워크 카드에 고유하게 부여되는 값으로, 이더넷 주소나 토큰링 주소와 동일하다. 네트워크 카드 제조사에 의해 할당된 하드웨어 주소를 UAA(Universally Administered Address)라고 하며, 모든 네트워크 카드가 고유한 값을 가져 LAN에서 유일하게 식별될 수 있다. 그러나 관리 목적으로 MAC 주소를 변경할 수 있으며, 이를 LAA(Locally Administered Address)라고 한다. UAA와 LAA는 MAC 주소의 두 번째 비트 값으로 구분할 수 있는데, 0이면 UAA, 1이면 LAA를 의미한다.

 

 MAC 주소의 처음 3바이트는 제조사를 식별하는 번호이며, 이 번호는 IEEE에서 관리한다. 나머지 3바이트는 제조사가 각 네트워크 카드에 고유하게 부여한 일련번호를 나타낸다. 이를 통해 MAC 주소는 전 세계적으로 고유한 값을 가지게 된다.

 

2. IP 주소

 TCP/IP 프로토콜 계층의 인터넷 계층에서는 IP 주소를 사용하여 각 노드의 주소를 설정하고, 이를 통해 패킷 전달 경로를 결정한다. IP 주소는 MAC 주소와 마찬가지로 전 세계에서 고유해야 한다.

 

 IP 주소는 32비트로 구성되며, 사람이 읽기 쉽도록 1바이트씩 끊어 점으로 구분하고, 각 바이트를 10진수로 변환하여 표현한다. 이를 10진 도트 표기법(Dotted Decimal Notation)이라 한다.

 

 IP 주소는 NIC(Network Information Center)에서 관리하며, 전 세계 IP 주소 관리는 미국의 InterNIC(Internet Network Information Center)가 담당한다. 그러나 현실적으로 모든 IP 주소를 하나의 기관이 관리하는 것은 불가능하므로, 대륙별 및 국가별로 산하 기관을 두고 있다. 우리나라의 경우, APNIC(Asia Pacific NIC) 산하의 KRNIC(KoRea NIC)에서 IP 주소와 도메인 관리를 담당한다.

NIC IP 주소와 도메인 이름의 할당 및 관리
InterNIC 미국의 NIC, 인터넷의 IP 주소를 관리하는 기관
전 세계의 IP 주소 및 도메인 정보를 관리
APNIC 아시아 태평양 지역의 IP 주소와 도메인 관리
KRNIC 한국의 IP 주소 및 도메인 관리

 

 IP 주소는 네트워크의 크기에 따라 A, B, C 클래스 등으로 구분된다. 큰 네트워크에는 A 클래스를, 작은 네트워크에는 C 클래스를 할당하여, 주소의 유용성을 높였다.

 

 IP 주소는 클래스 종류, 네트워크 ID, 호스트 ID로 나뉘며, 클래스에 따라 네트워크 ID와 호스트 ID의 크기가 달라진다.

 

 

 각 클래스에서 네트워크 ID호스트 ID가 모두 0이거나 1인 경우는 일반적인 주소로 사용할 수 없다. 따라서 이론적으로 계산한 주소의 수에서 2를 뺀 만큼만 실제로 사용할 수 있다. IPv4(Internet Protocol version 4)에서 지정한 클래스별 IP 주소 구조는 다음과 같다.

 

 클래스 D는 멀티캐스트(Multicast) 용도로 사용되며, MBONE에서 특정 그룹에 패킷을 동시에 전송하는 데 활용된다. 클래스 E는 장래에 사용할 목적으로 예약된 주소로, 주로 연구 및 실험 목적으로 사용된다.

 

 일반적으로 IP 주소의 처음 몇 비트 값을 확인하면 해당 주소가 어느 클래스에 속하는지 구분할 수 있다. 각 클래스는 고유한 시작 비트를 가지고 있어 쉽게 식별할 수 있다.

 

 최근 몇 년 동안 인터넷이 급속히 발전함에 따라 IP 주소 부족 현상이 발생하였다. 그 원인 중 하나는 클래스 A 주소의 비효율성이다. 클래스 A 네트워크는 약 2^24 - 2개의 호스트를 지원할 수 있지만, 이렇게 많은 호스트를 필요로 하는 조직은 거의 없으므로 실제로는 거의 사용되지 않게 되었다. 또한, IPv4의 32비트 주소 체계는 급증하는 전 세계의 호스트 수를 감당하기 어려워졌다. 이를 해결하기 위해 128비트 주소 체계를 사용하는 IPv6가 등장했다.

 

2. 포트 주소(포트 번호)

 물리 주소와 IP 주소는 근원지에서 목적지로 데이터를 전송할 때 반드시 필요한 요소이다. 그러나 데이터가 목적지에 도착했다고 해서 통신이 완료되었다고 볼 수는 없다. 현대의 컴퓨터는 여러 프로세스를 동시에 실행하는 멀티프로세싱 시스템이므로, 통신은 시스템 간이 아닌 프로세스 간 통신으로 이루어져야 한다. 예를 들어, 한 컴퓨터에서 TELNET, FTP, HTTP를 동시에 사용해 다른 컴퓨터와 통신하고 있다면, 이들이 주고받는 데이터를 구분해야 한다. 이러한 구분의 책임은 전송 계층에 있으며, 16비트 크기의 포트 번호를 사용하여 각 프로세스의 데이터를 구분한다.

 

 공인된 포트는 0부터 1023까지의 값을 가지며, 등록된 포트는 1024부터 49151까지, 동적 또는 사설 포트는 49152부터 65535 사이의 값을 가진다. 공인된 포트 번호 IANA(Internet Assigned Numbers Authority)에서 관리하며, 시스템에 상관없이 동일한 번호로 사용된다. 1024번 이후의 포트 번호는 사용자가 네트워크 응용 프로그램을 작성할 때 할당할 수 있는 범위에 해당된다.

 

3. 공개 주소(Public Address)와 사설 주소(Private Address)

 어떤 조직의 인트라넷이 인터넷과 연결되어 있지 않다면, 인트라넷 내에서는 모든 IP 주소를 자유롭게 할당하여 사용할 수 있다. 그러나 라우터 또는 프록시를 통해 인터넷에 연결되어 있다면, 공개 IP 주소나 사설 IP 주소를 사용해야 한다.

 

- 공개 주소(Public Address)

 공개 주소는 InterNIC에서 할당되며, 32비트로 구성된 IP 주소이다. 클래스 기반으로 네트워크 ID와 호스트 ID로 나뉘며, 이 주소는 인터넷 상에서 유일해야 한다.

 

- 비-합법적인 주소(Illegal Address)

 인터넷에 연결되지 않은 사설 인트라넷은 InterNIC에서 할당받은 공개 주소를 설정하여 사용할 수 있다. 하지만 인트라넷이 인터넷에 연결될 경우, 해당 공개 주소는 이미 다른 곳에서 사용 중일 수 있다. 이처럼 중복되거나 주소 충돌이 발생할 수 있는 주소는 비-합법적 주소로 간주되며, 이러한 주소로는 인터넷에 접속할 수 없다.

 

- 사설 주소(Private Address)

 TCP/IP 프로토콜을 사용하는 모든 노드는 고유한 IP 주소를 가져야 한다. 그러나 인터넷의 발전으로 인해 점점 더 많은 공개 주소가 필요해지면서 주소 부족 현상이 발생했다. 이를 해결하기 위해, 모든 호스트가 공개 주소를 가지지 않고도 인터넷 서비스를 이용할 수 있는 방법이 제안되었다.

 

 특정 인터넷 서비스만 사용하는 호스트는 프록시 서버, 메일 서버와 같은 애플리케이션 계층 게이트웨이를 통해 인터넷에 접근한다. 이로 인해 대부분의 조직은 프록시 서버, 라우터, 방화벽 등 특정 장비에만 공개 주소를 할당하고, 나머지 일반 호스트는 이러한 장비를 통해 서비스를 받게 된다.

 

 조직 내에서 직접 인터넷에 접근할 필요가 없는 호스트는 공개 주소와 중복되지 않는 IP 주소가 필요하다. 이를 위해 IETF RFC 1918에서 공개 주소와 중복되지 않는 사설 주소 공간(Private Address Space)을 지정하였다. 사설 주소 공간의 IP 주소는 공개 주소로 할당되지 않으므로, 공개 주소와 사설 주소는 인터넷에서 서로 중복되지 않는다.

RFC 1918 사설 주소 공간에 대한 정의는 RFC 1597에서 RFC 1918로 대체되었음
사설 IP 주소의 범위
 - Class A : 10.0.0.0 ~ 10.255.255.255
 - Class B : 172.16.0.0 ~ 172.31.255.255
 - Class C : 192.168.0.0 ~ 192.168.255.255

 

 이렇게 사설 주소를 사용함으로써 서로 연관성이 없는 호스트 간에 주소를 지속적으로 재사용할 수 있으며, 이는 공개 주소의 부족 문제를 어느 정도 해소하는 데 기여한다.

 

 사설 네트워크 공간의 IP 주소는 InterNIC에 의해 공개 주소 공간으로 할당되지 않으므로, 라우터는 사설 주소로 경로를 설정하지 않는다. 사설 주소를 가진 호스트로 가는 트래픽은 인터넷에서 라우팅될 수 없으며, 사설 주소를 가진 호스트에서 발생한 트래픽은 자신의 요청을 애플리케이션 계층을 통해 전달해야 한다. 또는 인터넷으로 전달하기 전에 NAT(Network Address Translator)를 통해 적합한 공개 주소로 변환해야 한다.

 

 

 위에서 설명한 내용을 통해, 네트워킹의 기본 요소인 물리 주소, IP 주소, 포트 주소, 그리고 공개 및 사설 주소에 대한 이해가 중요함을 알 수 있다. 물리 주소는 장치 간의 직접적인 통신을 가능하게 하며, IP 주소는 네트워크 상의 노드를 고유하게 식별하여 데이터 전송 경로를 결정한다. 또한, 포트 주소는 다양한 프로세스 간의 통신을 효율적으로 관리하는 역할을 하며, 공개 주소와 사설 주소는 주소 충돌을 방지하고 자원을 효율적으로 활용하는 방법을 제공한다.

 

 특히, 사설 주소의 도입은 인터넷 주소 부족 문제를 해결하고, 조직 내에서 자원을 재사용할 수 있는 기반을 마련한다. 이러한 네트워킹의 요소들은 현대의 정보 통신 환경에서 필수적이며, 인터넷의 지속적인 발전에 따라 더욱 중요해질 것이다.