이전에 OSI 7 계층에 대한 조사한 내용 중 네트워크 계층에 대해 정리한 내용을 가져왔다.
네트워크 계층
데이터 패킷의 경로를 결정하고, 서로 다른 네트워크 간의 통신을 가능하게 합니다.
기능: IP 주소(인터넷 프로토콜 주소)를 사용한 패킷 라우팅, 네트워크 간의 데이터 전송, 혼잡 제어
위 와 같이 정의한 후 이해를 돕기 위해 간단히 예시를 들어놓았었다.
일단 OSI 7단계는 인터넷을 이용해서 한 컴퓨터에서 다른 컴퓨터로 무언가를 보내는 과정, 즉 통신을 표준화하기 위해 제안된 구조이다.
컴퓨터와 컴퓨터는 수많은 라우터(우체국, 물류창고)로 연결되어 있고, 데이터 패킷의 경로가 네트워크 계층에서 결정된다. 이때 전송 시 IP주소가 필요하고, 라우팅으로 경로를 선택하여 패킷(택배)이 전송된다
SI 7계층 전체를 정리하느라 각 계층을 위처럼 짧게 정리만 하였는데, 이번 글에서 네트워크 계층에 대해 알아보려 한다.
일단 컴퓨터끼리 통신을 한다고 가정할 때, 같은 LAN에 있는 호스트들끼리 패킷을 주고받는 경우가 있다. LAN은 Local Area Network의 약자로, 같은 LAN의 호스트들끼리만 통신한다는 것은 물리적 위치에 제한이 있어 한 건물, 사무실, 학교 내의 네트워크에서 통신한다는 것을 의미한다.
다만 우리가 생각하는 일반적인 인터넷 통신은 같은 LAN에서 통신하는 경우와는 다르다. 이는 LAN의 한정된 물리적 범위를 넘어, 전 세계의 다양한 네트워크를 통해 이루어지는 통신을 의미한다. 이러한 통신을 위해 네트워크 계층이 존재한다.
네트워크 계층에서는 IP 주소라 하는 주소체계를 통해 송수신지의 대상을 지정하고, 라우팅을 통해 다른 네트워크에 이르는 최적의 경로를 결정해 준다.
IP(Internet Protocol)란?
IP(Internet Protocol)는 컴퓨터 네트워크에서 데이터 패킷을 전송하기 위한 프로토콜이다. 네트워크에서 가장 중요한 프로토콜이라 할 수 있으며, 서로 다른 네트워크에 있는 장치들 간의 통신을 가능하게 하기 위해 IP 주소를 사용하여 패킷의 출발지와 목적지를 지정한다.
두 개의 기본 기능으로는 주소지정, 단편화가 있다
주소지정 : IP주소로 특정 네트워크에 특정 호스트를 지칭하는 데 사용
단편화 : 전송하고자 하는 패킷의 크기가 클 때 여러 개로 쪼개서 보내는 것.
MTU라고 하는 정해진 크기보다 클 때, 이보다 작은 여러 개의 패킷으로 나누어서 보내게 된다.
MTU(Maximum Transmission Unit) : 네트워크에서 한 번에 전송할 수 있는 최대 데이터 패킷 크기(보통 1500바이트)
IP에 의해 캡슐화되는 IP 패킷은 제어정보를 설정하는 IP 헤더, 데이터 자체를 나타내는 IP 페이로드로 구성되어 있다.
우리가 일반적으로 알고 있는 ip주소의 형태는 192.168.0.1와 같은 형태로 IPv4의 형태이다. 32비트로 구성되며, 점으로 구분된 4개의 10진수(0~255)로 표현된다. 이때 약 43억 개의 주소를 제공할 수 있다고 한다. 충분해 보일 수 있지만, 주소 부족 문제가 발생할 만큼 쉽게 고갈될만한 양이다.
IPv6 주소는 128비트로 구성되며, 16진수로 표현된다. 8개의 그룹으로 나뉘어 있으며, 각 그룹은 콜론(:)으로 구분된다.
이렇게 표현 시 사실상 무한한 주소 공간을 제공하여 주소 부족문제에 구애받지 않는다고 한다. 추가로 연속된 0을 생략하여 간소화된 형태로도 표현할 수 있다.
ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334 >> 2001:db8::1
라우팅이란?
라우팅은 네트워크 간 통신에서 데이터 패킷이 이동할 최적의 경로를 결정하는 과정으로, 데이터가 출발지에서 목적지까지 효율적으로 전달될 수 있도록 도와준다. 네트워크 계층의 핵심 기능 중 하나로, 패킷이 여러 네트워크를 거쳐 이동할 때 필요한 경로를 설정한다.
라우팅을 수행하는 장비는 라우터로, 패킷을 수신하여 목적지 IP 주소를 확인한 후, 해당 패킷을 다음 홉(next hop) 라우터로 전달하는 역할을 한다. 이 과정에서 라우터가 라우팅 테이블을 참조하여 최적의 경로를 선택하는 것이다.
라우팅 테이블은 라우터가 어떤 패킷을 어디로 이동시켜야 하는지에 대한 정보를 담고 있는 데이터 구조로, 테이블에는 목적지 IP 주소와 함께 해당 패킷을 전달할 다음 홉 라우터의 주소가 포함되어 있다.
라우팅 테이블은 수동으로 설정할 수 있는 정적 라우팅과, 라우터들이 서로 정보를 교환하여 자동으로 업데이트되는 동적 라우팅 방식으로 생성될 수 있다.
- 정적 라우팅(Static Routing): 네트워크 관리자가 수동으로 경로를 설정하는 방식입니다. 이 방법은 관리가 간편하지만, 네트워크의 변화에 즉각적으로 반응하지 못하는 단점이 있습니다.
- 동적 라우팅(Dynamic Routing): 라우터들이 서로 정보를 교환하여 라우팅 테이블을 자동으로 업데이트하는 방식입니다. 이 방법은 네트워크 환경의 변화에 빠르게 적응할 수 있지만, 때때로 오류가 발생할 경우 원인 파악이 어렵습니다.
- 직접 연결 방식(Connected) : 라우터끼리 물리적으로 직접 연결된 경로를 학습하는 방식. 별다른 설정 없이도 경로만 활성화되어 있다면 자동으로 학습되어 타우팅 테이블에 알아서 등록된다.
- 재분재(Redistribution) : 서로 다른 라우팅 프로토콜을 하나로 합쳐야 할때 재분배를 통해 하나로 합병하는 방식. 두 라우팅 프로토콜간의 호환성을 유지할 수 있고, 각자의 방식을 유지하며 상대의 정보를 변환해 받아들인다.
네트워크 계층은 데이터 통신에서 필수적인 역할을 하며, 다양한 네트워크 간의 연결을 가능하게 한다.
IP 주소 체계를 통해 송수신지의 대상을 지정하고, 라우팅을 통해 최적의 경로를 결정함으로써 효율적인 데이터 전송을 지원한다.
네트워크 계층에 대한 이해는 네트워크 설계, 관리 및 문제 해결에 중요한 기초가 된다. 이러한 지식을 바탕으로, 더욱 효율적이고 신뢰할 수 있는 네트워크 환경을 구축할 수 있다.