[네트워크] 인터넷 계층 - IP와 라우터
인터넷(네트워크) 계층은 IP 주소를 이용해 최종 목적지까지 이동하는 역할을 맡는다. 방대한 인터넷에서 네트워크 간의 이동을 라우터가 처리해주며 그 과정에서 IP를 이용한다. 인터넷 계층의 핵심 프로토콜인 IP와 경로 라우팅을 위한 핵심 장비인 라우터에 대해서 알아보자.
IP
IP(Internet Protocol)은 인터넷에서 데이터 패킷을 송수신할 수 있는 규약이다. IP 주소를 이용하여 목적지까지 경로를 찾아간다. IP는 신뢰성을 보장하지 않아 패킷 전송 중 손실 문제가 발생 할 수 있다. 이러한 문제로 신뢰성을 보장하는 전송계층의 TCP와 함께 사용된다. IP 프로토콜의 헤더에는 IP의 버전과 출발지, 목적지의 IP 주소 등을 가지고 있는데 이 정보를 이용해서 목적지를 찾아간다.
IP 주소
IP 주소(IP Address)는 인터넷에서 고유한 주소로써 인터넷 상의 다른 장치간의 통신을 가능하게 하며 최종 목적지까지 찾을 수 있게 도와준다. IP(v4)는 32비트 주소 체계를 사용하며 .
구분자를 이용하여 8비트씩 끊어 표시한다. 따라서 다음과 같은 범위를 지닌다.
0.0.0.0
~255.255.255.255
(더 깊게 들어가보면 IP 주소는 공공IP와 사설IP로 나눠지며 고갈문제로 IPv6도 등장하였다. 이는 이후 포스트에 자세하게 다뤄보자)
IP 주소 할당방식
과거에는 네트워크 규모에 따라 A~E 클래스로 나누는 클래스 할당 방식을 사용하였다. 하지만 이 방식은 각 클래스마다 네트워크ID, 호스트ID의 수가 정해져 있기 때문에 IP를 효율적으로 할당 하지 못했다. 이는 인터넷이 급격하게 발전하는 시대에 IP고갈문제를 초래하였고 새로운 할당 방식을 사용하게 되었다.
지금은 CIDR
(Classless Inter-Domain Routing, 싸이더)로 대체하여 유연하게 네트워크 ID와 호스트 ID 범위를 표시한다. 이 방식은 IP 주소 뒤에 /{네트워크ID 비트수}
를 표시한다. 따라서 보다 유연하게 IP를 할당할 수 있게 되었다.
203.255.60.0/24
-> 203.255.60 이 네트워크ID, 나머지가 255개가 호스트17.0.0.0/8
-> 17. 이 네트워크 ID, 뒤가 17.x.x.x 부분이 전부 호스트
💡 IP 주소 구성방식
IP는 네트워크 ID과 호스트 ID으로 나눠진다.
- 네트워크ID : 어떤 네트워크(소속)인지를 나타냄
- 호스트ID : 해당 네트워크(소속)의 어느 컴퓨터인지를 나타냄
💡 할당불가 주소
호스트ID 중 사용할수 없는 주소가 2개 있다. 해당 대표 네트워크를 가리키는 주소인 x.x.x.0
과 브로드캐스트 시 이용하는 x.x.x.255
이다.
라우터
라우터는 네트워크 사이를 연결하여 서로다른 네트워크 간의 통신을 가능하게 만들어주는 장치이다. IP를 활용하여 목적지까지 데이터를 전송할 수 있다.
라우터의 역할
라우터는 다른 네트워크 장비로 부터 데이터를 받고 최적의 경로로 데이터를 전송해준다. 이 때 라우터는 크게 2가지 과정을 거친다.
포워딩(Forwarding)
- 수신한 데이터를 목적지로 향하는 포트로 전달하는 과정
- 패킷의 물리적인 전달 역할
라우팅(Routing)
- 수신한 데이터를 전달하기 위한 경로를 결정하는 과정
- 목적지 주소확인, 어떤 네트워크(포트)로 전달할지 결정한다.
- 이 과정에서 목적지까지의 최적경로 계산 등 여러 프로토콜 사용(RIP, OSPF, BGP)
라우터의 동작과정
- 패킷 수신 및 분석
- 수신한 패킷의 IP 헤더 분석(목적지 IP 주소 확인)
- 다음 목적지로 패킷을 전달하기 위함
- 경로 탐색(주기적으로 진행)
- 경로 탐색(RIP, OSPF, BGP 등의 프로토콜 사용), 라우팅 테이블 업데이트
- 네트워크 상태 확인(ICMP 사용)
- 다음 목적지 결정
- 라우팅 테이블 참조하여 최적경로 선택
- 다음 목적지로 패킷 전달(MAC주소 이용)
- ARP를 이용해 IP를 MAC주소로 변환
- 최종 목적지에 도착하기 전까지 위 과정 반복
💡 라우팅 테이블
라우터가 가지고 있는 연결된 라우터들의 IP 리스트이다. 라우터는 경로 선택 시 라우팅 테이블을 참고하여 경로를 결정한다. 라우팅 테이블은 라우터끼리 주기적으로 정보를 교환하여 업데이트하는 동적 라우팅과 수동으로 등록하는 정적 라우팅으로 나누어진다.
🤔 통신 시 IP주소와 MAC주소를 함께 사용하는 이유
IP는 인터넷에서 유일하며 MAC주소 또한 그렇다. 둘 다 유일하다면 둘 중 하나만 사용하면 되지 않을까? 통신에서 IP 주소는 논리적인 주소로 라우팅을 위해 사용되고 MAC 주소는 믈리적인 주소로 패킷 전송을 위해 사용된다. 따라서 만약 IP주소가 없다면 방대한 네트워크에서 위치를 찾을 수 없고 MAC주소가 없다면 목적지 네트워크 장치를 인식하지 못해 통신하지 못한다.
라우터의 다양한 기능
라우터는 데이터 전송, IP와 관련하여 라우팅 뿐 아니라 다양한 기능을 가지고 있다. (NAT, DHCP와 같은 기능은 IP 고갈문제를 해결하기 위해 사용된 기술이기도 하다. 다음 포스트에서 자세하게 알아보자)
- 방화벽 기능(패킷 필터링, 포트 포워딩, NAT)
외부 접근을 제한해 내부 네트워크를 보호하고 안전한 네트워크 운영을 지원한다.패킷 필터링
- 특정 패턴의 패킷을 차단해 보안 강화포트 포워딩
- 내부 네트워크의 특정 포트로 들어오는 요청 허용NAT(Network Address Translation)
- 사설 IP를 공인 IP주소로 변환ACL(Access Control List)
- 출발지/목적지IP, 포트번호 등을 기준으로 접근제어
- 게이트웨이
- 서로 다른 네트워크 간의 데이터 전송 가능
- DHCP 서버
- 네트워크에 연결된 장치에 IP주소, 네트워크 설정 정보를 자동할당
댓글남기기