네트워크에서 통신이 일어나는 과정은 OSI 7계층과 TCP/IP 4계층으로 나눌 수 있는데 네트워크 계층은 둘 다 포함되어있다.
먼저 OSI 7계층에서의 네트워크 계층은 3계층에 위치하며 IP datagram을 주고받는다. datagram은 Header와 data로 구성되어 있다.
Header에서는 송신자, 목적지의 IP 주소, 데이터 큭, 전송 상태, 오류 검사 등의 정보를 담고 있다.
주요 구성요소는 IPv4, IPv6 냐에 따라 다르며 IPv4의 경우 Version, HeaderLength, Type of Service, Total Length, Identification, Flgs, Fragment Offset, Time to Live 등등이 있다.
Data 내에는 상위계층(4계층)으로 전달될 실제 전송 데이터, 즉 payload를 담고있다.
데이터가 전송 가능한 크기를 초과할 경우, 데이터를 여러 조각으로 나누어 전송하며 이를 프래그먼테이션이라고 한다.
4계층의 프로토콜에 따라 TCP 세그먼트나 UDP 데이터그램 형식으로 전달한다.
IP란
네트워크 계층에서 사용되는 프로토콜로, 데이터 패킷을 송신지에서 수신지까지 전달하기 위한 규칙과 구조를 정의한다.
데이터 전송과정에서 네트워크의 다양한 장치와 라우터를 통해 패킷이 이동하며, 각각의 장치가 서로를 식별하기 위해 IP 주소를 사용한다.
특징으로는 비연결형, 패킷 기반 통신, 주소 체계, 최적 경로 선택이 있다.
IP 주소 체계로는 IPv4, IPv6가 있다.
IPv4는 32비트 주소 쳬게로 4개의 8비트 숫자로 구성된다.(ex. 192.168.1.1) 최대 약 43억개의 주소를 제공하지만 인터넷의 확장으로 이 또한 부족하게 되었다. 네트워크와 호스트를 식별하기 위해 서브넷 마스크를 사용하며 분할한다.
IPv6는 128비트 주소 체계로 8개의 16비트 숫자로 구성된다. (ex. 2001:0db8:85a3:0000:0000:8a2e:0370:7334)
IPv6는 IPv4의 주소 부족 문제를 해결하기 위해 개발되었으며, 더 많은 주소 공간을 제공한다. 특징으로는 주소 자동 설정과 보안 기능 내장이 있다.
IP 주소의 종류
1. 공인 IP 주소 - 인터넷에서 고유한 주소, ISP에 의해 할당됨
2. 사설 IP 주소 - 내부 네트워크에서만 사용, NAT를 통해 공인 IP와 연결
라우팅이란
네트워크 계층에서 데이터 패킷이 송신지에서 수신지까지 이동할 경로를 결정하는 과정을 말한다. 이 과정을 수행 시 라우터는 최적의 경로를 찾기 위해 다양한 알고리즘과 프로토콜을 사용한다.
주요 과정
1. 경로 선택 - 최적의 경로 선택
2. 패킷 전달 - 선택된 경로를 따라 패킷 전달
3. 경로 업데이트 - 네트워크 상태 변환에 따라 경로 정보 갱신
라우팅의 종류
종류로는 정적 라우팅과 동적 라우팅이 있다.
정적 라우팅은 관리자가 직접 경로를 설정하며, 간단하고 작은 네트워크에서 유용하게 사용된다. 단점으로는 관리자가 직접 경로를 설정하기에 네트워크에 변화가 발생하면 수동으로 업데이트를 진행해야한다.
동적 라우팅은 라우터가 자동으로 경로를 설정하고 업데이트 하며 라우팅 프로토콜을 사용한다. 라우팅 프로토콜은 네트워크 상태에 따라 유연하게 작동하며 대표적으로 RIP, OSPF, BGP 가 있다.
RIP - 거리 벡터 기반 프로토콜, 경로의 홉(hop) 수를 기준으로 최적 경로를 선택
OSPF - 링크 상태 기반의 프로토콜로, 네트워크 전체의 맵을 사용해 최단 경로 계산
BGP - 인터넷과 같은 큰 네트워크에서 사용하는 경로 벡터 기반 프로토콜, 자율 시스템 간의 경로를 관리