

송신자
송신자의 네트워크 계층은 트랜스포트 계층으로부터 세그먼트를 받아 캡슐화 해 datagrams으로 만든다.(IP헤더를 붙임)
그리고 이 데이터 그램을 링크레이어에 전달하여 수신자에게 전송한다.
수신자
받은 데이터그램의 IP헤더를 제거하여 트랜스포트 레이어로 세그먼트를 전달한다.
이 과정에서 라우터를 지나게 되는데,
라우터는 트랜스포트 계층과 애플리케이션 계층을 지원하지 않으므로 프로토콜 스택에서 네트워크 계층의 상위 계층은 존재하지 않는다.
라우터각 라우터에는 다음 두개를 가진다.
data plane : 입력 링크에서 출력 링크로 데이터그램을 전달한다.control plane : 데이터그램이 출발지 호스트에서 목적지 호스트까지 전달되게끔 로컬 포워딩, 라우터별 포워딩을 대응시킨다.1. 포워딩(전달)라우터는 패킷이 도착하면 해당 패킷을 적절할 출력 링크로 보내는 것이다.
매우 짧은 시간 단위(보통 몇 나노초)를 갖기에 대표적으로 하드웨어에서 실행된다.
2. 라우팅네트워크 전반에 걸쳐 출발지에서 목적지까지 데이터그램의 전체 경로를 결정하는 것이다.
데이터를 송신할 때 네트워크 계층은 알고리즘을 라우팅 알고리즘을 통해 패킷 경로를 결정한다.
알고리즘을 라우팅 알고리즘: 각각의 라우터의 포워딩 테이블을 작성하는 것
(시간이 오래걸려 소프트웨어에서 실행된다.)
즉 포워딩은 어느 교차로를 빠져나오지? 하는 것과 같고,
라우팅은 출발지에서 목적지로 가는 전체적인 경로의 설정이라 생각하면 된다.
라우터에서 입력 링크에서 출력 링크로 데이터 그램을 전달하는 것 (포워딩)
즉, 각 라우터에서 데이터그램이 어떻게 포워딩 되는지를 담당한다.
(Local, per-router)
일반적으로는 패킷의 헤더의 IP정보와 포워딩 테이플을 매핑하여 적절한 출력 링크로 패킷을 올려보낸다.
전체적인 네트워크에서 패킷이 전송되는 data path를 결정하는 것 (라우팅)
전반적인 네트워크상에서 데이터가 어떻게 라우팅 되는지를 담당한다.
(network-wide logic)
전통적인 라우팅 알고리즘
Software Defined Networkin (SDN)
네트워크의 서비스 모델에는 다음의 종류가 있다.
각각의 데이터 그램에서의 서비스
데이터 그램의 flow에 대한 서비스
하지만 네트워크 레이어는 Best Effort 서비스이다.
앞서 말한 서비스를 보장해 주진 못한다.
하지만 보장해 주기 위해 최선을 다해서 Best Effort 서비스이다.

위의 서비스들을 보장해 주진 못하지만 우리는 네트워크 레이어를 통해 잘 통신을 하고 있다.
그럼에도 불구하고 Best-Effort 서비스 모델 다음과 같은 이유가 있기 때문이다.
단순한 메커니즘
간단하 때문에 인터넷이 널리 배포되고 채택될 수 있었다.
충분한 대역폭
충분한 대역폭이 제공되면, 실시간 애플리케이션(통화, 영상 스트리밍)도 대부분의 경우 "충분히 좋은" 성능을 발휘할 수 있다.
분산된 애플리케이션 계층 서비스
(데이터센터, CDN)가 클라이언트와 가까운 곳에서 서비스 제공을 가능하게 하여 효율성을 높였기 떄문이다.
탄력적인 서비스의 혼잡 제어
(TCP의 혼잡 제어)덕분에 네트워크 효율성 증가했다.