네트워크 계층

김민구·2023년 6월 27일
0

컴퓨터 네트워크

목록 보기
7/13

네트워크 계층은 서로 상호작용하는 데이터 평면(data plane)과 제어 평면(control plane)으로 나뉠 수 있다.

간단한 예시를통해 네트워크 계층이 하는 일을 살펴보도록 하자.

H1이 H2에게 정보를 보낸다고 생각하자.

  1. H1의 네트워크 계층은 트랜스포트 계층으로부터 세그먼트를 받아 데이터그램으로 캡슐화
  2. 가장 가까운 인접 라우터에게 데이터그램을 보낸다.
  3. H2의 네트워크 계층에 도착한 데이터그램은 트랜스포트 계층으로 전달됨

각 라우터의 ‘데이터 평면’의 역할은 라우터의 입력 링크에 도착한 데이터그램을 적절한 출력 링크로 전달하는 것이다.

‘제어 평면’의 역할은 데이터 그램이 송신 호스트에서 수신 호스트까지 잘 전송될 수 있도록 패킷의 경로를 결정하는 것이다.

그리고 네트워크 계층의 근본적인 역할은 송신 호스트에서 수신 호스트까지 패킷을 잘 전달하는 것이다.

그렇다면, 어떻게 잘 전달할 수 있을까? → 포워딩과 라우팅을 사용해 전달함

‘포워딩’은 데이터 평면에 구현된 기능으로 입력 링크에 도착한 패킷을 ‘포워딩 테이블’을 참조하여 적절한 출력링크로 전달하는 것이다.

‘라우팅’은 송신자가 수신자에게 패킷을 전송할 때, 네트워크 계층은 라우팅 알고리즘을 통해 최적의 경로를 찾아낸다.

네트워크 라우터에서 필수 요소는 ‘포워딩 테이블’이다. 라우터는 도착하는 패킷 헤더의 필드값을 참조하여 포워딩한다. → 그렇다면 어떻게 ‘포워딩 테이블’이 만들어 지는걸까?

바로, 라우팅 알고리즘을 통해 ‘포워딩 테이블’은 만들어진다.

4.2 라우터 내부의 구조는 어떻게 생겼을까?

입력포트에서 가장 중요한 기능은 ‘검색 기능’이다.

‘검색 기능’을 통해 포워딩 테이블을 참조하여 적절한 출력 포트를 결정할 수 있기때문이다.

4.3.2 IPv4 데이터그램 단편화

링크 계층 프로토콜마다 전달할 수 있는 데이터그램의 크기가 다르다. 각 링크 계층 프로토콜이 전달할 수 있는 최대 데이터 양을 MTU라고 부른다. 만약에 데이터그램의 길이가 MTU보다 크다면, 데이터그램을 단편화(쪼개기)시켜 전달하게 된다. (이때, 수신 호스트에 도착한 데이터그램은 트랜스포트 계층에 전달되기 전에 재결합되어야한다)

4.3.3 IPv4 주소체계

호스트와 물리적 링크 사이의 경계를 ‘인터페이스’라고 부른다.

이 그림에서 라우터는 3개의 인터페이스를 갖고 있고, 총 7개의 호스트를 연결하고 있다.

현재 서브넷은 각각 (223.1.1.0/24 , 223.1.2.0/24 , 223.1.3.0/24)의 주소를 가진다.

여기서 ~0/24 라는 의미는 왼쪽부터 24비트가 서브넷 주소라는 것을 의미한다.

이 그림에서는 총 6개의 서브넷이 존재한다

[223.1.1 , 223.1.2 , 223.1.3 , 223.1.9 , 223.1.8 , 223.1.7]

자 이제 생각을 해보자. 호스트는 IP주소를 할당받아, 서브넷에 접속해야한다. 그렇다면 IP주소는 어떻게 할당받을까? → 호스트 주소 획득: 동적 호스트 구성 프로토콜(DHCP)

호스트는 DHCP를 통해 IP주소를 할당받는다. 따라서, 호스트가 처음으로 네트워크에 연결할때나, 네트워크를 이동하면서(새로운 서브넷에 접속할때) 새로운 IP주소를 할당받을 필요가 있을때 DHCP로부터 IP주소를 할당받게 된다.

지금까지 데이터 평면에서 일어나는 활동들을 살펴보았다.

지금부터는 제어 평면에 대해서 이야기 해보겠다.

제어 평면이란 네트워크 전체를 아우르는 구성요소로서, 데이터그램이 송신 호스트에서 목적지 호스트까지 경로상의 라우터들 간에 어떻게 전달되어야 하는지 결정한다.

LS(Link State) 라우팅 알고리즘은 주위의 정보를 전체에게 전달.
DV(Distance Vector) 라우팅 알고리즘은 전체의 정보를 이웃에게 전달.

라우팅 알고리즘에는 RIP, OSPF, BGP가 존재한다. (AS: Autonomous System 자율 시스템.)

(RIP, OSPF)는 AS’내’에서 사용되는 라우팅 알고리즘이다. 특히, OSPF는 링크상태(LS) 알고리즘이다.

반면, BGP는 AS’사이’에서 사용되는 라우팅 알고리즘이다.

동일한 AS안에서는 OSPF 알고리즘이 사용되고, 서로 다른 AS들을 거치기 위해서는 BGP 알고리즘을 사용한다.

즉, KT와 SKT사이를 오갈때는 BGP알고리즘을, 동일한 SKT내에서는 OSPF알고리즘이 사용되는것이다.

profile
성장하는 개발자가 되고싶어요😀

0개의 댓글