두 호스트 사이에 네트워킹이 이뤄지는 과정
- 두 호스트 사이에는 중계 라우터가 있다고 가정
과정
- 송신자 네트워크 계층은 본인의 트랜스포트 계층으로부터 세그먼트를 얻는다.
- 각 세그먼트를 데이터그램으로 캡슐화하고, 인접한 라우터에게 데이터그램을 전송
- 수신 호스트의 네트워크 계층은 트랜스포트 계층 세그먼트를 추출 후,
본인의 트랜스포트 계층가지 전달 - 네트워크 제어 평면에 의해 출발지 ~ 목적지 호스트까지 전송되도록 함
→ 이때 로컬 포워딩, 라우터 별 포워딩 등을 대응시킴
의미
- 각 라우터 데이터 평면 역할
→ 입력 링크에서 출력 링크로 데이터그램을 전달하는 것 - 네트워크 제어 평면의 근본적인 역할
→ 데이터그램이 출발지 ~ 목적지까지 전달되게끔 로컬, 라우터별 포워딩을 대응시킨 것
라우터 프로토콜 스택
- 트랜스포트 계층과 애플리케이션 계층을 지원하지 않음
→ 프로토콜 스택에서 네트워크 계층의 상위 계층은 존재 X
포워딩과 라우팅 : 데이터 평면과 제어 평면
네트워크 계층의 주요 기능
- 네트워크 계층의 근본적 역할 → 송신 ~ 수신 호스트로 패킷을 전달하는 것
포워딩(전달)과
라우팅
2가지가 주요 기능
포워딩(전달)
- 패킷이 라우터 입력 링크에 도달했을 때
→ 라우터는 그 패킷을 적절한 출력 링크로 이동시켜야 함
- 예시
- 송신 호스트에서 R1 라우터에 도착했을 때
→ 수신 호스트로 가기 위한 경로상에 있는 라우터로 전달돼야 함
- 송신 호스트에서 R1 라우터에 도착했을 때
- 예시
- 데이터 평면에서 실행되는 포워딩의 기능
- 패킷이 라우터에서 나갈 때 막힐 수도 있음
- 패킷이 악의가 있는 호스트로부터 보일 수 있음
- 패킷이 악의가 있는 호스트로부터 보일 수 있음
- 복제되어 여러 링크로 전송될 수 있음.
- 패킷이 라우터에서 나갈 때 막힐 수도 있음
라우팅
- 패킷을 전송할 때 네트워크 계층은 패킷 경로를 결정
→ 이러한 경로를 계산하는 알고리즘을 라우팅 알고리즘이라고 함 - 패킷 전송 라우팅은 네트워크 계층의 제어 평면에서 실행됨
포워딩과 라우팅의 차이점
- 포워딩(forwarding)
- 매우 짧은 시간 단위를 갖는다.
→ 대표적으로 하드웨어에서 실행됨
- 매우 짧은 시간 단위를 갖는다.
- 라우팅(routing)
- 네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램 종단 경로를 결정
- 라우팅은 보통 긴 시간(보통 초) 단위를 갖는다.
→ 대표적으로 소프트웨어에서 실행됨
예시를 통해 차이점 명확하게 구분하기
- 가정 : 부산에서 서울까지 여행한다고 가정
- 여행 동안에 운전자는 많은 교차로를 지난다.
포워딩
← 한 교차로를 지나는 과정- 차가 하나의 도로에서 교차로로 들어서면, 다음에 어떤 도로로 갈지 결정
- 여행을 시작하기 전 운전자는 부산에서 서울까지 지도를 살펴보는데,
일련의 교차로에 연결된 도로에서 이용 가능한 경로를 선택한다.라우팅
← 부산에서 서울까지 여행을 계획하는 과정