728x90
반응형
TCP 오류제어, 흐름제어, 혼잡제어
 
[재전송 규칙]
1) 세그먼트 검사합 통한 오류 감지
2) 오류복구: 재전송 (순서 없는 세그먼트는 재전송되지 않음)
3) 재전송 타이머 만료시 재전송 (RTT 측정치에 따른 동적 갱신, 재전송시 타이머 설정하지 않음)
4) Duplication ACK 수신시 재전송
 
[흐름제어]
1) 상대방TCP에서의 overflow 예방
2) 슬라이딩윈도우프로토콜사용 (상대방TCP의버퍼상태(rwnd)와네트워크 혼잡상황(cwnd))
window size = minimum (rwnd, cwnd)
 
[혼잡제어]
1) 라우터가처리할수있는속도이상으로라우터에데이터가 도착할경우혼잡발생
2) 혼잡발생시패킷이손실되어발신TCP는ACK를받지못함(발신TCP의timeout 재전송을통하여복구됨)
3) 상대방TCP의버퍼용량만고려하고 네트워크의수신용량은무시하므로혼잡제어가별도로필요함 

 

1) Slow Start 
- 초기값: cwnd<= 1 MSS  (Max Segment Size)    
- 세그먼트 ACK 시마다 cwnd<= cwnd+ 1 MSS (“Slow start”) (실제로 지수형태 증가)
 
①(cwnd= 1 MSS)=> MSS 크기의세그먼트 1개전송=> 1 ACK 수신
②(cwnd= 2*MSS)=> MSS 크기의세그먼트 2개전송=> 2 ACK’s 수신
③(cwnd= 4*MSS)=> MSS 크기의세그먼트 4개전송=> 4 ACK’s 수신
④(cwnd= 8*MSS)=> MSS 크기의세그먼트 8개전송=> 8 ACK’s 수신
 
 
[혼잡 회피]
cwnd의무한증가를막기위하여임계치ssthresh(“slow start threshold”)사용(Ex : ssthres= 65,535 byets)
 
[제어방식]
1) 타이머만료: 초기단계 복귀 , 윈도우 크기보다 적은 임계치 설정, slow start
2) 3개 ACK 중복수신: 순차적 재수신 , 윈도우 크기보다 적은 임계치 설정, Fast Retransmit

 

오류제어, 오류정정

 
- Flow control : 송신측의 전송량을 수신측의 처리량에 따라 조절하여 속도 차이를 해결하기 위한 제어기법  
- Congestion Control : 패킷 손실 이벤트 전까지는 전송량을 증가 시키고 손실 이벤트 감지(Ack 중복) 시에 전송량을 감소 시키는 네트워크 패킷 전송 기법   
 
- flow control :슬라이딩 윈도우  
  에러 검출 (직렬/병렬패리티, CRC) 
  에러 정정 (FEC, BEC)
   FEC- 해밍코드, 리드솔로몬코드.  컨볼루션코드
   BEC- ARQ ( Stop & wait, GoNback, Selective) 
- congestion control 
 . slow start : Sender에서 Packet을 전송하는비율과 Receiver에서 수신된 Ack를 통해 congestion window(cwnd)를 지수  크기로 증가  
 . congestion avoidance: timeout 또는  중복 Ack 수신 시 선형증가
 . fast retransmit : 3개 이하의 중복 Ack    발생 시 패킷로스로 판단하고 타임아웃을
   기다리지 않고 해당 패킷을 바로 재전송
 . fast recovery : Fast retransmit이후    congestion avoidance 상태에서 전송    http://codebank.jaipurdekho.com/wp-content/uploads/2013/04/tcpcongestion1.jpg
 
** 슬로우 스타트 -> 혼잡회피 발동 조건 **
1) timeout -> 윈도우 초기로 돌아가서 전송
2) 3 ACK 무응답 - 윈도우 크기 절반으로 줄여 재전송              
 
오류제어
 
1.정의: 송신한 데이터가 전송도중 오류가 발생 시 검출하고 오류를 수정하는 기능
2. Data Link 계층과 Transport 계층의 오류제어 기법
 1)Data Link 계층의 오류제어 기법:
   가) 후진오류수정(BEC, Backward Error Correction): 오류 검출 후, 송신자에게 재전송 요청
     a) 오류검출방식: 패리티 / 블럭합 / 순환중복검사(CRC) / 검사합 검사
     b) 자동반복요청: Stop & Wait / Go-back-N / Selective-Repeat / Adaptive ARQ 방식
   나) 전진오류수정(FEC, Forward Error Correction): 오류를 스스로 검출하고, 복원할 수 있는 방법. 송신 시 잉여 비트 추가 전송 방식
     a) 해밍코드: 1bit 오류 수정
     b) 상승코드: 한계값(경계값), 순차적 디코딩을 이용한 오류 발생 비트 모두 수정 방식

 

 

체크섬

728x90
Posted by Mr. Slumber
,