MakerHyeon

[네트웍개론] Network Core 본문

Server/Network

[네트웍개론] Network Core

유쾌한고등어 2023. 4. 16. 21:10

packet-switching: 호스트는 app단 메시지를 패킷이라는 작은 단위로 쪼개서보낸다.

 

Forwarding(Switching): 도착한 패킷을 적절한 라우터 링크로 보낸다. (local)

Routing: 처음부터 끝까지 가는 효율적인 path를 잡는것을 의미한다. (global)

 

 

 

packet transmission delay: L / R

store and forward: 전체 패킷이 라우터에 오고나서,다음 링크로 전송되는 방식이다.

 

Problem. 위에서 source-dest까지 세 개의 패킷들을 전달하는데 걸리는 총시간은 얼마일까?

- 패킷이 가는동안 뒤따라오는 패킷도전송된다.

- [첫번째 패킷이 도착하기까지 0.2] + 0.1 = 0.3

 

Queueing은 들어오는 속도와 나가는속도가 차이가 날때 발생한다.

도착속도가 링크 전송속도를 초과하면 패킷은 전송되기를 기다린다.

이때, 라우터 메모리가 가득차면 패킷이 삭제될 수 있다.

 

Packet queuing and loss: 일정기간동안 패킷 도착속도가 전송률을 초과한다면 발생한다.

 

Circuit Switching

  • 공유없이 혼자 사용한다.
  • 호출되지 않는 경우 idle
  • 일반적인 전화 네트워크에서 사용

FDM은 주파수를 나누어 쓰는것이다.

TDM은 슬롯으로 시간을 나누고 해당 시간 슬롯에만 전송가능하도록 하는것이다.

 

패킷,서킷 스위칭을 비교해보면, 패킷스위칭이 더 많은 유저가 사용가능함을 알 수 있다.

위 사진은 각 스위칭에서 얼마나 많은 유저가 사용가능한지 묻고있다.

써킷 스위칭은 10명의 유저가 사용가능하다.

패킷스위칭에서, 35명의 유저중 10명이상 학생이 동시사용할 확률은 0.0004이다.

p=0.1 (active 10% of time)

circuits는 예약된 bandwidth를 사용하기 때문에 더 나은 퍼포먼스를 보인다.

packets는 효율성 측면에서 유리하다.

 

전체 노드 지연은 다음 네가지를 포함한다.

 

d_proc

  • 비트오류확인 / 출력 링크 결정
  • 처리하는 시간
  • 일반적으로 <msec 
  • 패킷헤더를 보고 어디로 보낼지 결정함

d_queue

  • 큐에서 출력 링크로 전송되기를 기다린다.
  • 큐에 들어오고~나갈때까지의 시간

d_trans

  • 라우터가 패킷의 모든 비트를 링크로 보내는데 필요한 시간
  • 전송하는데 걸리는 시간
  • d_trans = L / R

d_prop

  • 링크로 전해진 다음 목적지까지 전파되는 시간
  • 전송 거리에 따른 지연시간(전파)
  • d_prop = d / s (물리적링크길이/전파속도)

d_trans와 d_prop은 다름에 주의하자!

 

마지막차까지 두번째톨에 서는시간을 묻고있다.

톨은 서비스에 12초가 걸린다고 가정한다.

첫번째톨을 거칠것이므로 12초 X 10대에,마지막 차 propagate속도 100km/(100km/hr) = 1hr을 더해주면

총 62분이 걸린다.

이제 차 propagate속도가 1000 km/hr로,이전에 비해 더 빨라졌다고 가정한다.

또한 톨이 한대를 서비스하는데 1분이 걸린다고 가정한다.

위 사진은 모든 차가 첫번째톨에 도착하기전에 두번째 톨에 차가 도착하는지 묻고있다.

100km/1000(km/hr) = 0.1로,첫번째 차가 두번째 톨부스까지 가는데 서비스1분+propagate는 6분이걸린다.

총7분의 시간에 걸쳐 2번째 톨에 도착한다.

이때 7분후면,아직 세개의 차가 첫번째부스에 있으므로,답은 yes이다.

 

큐잉 딜레이는 패킷길이X패킷속도 / R로 구한다.

La/R에 다른 판단은 다음과 같다.

~0 : 평균적이다.큐잉딜레이는작다.

<=1: 평균적이다.

>1:혼잡상태이다.

이때, La/R<1인데도 왜 큐잉딜레이는 존재할까?

a는 average packet arrival rate이다!즉,평균!!!

 

모든 각 라우터마다 들어오고 나올때의 딜레이를 3번씩 측정한다.

traceroute 프로그램은 이 측정을 제공한다.

 

큐는 한정되어있기때문에,용량이부족하다면 패킷은 드랍될 수 있다.

이때 이전노드에서 패킷은 재전송된다.

 

throughput: sender와 receiver사이의 전송되는 비율을 말한다.즉,host가 겪는 end-to-end통신속도이다.

Rs<Rc일때, end-to-end throughtput의 평균은 Rs이다.

bottleneck link는 결국 경로중 가장 느린 throughput속도로 출력된다.

 

Throughput과 bandwidth의 차이
  • Throughput은 네트워크 상의 어떤 노드나 터미널로부터 또 다른 터미널로 전달되는 단위 시간당 데이터량을 말한다.
  • bandwidth는 주어진 시간 동안 하나의 회선을 통해서 얼마나 많은 양의 데이터를 전송할 수 있는가를 의미
Comments