3계층 프로토콜, IP 주소
3계층에서 하는 일 : 다른 네트워크 대역으로 데이터를 어떻게 전송할지 제어하는 역할, 발신측으로부터 수신측까지의 패킷 경로를 제어한다.
WAN에서 통신할 때 사용하는 주소 : IP주소
서브넷 마스크: 네트워크 대역의 크기를 명시
게이트 웨이: 다른 네트워크 대역과 통신하기 위한 주소이며, 보통 가장 작은 값이나 가장 큰 값으로 설정한다. 또한 이러한 게이트 웨이를 설정하지 않으면 다른 네트워크 대역과 통신할 수 없다.
3계층 프로토콜
IPv4 프로토콜: WAN에서 통신할 때 사용하는 프로토콜
ARP 프로토콜: IP주소로 MAC주소를 알아내는 프로토콜
ICMP 프로토콜: 서로 통신되는지 확인할 때 사용하는 프로토콜
IP 주소
Classful IP 주소
A~E 클래스가 있으며,
A 클래스: 0.0.0.0 ~ 127.255.255.255 (첫 필드만 네트워크 대역 구분으로 사용)
B 클래스: 128.0.0.0 ~ 191.255.255.255 ( 두번째 필드까지 네트워크 대역 구분을 위해 사용)
C 클래스: 192.0.0.0 ~ 223.255.255.255 ( 세번째 필드까지 네트워크 대역 구분을 위해 사용)
D 클래스: 224.0.0.0 ~ 239.255.255.255 ( 멀티 캐스트를 위해)
E 클래스: 240.0.0.0 ~ 255.255.255.255( 실험용)
하지만 이러한 클래스 풀 IP 주소는 주소 낭비가 매우 심함
따라서 그것을 보완하기 위해 Classless IP 주소 개념이 나왔다.
서브넷 마스크로 네트워크 대역을 정함
서브넷 마스크는 1이 나오는 중간에 0이 나올 수 없고 1인 구간이 네트워크 대역이다.
ex) 11111111.11111111.11111111.11000000
하지만 이 경우에도 어느정도 IP 주소 낭비가 일어남
결국 사설 IP 주소 개념이 생겼다.
공인 IP 1개당 사설 IP 주소 2^32개
우리가 평소에 인터넷을 구매하는 것이 바로 공인 IP 하나를 할당받는 것이다.
그리고 그 IP에 노트북, 피씨, 스마트폰, 태블릿을 연결할 때 사용하는 IP 주소가 바로 사설 IP이다.
해당 사설 IP는 다른 네트워크 대역과 통신하기 위해 나갈 때 공인 IP 주소로 변환되어서 나간다.
즉, NAT로 바꿔준다. NAT는 특정 IP를 특정 IP로 바꿔주는 기술이다.
그리고 외부에서는 사설 IP를 알 수 없고 공인 IP로만 통신이 가능하다.
따라서 내부에서 어떤 PC인지 알기 위해서 NAT 테이블에 송수신을 기록해둔다.
만약 테이블에 없는 수신이 온다면 수신하고 끝난다. 즉, 최종적인 전달이 이루어지지 않는다.
그렇다면 서버 PC의 경우 수신을 먼저 받아야 하는 경우가 많은데 어떻게 될까?
이러한 문제를 위해 서버 PC는 사설 IP를 사용하지 않음. 그러나 만약 사용한다 해도 방법은 있다.(포트 포워딩)
127.0.0.1 : 자기 자신의 IP 주소