지연
안타깝게도 네트워크 상에서 데이터를 송수신할 때에는 필연적으로 지연이 발생하고, 때로는 데이터가 유실되기도한다.
인터넷 상에서는 장치가 보낼 데이터를 잘게 쪼갠 후 송/수신자 정보 등을 붙여서 전달한다. 이 정보를 헤더라고하며, 각 쪼개진 데이터들을 패킷이라고 칭한다.
처리지연 (processing delay)
패킷의 헤더를 분석해 어디로 데이터를 보낼지 결정하는게 걸리는 시간이다. 고속 라우터에서 일반적으로 수 마이크로초다.
큐잉지연(queueing delay)
대부분의 패킷 스위치들은 저장 후 전달 전송(store and forward transmission) 방식을 사용한다. 이는 여러 개의 패킷이 전송된다고할 때, 하나의 패킷을 전달하기 위해서는 앞서 전달한 패킷의 전체가 다음 패킷 스위치에 도달해야함을 의미한다. 주로 오류검출이나 혼잡제어 등을 위해 필요하다.
따라서 패킷은 이전에 전송된 패킷의 전체가 다음 스위치에 도달하기 전까지는 대기해야하는데, 패킷이 대기하는 공간을 출력버퍼(output buffer) 또는 출력 큐(output queue)라고 칭한다.
이렇게 패킷이 전송되기 전 출력 큐에서 대기하면서 발생한 지연을 큐잉지연이라고 칭한다.
전송지연(transmission delay)
네트워크 장치들은 패킷을 초당 정해진 수만큼 전송한다. 이를 처리율이라고하며, 초당 비트 수인 bps를 사용한다. 따라서 패킷을 전송하기 위해서도 시간이 필요하며, 이것 때문에 발생한 지연을 전송지연이라고 칭한다.
길이가 L비트인 패킷이 R bps의 전송률을 갖는 링크를 통해 전송된다고하면, 전송지연은 L/R만큼 지연된다. 초당 R비트를 전송하는 링크가 L비트의 패킷을 전송하는데 걸리는 시간만큼 지연되기 때문이다.
전파지연(propagation delay)
전송지연 뿐 아니라 패킷들이 링크를 타고 다음 장치로 이동하는데 걸리는 시간도 필요하다. 이 때 링크에서의 비트의 속도는 약 2*10^8m/s ~ 3*10^8m/s다. (링크마다 다르며, 대략 빛의 속도와 비슷하다)
두 장치 간 거리를 d, 링크에서의 비트의 속력을 s라고하면 전파지연은 d/s다.
전송지연은 네트워크 장치가 링크에 패킷을 보내는데 걸리는 시간, 전파지연은 링크에서 비트가 다음 장치까지 이동하는데 걸리는 시간이라는 차이점이 있다. 전송지연은 처리율과 관계있고 거리와 무관하지만, 전파지연은 거리와 관계있고 처리율과 무관하다.
노드지연(nodal processing delay)
따라서 노드에서의 총 지연은 4가지 지연유형인 처리지연, 큐잉지연, 전송지연, 전파지연을 모두 더한 값이다. 이 때 각 지연들의 가중치는 대학캠퍼스에서는 전파지연이 크게 중요하지 않지만, 위성통신의 경우에는 전파지연이 중요하는 등 상황마다 다르다.
패킷손실
처리지연, 전송지연, 전파지연은 모두 값이 네트워크 장치로 전달되는 과정에서 정해져있다. 하지만 큐잉지연은 정해져있지 않다. 노드의 상황에 따라서 실시간으로 변하기 때문이다. 따라서 큐잉지연은 확률적으로 예측해야한다.
이론적인 처리율
모든 패킷이 L비트, a는 패킷이 큐에 도착하는 평균율(단위: 패킷/초)이라고 하면, 패킷 스위치(여기서는 라우터라 하겠다)의 출력큐에 도달하는 비트는 초당 La가 될 것이다. 그리고, 라우터의 출력링크에 연결된 링크의 처리율이 R bps라고하면, La/R은 트래픽 강도(traffic intensity)라고 칭한다.
La/R이 1보다 작다면 처리율이 출력큐에 도달하는 비트의 수보다 크므로 갑자기 패킷이 몰려들지 않는한 큐가 늘어나지 않을것이다. 반대로 1보다 크다면 출력링크의 전송률보다 많은 수의 비트들이 출력큐에 저장되며, 출력큐는 끝없이 늘어날 것이다. 이 관계는 지수함수의 그래프처럼 트래픽 강도가 1에 가까워질수록 평균 큐잉지연은 급증하는 추세를 보인다.
이론적인 모델이긴하나 트래픽 강도에 대한 직관적 이해를 준다.
하지만 라우터의 큐 용량은 무한하지 않기 때문에, 큐가 패킷으로 가득찬 후, 새 패킷이 들어오면 라우터는 그 패킷을 버린다. 이는 패킷손실이라고 칭한다. 트래픽 강도가 높을수록 손실 패킷의 비율이 증가한다.
처리율
처리율은 순간적 처리율과 평균 처리율로 나뉜다. 전자는 어느 한 순간에서의 처리율이고, 후자는 패킷의 모든 비트를 수신했을 때의 평균적인 처리율이다. F비트의 파일을 받는데 T초가 소요되면, 평균 처리율은 F/T비트/초다.
일반적으로 네트워크 코어가 접속 네트워크보다 처리율이 높다. 따라서 일반적인 상황에서 종단시스템 간 통신은 클라이언트와 서버 종단시스템의 접속 네트워크의 처리율의 최솟값으로본다.
예를들어, 3200만 비트의 파일을 다운로드하고, 서버 접속네트워크의 처리율이 2Mbps, 클라이언트 접속네트워크의 처리율이 1Mbps라고하면, 총 처리율은 1Mbps, 전송에 걸리는 시간은 약 32초다.

