용's

[Network #4] TCP 제어 알고리즘 본문

Computer Science/예상면접

[Network #4] TCP 제어 알고리즘

TaeYOng's 2015. 10. 12. 00:47







▶ 혼잡 회피 알고리즘(Congestion Avoidance Algorithm)


 

→ 혼잡(Congestion)이란, 대기(Waiting)/큐잉(Queuing)를 포함하는 어떠한 곳에서도 발생 가능한 것으로, 네트워크 내 대기하는 패킷 수가 네트워크 처리 용량을 초과하는 현상을 보통 말함.


→ 이를 회피하는 알고리즘으로는 RED, WRED, TCP Vagas, ECN 등이 있다.


RED

- 버퍼(큐)가 오버플로우될 떄까지 기다리지 않고, 패킷들을 폐기(Drop)하는 방법

- 즉, 패킷을 보낼 수 있지만 특정 Sender(랜덤한 Sender)의 패킷을 Drop시켜 버퍼의 오버플로우를 피함


WRED

- RED 알고리즘에서 Drop시키는 플로우(Flow)를 특정 기준/정책에 준하는 값에 따라 우선순위를 두고 선택하여 RED의 단점을 보완


TCP Vagas

- RTT(Delay)를 바탕으로 일정 Delay가 커질 때마다 조절하는 방법.


ECN(Explicit Congestion Notification)

- 라우터가 명시적으로 Congestion을 알려줌...

- 라우터가 혼잡을 감지(Detect)하면 ECN flag를 0에서 1로 Set하여 Congestion을 알림...





▶ 네이글 알고리즘(Nagle's Algorithm)




  



 → 네트워크 상의 패킷의 수를 줄이기 위해 제안된 알고리즘

 

 → 선행으로 전송한 패킷의 ACK를 받아야만 다음 패킷을 전송함. 전송한 패킷의 ACK 신호를 받을 때까지 데이터들은 버퍼(buffer)에 쌓여 있게 되고, ACK신호가 오면 버퍼에 있는 데이터들을 통신 상태에 맞추어 알맞은 크기만큼 묶어서 전송함



 → 장점: 전송되는 패킷양이 적으므로 네트워크 효율성이 증가

 → 단점: 전송속도가 느릴 수 있음







'Computer Science > 예상면접' 카테고리의 다른 글

[OS#1] 프로세스 통신  (0) 2015.11.15
[JAVA] BigDecimal  (0) 2015.10.12
[DB] 예상 문제  (0) 2015.09.28
[Network #3] 기타 예상 질문  (0) 2015.06.04
[Network #2] Blocking VS non-Blocking  (0) 2015.06.04
Comments