네트워크 정리 5. 패킷화, 라우팅, 포워딩 정리
1. 개요
네트워크 계층에선 패킷화(Packetizing), 라우팅(Routing), 포워딩(Forwarding) 이라는 기능을 제공한다.
각각 어떠한 기능인지 정리해보려 한다.
2. 정리
2-1. 패킷화(Packetizing )
- 네트워크 계층의 첫번째 임무
- 상위 계층에서 받은 데이터인 페이로드(Payload)를 네트워크 계층의 패킷으로 캡슐화(Encapsulation) 후
목적지에서 네트워크 계층의 패킷을 역 캡슐화 - 네트워크 주요 역할
1. 발신지에서 목적지까지 페이로드를 사용하거나 변경하지 않고 전달
2. 발신지 호스트 : 상위 계층 프로토콜로부터 페이로드를 수신하여 발신지와 목적지 주소를 포함한 헤더와
네트워크 계층에 필요한 다른 정보를 더하여 패킷을 데이터링크 계층으로 전달
3. 목적지 호스트 : 데이터리크 계층으로부터 네트워크 계층 패킷을 수신하고, 패킷을 역캡슐화
(Decaptulation)한 뒤, 페이로드를 상응하는 전송 계층 프로토콜로 전달
캡슐화란 전송 도중에 누군가가 엿보거나 수정할 수 없도록, 내용을 숨기는 것을 말한다.
역캡슐화란 말 그대로 캡슐화를 풀어서 내용을 확인하는 것을 말한다.
2-2. 라우팅(Routing)
라우팅이란 루트(이동 경로)를 찾는 것을 말한다.
- 네트워크 계층은 패킷이 발신지에서 목적지까지 갈 수 있도록 경로를 라우팅해야 한다.
- 물리적인 네트워크는 네트워크(LAN과 WAN)와 네트워크를 연결하는 라우터의 조합
- 발신지에서 목적지까지 적어도 하나 이상의 라우터가 있다는 의미
- 라우팅 프로토콜(Routing Protocol) : 네트워크 상태 및 경로 등에 대한 라우팅 정보를 라우터들
상호간에 동적으로 교신하기 위해 약속된 하나의 언어
이전 포스팅에서 정리했지만 다시 간단하게 정리하면, 만약 서울에서 부산까지 편지를 보낸다고 하면
서울 우체국에서 부산 우체국으로 직송되기 보다, 대전, 대구 등 다른 도시에 있는 우체국을 경유하는
경우가 많다.
편지에는 최종 목적지인 부산이 적혀있지만, 중간 경유지인 대전, 대구의 주소도 적혀있다.
이 경우, 대전, 대구 등 중간 경유지의 주소가 물리적인 네트워크와 같다고 볼 수 있다.
2-3에서 정리할 내용이지만, 미리 꺼내면 라우팅은 포워딩 테이블을 만들고 갱신하는 것이다.
2-3. 포워딩(Forwarding)
- 각 라우터의 의사결정 테이블을 만들기 위해 라우팅에 규칙을 적용하고 라우팅 프로토콜을 실행하는 작업
- 라우터 상의 하나의 인터페이스로 패킷이 도착했을 때 라우터가 취하는 행동으로 정의
- 라우터가 일반적으로 사용하는 의사결정 테이블
1. 포워딩 테이블(Forwarding table)
2. 라우팅 테이블(Routing table) - 라우터가 하나의 네트워크로부터 패킷을 수신하면 해당 패킷을 다른 하나의 네트워크로 포워딩하거나,
여러 네트워크로 포워딩 함 - 이런 결정을 위해 라우터는 패킷 헤드에 있는 목적지 주소나 레이블 정보를 사용하여 포워딩 테이블에서
상응하는 출력 인터페이스 번호를 찾는다.
간단하게 정리하면, 포워딩 테이블을 찾아보고, 올바른 장소로 패킷을 인풋, 아웃풋 하는 작업을 포워딩이라 한다.
2-4. 포워딩과 라우팅의 개념적 차이
포워딩 : 패킷을 받고, 보내는 작업
라우팅 : 올바른 곳으로 포워딩 할 수 있게, 포워딩 테이블을 만들고, 갱신하는 작업
관점의 차이로 설명한다면, 포워딩은 각 라우터 안에서 일어나는 작업을 말한다.
라우팅은 출발지부터 도착지까지 이동하는 경로를 짜는 것이다.
이어지는 작업이지만, 굳이 따진다면 라우팅이 더 큰 관점을 가진다고 볼 수 있다.