본문 바로가기
Computer Network/컴퓨터네트워크

[컴퓨터네트워크] Ch1 연습문제

by leziwn.cs 2023. 10. 26.

P6. 전송률이 Rbps인 단일 링크로 연결된 호스트 A와 호스트 B를 생각해보자. 두 호스트는 m미터 떨어져 있고, 링크 사이의 전파 속도 s가 m/s라고 하자. 그리고 호스트 A가 호스트 B에게 크기가 L인 패킷을 보낸다고 하자.
 
KEY POINT: 이것은 packet switching!
 
a. m과 s를 이용하여 전파지연(propagation delay)를 표현하라.
b. L과 R을 이용하여 패킷의 전송 시간(transmission delay)를 결정하라.
c. 처리 지연과 큐잉 지연은 무시하고 종단 간 지연에 대한 수식을 구하라.
d. 호스트 A가 시각 t=0에 패킷 전송을 시작한다고 하자. t = d-trans에 패킷의 마지막 비트는 어디에 있는가?
e. d-prop가 d-trans보다 크다고 하자. t = d-trans에 패킷의 처음 비트는 어디에 있는가?
f. d-prop가 d-trans보다 작다고 하자. t = d-trans에 패킷의 처음 비트는 어디에 있는가?
g. s = 2.5*10^8, L=1500바이트, R=10Mbps라고 하자. d-prop와 d-trans를 같게 하는 거리 m을 구하라.
 

d end-to-end =  d-proc + d-queue + d-trans + d-prop
 
(d) d-trans는 패킷 전송을 시작하는데 필요한 지연이다. 따라서 d-trans 이후에 마지막 패킷은 호스트 A를 막 떠나고 있다.
 
(e) 만약 propagation delay > transmission delay라면, transmit되더라도, propagation delay때문에 아직 호스트 B에 도착하지 못한 상태이다.


P8. 사용자가 10Mbps 링크를 공유한다. 그리고 각 사용자는 전송할 때 200kbps가 필요하다. 그러나 각 사용자는 그 시간의 10%만 전송할 수 있다.
a. circuit switching이 사용될 때 얼마나 많은 사용자를 지원할 수 있는가?
b. 나머지 문제에서 packet switching이 이용된다고 하자. 선택된 사용자가 전송하고 있을 확률을 구하라.
c. 120명의 사용자가 있다고 하자. 어느 주어진 시간에 n명의 사용자가 동시에 전송하고 있을 확률을 구하라. (힌트: 이항분포를 사용하라.)
d. 51명 이상의 사용자가 동시에 전송할 확률을 구하라.

a. 
KEY POINT: circuit switching에서는 각자 쓴다!
 
총 대역폭 = 10 Mbps = 10,000 kbps
각 사용자의 대역폭 = 200 kbps
각 사용자의 활성 시간 = 10% = 0.1
따라서, 지원 가능한 사용자 수는 다음과 같습니다:
지원 가능한 사용자 수 = 총 대역폭 / (각 사용자의 대역폭 * 각 사용자의 활성 시간)
지원 가능한 사용자 수 = 10,000 kbps / (200 kbps * 0.1) = 50 명
 
b.
KEY POINT: packet switching에서는 링크 자원을 예약하지 않고 나눠쓴다! 만약 그 시간에 링크로 다른 패킷들이 전송되어야 해서 링크 중 하나가 혼잡하다면, 그 패킷은 전송 링크의 송신쪽 버퍼에서 기다려야 하고, 지연이 발생한다.
 
Packet switching에서 선택된 사용자가 전송하고 있을 확률을 구하려면, 사용자의 전송 확률을 사용하여 계산할 수 있습니다.
각 사용자는 10%의 시간 동안 전송할 수 있으므로, 선택된 사용자가 전송 중일 확률은 10% 또는 0.1입니다.
 


P9. 한 예에서 1Mbps 링크가 주어졌다. 사용자들은 데이터를 생성할 때 100kbps의 속도로 생성하지만,  p = 0.1의 확률로 데이터를 생성한다. 1Mbps의 링크를 1Gbps의 링크로 대체했다고 생각하라.
a. circuit switching 하에서 동시에 지원 가능한 최대 사용자 수 N은 무엇인가?
b. 이제 packet switching과 사용자 수가 M이라고 가정하자. (p, M, N)을 이용하여 N 사용자보다 많은 사용자가 동시에 데이터를 전송할 확률에 대한 공식을 도출하라.

a. 
N = 총 대역폭 / (각 사용자의 대역폭 * 각 사용자의 활성 확률)
 


P13.
a. 현재 패킷이 전송 및 큐잉되고 있지 않은 링크로 N개의 패킷이 동시에 도착한다고 가정하자. 각 패킷의 길이가 L이고, 링크 전송률이 R이다. N개의 패킷에 대한 평균 queuing delay는 무엇인가?
b. 이제 그러한 N개의 패킷이 N*L/R초마다 링크에 도착한다고 가정하자. 패킷은 평균 queueing delay는 무엇인가?
 
a. queuing delay는 첫 번째 packet에 대해서는 0이고, 두 번째 packet에 대해서는 L/R이다. 따라서 일반적으로, n번째 packet에 대해서는 (n-1)L/R이다. 따라서 N개의 packet에 대한 평균 queuing delay를 구할 수 있다.

 
b.
d end-to-end =  d-proc + d-queue + d-trans + d-prop

  • d-trans = L/R (패킷 크기/전송 속도)
  • d-prop = d/s (호스트 사이의 그리/전파 속도)

 
N개의 packet을 transmit하기 위해서는 N*L/R 초가 걸린다. 따라서 N*L/R초 후에는 버퍼가 비어있다.
따라서, 평균 queuing delay는 (a)와 같다.
 


P20. M개의 클라이언트-서버 쌍이 있다고 가정하자. 서버 링크, 클라이언트 링크, 네트워크 링크 속도를 각각 Rs, Rc, R로 표기한다. 다른 모든 링크는 충분한 용량을 갖고 있고, 네트워크에는 M 클라이언트-서버 쌍이 만들어낸 트래픽 외에는 없다고 가정하라. Rs, Rc, R, M을 이용하여 처리율에 대한 일반적인 수식을 유도하라.

처리율은 가장 낮은 곳에 맞춰진다!