본문 바로가기

ComputerScience/Network

컴퓨터통신 - 4. 성능

728x90

1. 대역폭 (bandwidth, 처리량, throughput) 

- 단위 시간동안 전송 가능한 데이터의 양

- 1 Mbps = 1000000 bit per second

- 그림처럼 대역폭이 커지면 각 비트간 거리가 좁아진다.

- 즉 통신의 발전은 고주파의 한계(장애물 통과에 취약, 이동거리 감소)를 극복하고 더 빠른 전송 속도를 구현하고 있다.

2. 소요시간(latency)/ 지연시간(delay)

- 결국 통신 성능은 목표지점으로 메시지를 송신하는데 시간이 얼마나 걸릴까 이다.

- 만약 응답을 원한다면 왕복지연시간(Round Trip Time)이 궁금할 것이다.

- 소요시간의 대부분을 차지하는 것은 전파지연시간(물리적 거리로 인한 지연)과 transmit(전송시간)이 있다.

- 또한 중계하는 노드를 거칠때마다 스위칭 혹은 queuing(버퍼에서 대기하는 시간)하는 시간이 든다. (직접 링크라면 없다)

- 보내려는 데이터 양에 따른 소요시간이 성능의 지표가 될 수 있다.

 

* 즉 통신 성능을 이야기할 때는 시간당 처리량과 보내려는 데이터 크기에 대한 소요시간 두가지 관점으로 분석이 가능하다.

* 보낼 데이터 크기가 클때는 대역폭을 살펴보아야 하고 보낼 데이터 크기가 작다면 대역폭 보다는 소요시간이 중요한 요소일 것이다.

* 대역폭이 커질수록 큰 메시지를 보내는 시간이 덜 걸린다. 

3. 통신망 입장에서의 성능

- 이제까지는 사용자 입장에서의 성능을 따졌지만 망 입장에서는 링크가 최대한 쉬지 않고 많이 사용되도록 하는 것도 중요하다. (자원공유가 높음)

- 망을 더 깔지 않아도 사용율을 높이면 더 좋은 성능 혹은 효율을 낼 수 있다.

 

- 먼저 망의 용량을 계산해보자.

- delay가 길어지거나, bandwidth가 커지면 용량이 커진다. 데이터가 더 큰 packet을 더 많이 보낼 수 있는 것이다.

- 중요한건 이 분석은 어디까지나 망입장에서 한 것이다.

- 여기서는 사용자가 늦게 받건간에 망이 꽉꽉 차서 데이터가 이동하고 있는지가 중요하다.

- 사용률 = 실제 처리량 / 용량 이다. 사용률이 높을 수록 망 입장에서는 효율적이라고 할 수 있다.

 

*요즘시대에는 옛날과 달리 링크 용량이 매우 커지고 수도 많아졌다. 그때는 링크에서 병목현상들이 발생했지만 지금은 병목현상이 노드에서 일어난다. 노드에서의 패킷 처리 속도가 중요해지고 있고 결국은 sw처리 부하가 통신성능에서 중요한 요소가 되었다.

* 거리가 짧을 수록 소프트웨어 부하가 주요소가 된다. 마찬가지로 queuing이 작다면 소프트웨어 부하가 중요한 요소가 된다.

* 소프트웨어 부하란, 프로토콜 구현기술 패킷처리 시간 등이 된다.

4. 소요시간을 줄이는 방법

- 전파, 광파의 속도를 높일 수는 없으니 지역처리를 높여서 실질적 거리를 줄인다. caching 미국에서 넷플릭스 영화를 받아오는게 아니라 한국지사에서 받아오는 것이다.

- queueing 대기 시간을 줄인다. 버퍼에서 패킷이 계속 도는 시간을 줄이기 위해 내보내는 양을 늘리거나 알고리즘을 개선하거나 한다.

5. 대역폭을 높이는 방법

- 보내는 데이터 양을 높인다.

- 데이터를 신호로 변환하는 과정에서 효율을 증가시킨다.

- 고주파 채널 같이 빠른 새로운 차선을 사용한다.

- 아니면 넓은 차선을 확보하는 것 처럼 넓은 대역 채널을 사용한다.

- 링크를 더 깔아서 병렬 사용 (split/merge)

728x90
반응형