본문 바로가기
CS/네트워크

[네트워크] 컴퓨터 네트워크 기본 2

by DenverAlmighty 2024. 12. 11.

4.네트워크 지연, 손실, 처리량

1) 패킷 지연 시간

한 노드를 통과하기 위한 시간 = 노드 처리 지연 + 큐잉 지연 + 전송 지연 + 전파 지연

d(nodal) = d(proc) + d(queue) + d(trans) + d(prop)

 

(1) 지연 시간

노드 처리지연 d (proc)

패킷이 노드에 도착하면, 패킷에 네트워크 프로토콜에따라 에러 확인, 다음 목적지 확인 등의 작업을 포함하는 과정을 거친다.

이때 msce보다 작은 시간의 지연이 발생한다.

 

큐잉 지연 d (queue)

출력 링크에서 전송되기 전에 큐에서 자기 차례를 기다린다.

라우터의 상태에 따라 달라진다. (가변적)

 

전송 지연 d (trans)

링크에 실릴 차레가 되고, 패킷을 링크에 싣는 시간이 필요하다.

L : 패킷 길이 (bits)

R : 링크 대역폭 (bps)

d (trans) = L/R

유입 트래픽량 = 패킷 길이 * 평균 도착 패킷 수  = L * a(평균 패킷 도착율)

트래픽 강도 Traffic intensity = L * a / R

 

La/R ~= 0 : 큐잉 지연 매우 적음

La/R > 1 : 유입 속도 > 출력 속도 -> 큐의 길이 무한으로 늘어남.

그래프에서 보면 Traffic intensity가 0.7~0.8 쯤 되면 큐잉 지연시간이 매우 가파르게 증가한다.

그 이유는 a 가 평균값 이므로 일시적으로는 유입 속도가 훨씬 클 수 있기 때문이다.

 

 

전파 지연 d (prop)

d : 물리 링크의 길이

s : 전파 속도

d (prop) = d/s

 

 

 

2) 패킷 손실

트래픽 강도 (Traffic Intensity)가 1에 가까울 때, 큐(버퍼)가 다 찬경우 패킷이 도착하면 패킷 손실이 발생한다.

재전송을 해야하는데, 사용자 입장에서는 지연이 매우 길고, 네트워크 입장에서는 자원 낭비이다. (지금까지 온 패킷이 버려졌기 때문)

 

(1) 처리량 Throughput

처리량 : 단위시간당 전달한 트래픽 양 (bits/time unit)

 

instantaneous throughput : 특정 시점에서 처리량

average throughput : 일정 기간동안의 평균 처리량

 

 

Bottleneck Link

패킷이 출발지-목적지까지 가는 경로상의 모든 링크중에 대역폭이 가장 대역폭이 작은 링크에 의해 end-end throughput이 결정된다.

 

 

 

5. 프로토콜 레이어, 서비스 모델

프로토콜은 레이어링 구조로 정의된다.

그 이유는 프로토콜이 매우 방대하고 복잡한 시스템이기 떄문이다.

 

레이어링 구조로 정의했을 떄 장점도 있고, 단점도 있다.

장점은 복잡한 시스템의 각 부분을 정의하고, 관계를 정의하는데 용이해진다. 또한, 모듈화해서 구현하면 유지, 업데이트가 용이하다.

하지만 단점으로는, 레이어는 각자의 목적이 있는데, 그 목적의 중복이 일어날 수 있다는 점이다. 레이어간 공유해야하는 정보가 있는데, 사용이 불가할 수도 있고, 사용하기 위해서는 레이어간 통신이 필요하고 overhead가 발생할 수 있다.

 

1) 인터넷 프로토콜 스택

