❗ network core

network상에 존재하는 수많은 router들이 열심히 일을 하면서 데이터가 전송이 된다. 이때 router가 데이터를 전달하는 2가지 방식이 존재한다.

 

1. circuit switching - end to end의 모든 경로를 확보한 후에 데이터를 전송하는 방식이다.

  • circuit switching의 경우, 만약 1mbps를 지원하는 회선이라면 100kmb의 속도를 지원하는 10개의 노드밖에 통신을 할 수 없다.
  • 과거의 유선전화망의 경우 circuit switching 방식을 사용했다.

2. packet switching - 단순히 packet을 받아 그때그때 올바른 방향으로 forwarding을 하는 방식이다.

  • 하지만 packet switching의 경우에는 사용자의 규모가 제한되지 않으며 유연한 통신이 가능하다. 이는 인터넷 사용패턴에 의한 것인데, 만약 네이버기사를 본다면 기사를 불러들이는 시간을 제외한 스크롤, 기사를 보는 시간 등에는 네트워크를 사용하지 않기 때문이다. 우리가 평소 네트워크를 사용하지 않는 시간이 훨씬 길다.

 

❗ packet switching의 단점

packet switching 방식으로 통신을 할 경우 delay와 loss가 발생할 수 있다는 단점이 존재한다.

 

1. Delay

1) processing delay - router가 packet을 받은 후에 인식하고 검사하는 시간

  • processing delay를 줄이기 위해서는 router의 성능을 높이면 된다.

2) queueing delay - 들어온 packet이 outgoing edge로 나갈 때까지 queue안에서 대기하는 시간

  • 해당 delay를 줄이는 것은 골치아픈 난제이다. queueing delay는 네트워크에서 얼마나 많은 사용자가 통신을 시도하는지가 영향을 미치기 때문이다. 도로를 넓히고 하이패스를 사용해도 추억에 도로가 막히는 것은 어쩔 수 없는 것과 비슷하다. processing delay는 network dynamic의 근원이다.

3) transmission delay

  • outgoing edge에서 케이블로 나가는 순간의 시간이다. 첫번째 bit부터 마지막 bit까지 모두 나가기 까지의 시간이다.
  • transmission delay를 줄이기 위해서는 케이블 공사로 bandwidth를 늘리면 된다. 통신사가 정기적으로 케이블 공사를 하는 이유이다.

4) propagation delay

  • 케이블에서의 이동시간이다. 전자기파를 이용하기 때문에 단순 빛의 속도이다.
  • propagation delay의 크기는 link의 길이 / c(빛의속도)이다.

 

2. Loss

  • 네트워크 통신시 90%의 loss는 router queue에서 발생한다. queue의 크기는 물리적으로 한정될 수 밖에 없기에 사용자가 몰려 queue의 용량을 초과하는 경우 packet을 버리게 되기 때문이다.
  • tcp 통신의 경우 loss 발생히 데이터를 전송한 sender측에서 데이터를 재전송하는 방식으로 loss를 해결한다.

 

+ Recent posts