ARP
: IP 주소로부터 MAC 주소를 구하는, IP와 MAC 주소의 다리 역할을 하는 프로토콜
- 두 컴퓨터 간의 통신 : IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC를 기반으로 통신
- 반대로, RARP는 실제 주소인 MAC를 가상 주소인 IP로 변환
- IP에 맞는 MAC 주소 찾기 :
-> 장치 A가 ARP 브로드캐스트를 보내서 IP에 해당하는 MAC를 찾음
-> 해당 IP에 맞는 장치 B가 ARP 유니캐스트를 통해 MAC를 반환
- 브로드캐스트 : 송신 호스트가 전송한 데이터가 네트워크에 연결된 모든 호스트에 전송되는 방식
- 유니캐스트 : 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 데이터를 전송하는 방식
홉바이홉 통신
: 라우팅 테이블의 IP를 통해, 라우팅 과정을 거쳐, 최종 목적지까지 도달하는 통신
- hop - 패킷이 여러 개의 라우터를 건너가는 모습 비유
- 각각의 라우터에 있는 라우팅 테이블의 IP 기반으로 패킷을 전달
- IP 주소를 통해 통신하는 과정

라우팅 테이블
: 라우터에 들어가 있는 목적지 정보들과 그 목적지로 가기 위한 방법이 들어 있는 리스트
- 송신지에서 수신지까지 도달하기 위해 사용
- 게이트웨이와 각각 목적지에 도달하기 위해 거쳐야 할 라우터의 정보 가지고 있음
게이트웨이
: 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능케 하는 관문 역할을 하는
컴퓨터나 소프트웨어
- 서로 다른 네트워크상의 프로토콜을 변환
- 라우팅 케이블을 통해 볼 수 있으며, 라우팅 테이블은 netstat -r 을 통해 확인 가능
IP 주소 체계
- IPv4와 IPv6로 나뉨
- IPv4 : 32비트를 8비트 단위로 점 찍어 표기 ex) 123.45.67.89
- IPv6 : 64비트를 16비트 단위로 점 찍어 표기 ex) 2001:db8:ff00:42:8329
- 추세는 IPv6 이지만, 현재 많이 쓰이는 건 IPv4
클래스 기반 할당 방식
-
초기에는 A,B,C,D,E 다섯 개의 클래스로 구분하는 클래스 기반 할당 방식(CIDR) 사용
-
앞 부분에 네트워크 주소, 뒤 부분에 호스트 주소(컴퓨터에 부여하는 주소)

-
클래스 A,B,C는 일대일 통신으로 사용, D는 멀티캐스트 통신, E는 예비용
-
각 클래스 구성과 범위

-
이 방식은 사용 주소보다 버리는 게 많아서 DHCP와 IPv6, NAT 가 나옴
DHCP
: IP 주소 및 기타 통신 매개변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜
- 네트워크 장치의 IP 주소를 수동 설정할 필요 없이, 인터넷 접속마다 자동 IP 주소 할당
- 대부분 가정용 네트워크에서 IP 주소 할당
NAT
: 패킷이 라우팅 장치를 통해 전송되는 동안, 패킷의 IP 주소 정보를 수정해, IP 주소를 다른 주소로 매핑하는 방법
- 공인 IP와 사설 IP로 나눠서 많은 주소 처리
- NAT를 가능하게 하는 소프트웨어 - ICS, RRAS, Netfilter
- 사설 IP를 공인 IP로 변환, 공인 IP를 사설 IP로 변환하는데 쓰임

- 그림처럼 사람마다 다른 IP를 가지고 있음 - 이는 사설 IP
-> NAT 장치를 통해 하나의 공인 IP로 외부 인터넷에 요청
=> NAT 장치를 통해 각각 다른 IP를 가진 것처럼 인터넷 사용
공유기와 NAT
- NAT를 쓰는 이유 - 주로 여러 대의 호스트가 하나의 공인 IP를 사용하여 인터넷에 접속하기 위함
-> ex) 인터넷 회선을 하나 개통하고 인터넷 공유기로 여러 PC 연결
-> 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문에 가능
NAT를 이용한 보안
- 내부 네트워크의 사용 IP가 외부에 드러나는 IP와 다르게 유지할 수 있어 어느 정도 보안 가능
NAT의 단점
- 여러 명이 동시에 인터넷 접속을 하므로, 실제 접속 호스트 숫자에 따라 접속 속도가 느려질 수 있음
IP 주소를 이용한 위치 정보
- IP 주소는 인테넷에서 사용하는 네트워크 주소이므로, 이를 통해 동,구까지 위치 추적 가능
- ex) mylocation 사이트 - IP 주소 기반으로 위치 찾는 사이트