인터넷 계층에 있는 IP 주소에 대해 좀 더 자세히 알아보자.
IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜
ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환한다.
반대로 RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 한다.
예시를 들어서 어느 하나의 1번 장치가 있다면,
1. ARP Request 브로드캐스트를 보내서 해당 가상 주소 IP주소에 해당하는 MAC 주소를 찾는다.
2. 해당 주소에 맞는 2번 장치에서 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거져 IP 주소에 맞는 MAC 주소를 찾게 된다.
브로드캐스트 : 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
유니캐스트 : 고유 주소로 식별된 하나의 네트워크 목적에 1:1로 데이터를 전송하는 방식
IP 주소를 통해 통신하는 과정
- hop : 건너뛴다는 개념
통신망에서 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것이다.
통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작해 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신을 뜻한다.
송신지에서 수신지까지 도달하기 위해 사용하며 라우터에 들어 있는 목적지 정보들과 해당 목적지로 가기 위한 방법이 들어 있는 리스트
라우팅 테이블에는 게이트웨이와 모든 목적지에 대해 해당 목적지에 도달하기 위해 거쳐야 할 다음 라우터의 정보를 가지고 있다.
서로 다른 네트워크 간 통신을 가능하게 하는 관문
사용자는 인터넷에 접속하기 위해서 수많은 게이트웨이를 거쳐야 한다.
통신을 가능하게 해준다는 것은 즉, 서로 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할
게이트웨이 확인 방법
라우팅 테이블을 통해 볼 수 있다.
- 라우팅 테이블은
netstat -r명령어를 실행해 확인 가능
IPv4 경로 테이블, IPv6 경로 테이블이 있는데 이것이 라우팅 테이블이다.
IPv4
32비트를 8비트 단위로 점을 찍어서 표기 -> ex) 123.45.67.89
IPv6
64비트를 16비트 단위로 점을 찍어서 표기 -> ex) 2001:db8::ff00:12:3456
추세는 IPv6로 가고 있긴 하지만 가장 많이 쓰이는건 IPv4이다.
네트워크 ID(네트워크 주소)와 호스트 ID(호스트 주소)를 먼저 알아보자.
Network ID, Host ID
하나의 네트워크 주소에는 Network ID와 Host ID
즉, 네트워크 주소와 호스트 주소가 있다.
네트워크 주소란?
인터넷 상에서 모든 host들을 전부하기 힘들기 때문에 한 네트워크의 범위를 지정하여 관리하기 쉽게 만든 것.
호스트 주소란?
호스트를 개별적으로 관리하기 위해 사용하게 된 것.
클래스 기반 할당 방식
A, B, C, D, E 이렇게 다섯개의 클래스로 구분하는 할당 방식을 쓴다.
앞의 부분을 네트워크 주소, 그 뒤를 컴퓨터에 부여하는 호스트 주소로 사용한다.

클래스 A
처음 1바이트(8비트)가 네트워크 주소이며, 나머지 3바이트(24비트)는 호스트 주소이다.
맨 왼쪽에 있는 구분 비트는 0으로 시작하고 네트워크 할당은 0~127 이다.
클래스 B
처음 2바이트(16비트)가 네트워크 주소이며, 나머지 2바이트(16비트)는 호스트 주소이다.
맨 왼쪽에 있는 구분 비트는 10으로 시작하고, 네트워크 할당은 128~191 이다.
클래스 C
처음 3바이트(24비트)가 네트워크 주소이며, 나머지 1바이트(8비트)는 호스트 주소이다.
맨 왼쪽에 있는 구분 비트는 110으로 시작하고, 네트워크 할당은 192~223 이다.
간단하게 첫번째 Octet으로 구분할 수 있으며,
첫번째 Octet에서 0~255 까지의 숫자를 5개로 나눠서 구분하면 된다.
클래스 A 는 0~255 (총 256개의 절반 128) -> 0부터 시작이므로 127
클래스 B 는 128~255 (총 128개의 절반 64) -> 0부터 시작이므로 191
클래스 C 는 192~255 (총 64개의 절반 32) -> 0부터 시작이므로 223
클래스 D 는 224~255 (총 32개의 절반 16) -> 0부터 시작이므로 239
클래스 E 는 240~255 (총 16개) -> 0부터 시작이므로 127

네트워크 구별 주소 (= 네트워크 주소)
네트워크 구별 주소는 가장 첫번째 주소이며, 네트워크 주소로 사용된다.
⇀ 클래스 A의 120.0.0.0 이라는 네트워크를 부여받은 경우, 120.0.0.0 이 네트워크 구별 주소이다.
호스트 주소
호스트 주소는 첫번째 주소와 마지막 주소를 제외한 나머지 주소를 말하며, 컴퓨터에 부여할 수 있는 주소이다.
⇀ 120.0.0.1 ~ 120.255.255.254 가 해당된다.
브로드캐스트 주소
브로드캐스트 주소는 가장 마지막 주소를 말하며, 네트워크에 속해 있는 모든 컴퓨터에 데이터를 보내는 주소이다.
⇀ 120.255.255.255 가 여기에 속한다.
클래스 기반 할당 방식은 사용하는 주소보다 버리는 주소가 많다는 단점이 있다.
그래서 DHCP, IPv6, NAT 이 나오게 된다.
IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜
이것을 통해 IP 주소를 수동으로 설정할 필요 없이 인터넷에 접속할 때마다 자동으로 IP 주소를 할당할 수 있다.
많은 라우터와 게이트웨이 장비에 DHCP 기능이 있고, 대부분의 가정용 네트워크에서 IP 주소를 할당한다.
패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정해 IP 주소를 다른 주소로 매핑하는 방법
IPv4 주소 체계만으로는 수많은 주소들을 모두 감당하지 못한다. 그래서 NAT로 공인 IP 와 사설 IP로 나눠서 많은 주소를 처리한다.

NAT의 단점