각 계층은 바로 아래 계층의 서비스를 이용해 자기 레이어의 목적을 달성한다.

  • 어플리케이션 : 어플리케이션 계층의 목적은 네트워크 어플리케이션을 지원하는 것이다. 사용자 어플리케이션에서 발생한 데이터를 캡슐화해서 메세지 만드는 것이 주요 역할이다. 어플리케이션 레이어에서 메시지로 만들어 전송 계층게 전송 요청을 한다. FTP, SMTP(메일), HTTP(웹) 등이 있다.
  • 전송 : Src 프로세스 - Dest 프로세스 데이터 전송을 담당한다. src 프로세스 -> dest 프로세스로 전송을 위해서는 src host- dest host 전송이 필요하다. 이를 네트워크 계층에 요청한다. TCP, UDP 등이 있다.
  • 네트워크 : src-dest 의 라우팅을 담당한다. 이를 위해 홉을 건너가야하는데 이를 링크 계층에게 요청한다. IP, routing 프로토콜이 있다.  
  • 링크 : 홉을 건너가기 위해 물리 계층에게 데이터 실어 나르는 일을 요청한다. Ethernet, 802.111 (WiFi), PPP 등이 있다.
  • 물리 : 비트를 싣는 역할.

 

2) Src - Dest로 데이터 전송 과정

도식에서 source, destination은 물리~어플리케이션 계층까지 있고, 스위치에는 링크,물리만, 라우터에는 물리,링크, 네트워크 계층만 있다.

 

장비마다 레이어가 다른 이유?

어플리케이션 계층의 역할은 데이터를 메세지로 만드는역할을 하기 때문에 스위치와 라우터에서는 필요없다.

전송 계층은 end-end 프로세스 전송이기 때문에 src, dest에만 있다.

네트워크 계층은 어디로 보낼지와, 길찾는 역할을 한다. 그러므로 src, dest, 라우터에 존재한다. 스위치는 길찾는 역할을 하지 못한다.  

 

전송 과정

source

어플리케이션 계층에서 메세지를 만들어 전송 계층에 보낸다.

전송계층에서는 dest 프로세스에게 전송하기 위해 헤더(Ht)를 붙여 세그먼트를 만들어, 네트워크 계층에게 보낸다.

네트워크 계층은 dest 호스트에게 전송하기 위헤 헤더 (Hn)를 붙어 데이터그램을 만들고, 링크 계층에게 보낸다.

링크 계층은 헤더(Hl)을 붙어 프레임으로 만들고, 물리 계층으로 보낸다.

물리계층은 데이터를 밀어넣고, 스위치의 물리 계층이 받는다.

 

Switch

스위치 물리 계층은 source가 만든 프레임대로 복구해 링크 계층으로 보낸다.

링크 계층은 다시 프레임을 만들어 물리 계층으로 보낸다.

스위치의 물리 계층이 보낸 프레임은 라우터의 물리 계층이 받는다.

 

Router

라우터 물리 계층은 다시 프레임으로 복구해 링크 계층으로 올린다.

링크 계층에서는 source 링크계층에서 만든 헤더 Hl를 보고 제데로 도착했는지 확인한 후, 헤더(Hl)를 제거하여 네트워크 계층으로 올린다.

네트워크 계층은 source 네트워크 계층에서 만든 헤더 Hn을 보고 다음 목적지를 확인해 제거하고, 헤더 Hn을 다시 붙어 링크 계층으로 보낸다.

링크 계층에서는 헤더 Hl을 만들어 물리 계층에 보낸다.

물리 계층은 Dest 물리 계층으로 보낸다.

 

Destination

Dest 물리 계층에서는 프레임을 복구하여 링크 계층으로 올린다.

링크 계층에서는 헤더 Hl을 확인하고, 헤더를 제거한 후 네트워크 계층으로 올린다.

네트워크 계층에서는 헤더 Hn을 확인한 후 제거하여 전송 계층으로 보낸다.

전송 계층에서는 헤더 Ht를 확인하고, 제거한 후 어플리케이션 계층으로 올린다.

어플리케이션 계층에서는  Source에서 보낸 메세지를 받게된다.

 

 

데이터 유닛

각 프로토콜 계층에서 만들어낸 데이터 유닛을 프로토콜 데이터 유닛 이라고한다.

어플리케이션에서 만들어진 프로토콜 데이터 유닛을 메세지,

전송 계층에서는 세그먼트

네트워크 계층에서는 데이터그램

링크 계층에서는 프레임 이라고한다.

 

(52:00~)