네트워크 계층의 서비스

강승구·2023년 3월 21일
0

패킷화


패킷화는 네트워크 계층이 제공하는 서비스 중 하나로 상위 계층에서 받은 데이터인 Payload를 네트워크 계층의 패킷으로 캡슐화 (Encapsulation)한 후 목적지에서 네트워크 계층의 패킷을 역캡슐화한다.

payload란 전송되는 데이터를 말한다.
아래 json 데이터에서 data부분이 실제 전송하고자하는 데이터인 payload이고 그 외의 데이터들은 payload의 전송을 용이하게 해주는 부차적인 정보들이다.

{
	"status" : 
	"from": "localhost",
	"to": "http://melonicedlatte.com/chatroom/1",
	"method": "GET",
	"data":{ "message" : "There is a cutty dog!" }
}

라우팅과 포워딩

라우팅

패킷 단위로 출발지부터 목적지까지 경로를 설정한다. 네비게이션 역할을 하며, 최단거리를 찾는 알고리즘을 사용한다.

라우팅 테이블

라우팅 알고리즘을 통해 만들어지는 테이블이다. RIP나 OSPF 같은 라우팅을 만드는 방법(protocol)을 라우팅 알고리즘이라고 한다. 라우팅이란 라우팅 알고리즘을 사용하여 포워딩 테이블을 만드는 작업이다.
라우팅 테이블을 만드는 과정이 출발지부터 목적지까지 경로를 찾는 일이 된다.

포워딩

라우터의 입력 포트에서 출력 포트로 패킷을 이동시키는 것을 말한다.
라우팅 알고리즘을 통해 포워딩 테이블(Forwarding table)이 만들어지고 라우팅 테이블(Routing table)을 만드는 과정이 데이터가 이동하는 최종 경로가 된다고 할 수 있다.

포워딩 테이블

라우팅 테이블을 참조하여 만들어지는 테이블이다. 많은 경로 중 비용이 작은 경로를 선택하는 라우팅 알고리즘을 통해 선택된 경로를 저장해 둔 것이 포워딩 테이블이다.

패킷 교환

패킷 교환은 송신 측에서 전송하고자하는 모든 데이터를 일정한 크기의 패킷으로 분해해서 전송하고, 수신 측에서 이를 원래의 데이터로 조립하는 것이다.

패킷 교환의 특징

  • 다중화 : 패킷을 여러 경로로 공유한다.
  • 채널: 가상 회선 혹은 데이터그램 교환 채널을 사용한다.
  • 경로 선택 : 패킷마다 최적의 경로를 설정한다.

패킷교환은 경로를 배정하는 방식(routing)에 따라 데이터그램(datagram) 방식과 가상 회선(virtual circuit) 방식으로 구분된다.

가상 회선

가상 회선 방식은 연결형 서비스를 지원하기 위한 기능으로 데이터를 패킷 단위로 나누어 전송한다. 또한 가상 연결 설정을 통해 전송되는 모든 패킷의 경로가 동일하고 패킷의 도착 순서가 일정 (출발/도착 순서 동일)하다.
가상 회선 방식은 회선 교환 방식과 유사하지만 회선 교환 방식은 패킷 기능을 지원하지 않는다.

데이터그램

데이터그램은 비연결형 방식으로 패킷을 독립적으로 전송(서로 다른 경로, 경로를 미리 할당하지 않음)한다.
정보의 양이 적거나 상대적으로 신뢰성이 중요하지 않은 환경에서 사용하고 송신 호스트가 전송한 패킷은 보낸 순서와 무관한 순서로 수신(서로 다른 경로, 네트워크 혼잡도에 따라 가변적)한다.


네트워크 계층 성능 측정

네트워크층의 성능은 지연(delay), 처리량(throughput), 패킷 손실률(packet loss)로 측정 가능하다.

지연

데이터를 보내고 받는데는 지연이 생길 수 밖에 없다.
네트워크층에서 생길 수 있는 지연의 종류는 전송 지연, 전파 지연, 처리 지연, 큐 내부의 지연으로 총 4가지로 나눠진다.

전송 지연

송신자가 패킷을 보낼 때 바로 보낼 수 없다. 송신자는 패킷의 비트를 하나씩 차례로 보내야한다. 패킷의 첫 비트의 시간이 t1t_1이고 마지막 비트가 t2t_2라면 전송지연은 t1t2t_1-t_2가 된다.
따라서 패킷의 길이가 길수록 전송 지연도 길어진다.

전파 지연

A에서 B까지 1비트가 전달되는 데 걸리는 시간이다. 각 네트워크(WAN/LAN)의 전파 지연에 따라 결정된다.

처리 지연

라우터나 목적지 호스트가 입력 포트로 패킷을 받고, 헤더를 제거하고, 오류 탐지를 수행한 뒤, 출력 포트로 패킷을 보내거나 상위 계층 프로토콜로 패킷을 전달하는 데 걸리는 시간이다.

큐잉 지연

일반적으로 라우터에서 발생한다. 라우터가 한번에 여러 패킷을 받는다면 차례로 하나씩 처리하게 되는데 처리하는 동안 나머지 패킷은 버퍼 공간에서 대기하게 된다. 그 대기하는 시간을 큐잉 지연이라고 한다. 들어오는데 대기(입력 지연)할 수도 있고, 보내는데 대기(출력 지연)할 수도 있다.

처리량

초당 한 지점을 지나는 비트 수를 처리량이라고 한다. 해당 지점의 실질적인 전송률이다.

근원지부터 목적지까지 서로 다른 전송률을 가진 여러 링크들이 연결되어 있다면 그 연결의 평균 전송량은 병목 현상에 의해 가장 작은 전송량으로 결정된다.

패킷 손실

라우터는 한정된 버퍼를 가지고 있기 때문에 대기하고 있는 패킷이 너무 많은 경우 버퍼가 가득 차 수신하지 못하고 폐기하는 패킷이 생긴다. 이런 패킷 손실이 발생하면 해당 패킷을 재전송하는데 이 경우 더 많은 오버플로와 패킷 손실을 발생시킬 수 있다.

profile
강승구

0개의 댓글