만약 네트워크 코어에 병목 링크가 있는 경우에는 얘기가 달라진다.
위의 그림에서 오른쪽 그림과 같이, 10개의 서버와 클라이언트로 구성되어있고, 병목링크가 있는 경우에는 병목링크의 현재 처리율도 고려해야한다.
서버의 접속네트워크의 처리율을 2Mbps, 클라이언트는 1Mbps, R = 5Mbps라고할 때, 10대의 서버-클라이언트가 모두 정보를 보내는 중이라면 공유 링크는 5Mbps/10 = 500kbps의 처리율을 제공한다. 따라서 종단 간 처리율은 500kbps다.
프로토콜 계층화

인터넷은 이렇게 복잡한 여러 프로토콜로 이루어진 구조다. 그렇다면 어떻게 데이터를 보내는지, 어떻게 수신자를 식별하는지, 어떻게 종단시스템이 보내고자하는 메시지를 잘 포장하는지를 한 번에 설명하려면 매우 복잡하므로 계층화를 통해 각 계층에 나눠서 설명하는 구조가 더 이해하기 쉽다.
각 계층은 하위계층의 기능(서비스)를 이용하거나, 의존한다. 만약 n번째 계층이 신뢰성 있는 메시지 전송의 기능을 가진다면, 이는 n-1 계층의 비신뢰적 메시지 전송기능을 이용하는 것이다.
애플리케이션 계층
네트워크 애플리케이션과 HTTP, SMTP와 같은 애플리케이션 계층 프로토콜이 위치한다. 애플리케이션 간 정보를 교환하며, 이 정보 패킷을 메시지(message)라고 칭한다.
트랜스포트(전송) 계층
클라이언트와 서버 간 애플리케이션 계층의 메시지를 전달한다. 이 계층에서의 패킷은 세그먼트(segment)라고 칭한다. TCP와 UDP가 이에 속한다.
네트워크 계층
트랜스포트 계층 프로토콜에서 전달된 세그먼트와 목적지 주소를 받아 목적지로 이동시킨다. IP 프로토콜이 이에 속하며, 여기서의 패킷은 데이터그램(datagram)이라고 칭한다.
링크 계층
출발지와 목적지 간 패킷 스위치(라우터)를 통해 인접 노드 간 프레임을 보낸다. 여기서 패킷은 프레임(frame)이라고 칭하며, 이더넷이 이에 속한다.
물리 계층
링크 계층이 전체 프레임을 보낸다면, 물리 계층에서는 프레임의 비트를 다음 노드로 이동시킨다.
각 계층은 아래 계층의 서비스에 추가적인 기능을 부여하거나 의존한다.
링크 계층은 물리 계층의 비트 전송 서비스를 데이터그램을 다음 노드로 전송하는데 사용하며, 네트워크 계층은 링크 계층의 프레임 전송 서비스를 통해 세그먼트를 어느 목적지로 전송할지 결정한다. 트랜스포트 계층은 네트워크 계층의 서비스에 기반해 신뢰적 전송이나 급한 전송 등의 기능을 부여하며, 애플리케이션 계층의 경우 다른 종단시스템으로 보낼 메시지를 아래계층에게 전달한다.
각 단에서 필요한 정보들은 헤더에 저장되며, 각 계층에서는 이전에 계층에서 전달받은 데이터에 헤더를 더한다. 이를 캡슐화라고하며, 이전 계층에서 전달받은 데이터를 페이로드라고한다.
'CS > 컴퓨터 네트워크' 카테고리의 다른 글
| [네트워크] 전자메일 - SMTP 프로토콜 (0) | 2026.07.08 |
|---|---|
| [네트워크] 애플리케이션 계층 개요 및 HTTP 프로토콜 (0) | 2026.07.06 |
| [네트워크] 인터넷이란 무엇인가? (0) | 2026.06.30 |
| [네트워크] 혼공네트 독서 #9 - TCP (0) | 2026.01.26 |
| [네트워크] 혼공네트 독서 #8 - L4계층 (0) | 2026.01.24 |
