1. 목적
한 호스트에서 다른 호스트로 패킷을 전달 하는 것이 목적이다.
2. 주요기능
네트워크 레이어의 중요한 기능은 포워딩(forarding)과 라우팅(routing)이다.
1) 포워딩
라우터의 인풋 링크로 패킷이 들어왔을 때, 라우터는 해당 패킷을 적절한 아웃풋 링크로 보내야한다.
2) 라우팅
패킷이 송신자로부터 수신자로 잘 전달이 될 수 있도록 경로를 결정해야한다. 이런 경로를 결정하는 것이 라우팅 알고리즘이다. 라우팅 알고리즘은 중앙에서 결정되거나 라우터들이 서로 통신하여 결정하는 방법이 있다.
운전하는 상황을 비유로 들어보면, 라우팅은 고속도로 인터체인지에서 어떤 길로 빠져나갈지 결정하는 것을 의미하며, 포워딩은 이런 인터체인지를 빠져나가는 것을 의미한다.
모든 라우터들은 라우팅 테이블을 가지고 있으며, 패킷해더를 확인하여 나가야되는 인터페이스 링크를 선택한다.
3. Virtual Circuit and Datagram Network
트랜스포트 레이어(transport layer)의 TCP, UDP와 비슷하게 네트워크 레이어(Network layer)에서도 connectionless service와 connection 서비스를 제공한다. 네트워크 레이어의 connection/connectionless service는 host-to-host 서비스이며 트랜스포트 레이어를 위한 서비스이다. 트랜스 포트 레이어의 경우 process-to-process 서비스이며 이는 어플리케이션 레이어를 위한 서비스이다.
connection 서비스만 제공하는 컴퓨터 네트워크의 경우 virtual-circuit (VC) network라고 하며, connectionless service만 제공하는 경우는 datagram network 라고 한다.
3.1 Virtual-Circuit Network
라우터들은 커넥션 스테이트 정보를 유지해야된다. 새로운 연결이 생길 때마다, 이 커낵션의 엔트리가 라우터의 포워딩 테이블에 추가되어야 한다. 커넥션이 종료된 이후에는 이 엔트리는 삭제되어야 한다.
VC의 연결과 종료에는 3개의 단계가 있다.
1) VC setup - 네트워크 레이어가 송신자와 수신자 사이의 경로를 설정하고 VC number를 결정한다. 그리고 각 라우터의 포워딩 테이블에 엔트리를 추가한다.
2) Data transfer - VC를 통해서 패킷이 전달된다.
3) VC teardown - 송신자가 VC를 종료하고 싶다고 알려주면 시작된다. 셋업 단계에서 추가했던 엔트리를 삭제한다.
3.2 Datagrame Network
VC네트워크와는 달리 셋업과정이 없고, destination addess 만을 이용해서 패킷을 전달한다. IP주소는 32bit이므로 4백만개 이상의 주소가 있고, 이 모든 주소에 대해서 포워딩 테이블을 작성하는 것은 불가능하다. 그래서 prefix match를 이용하여 목적지 주소가 매칭되는 곳에 패킷을 보낸다. 주소가 여러 prefix에 매칭될 수도 있는데 가장 길게 매칭되는 것을 사용한다(longest prefix matching rule).