Network/컴퓨터 네트워크

[9] CH3 Transport 계층

Return 2021. 11. 1. 12:50

연결 지향형 transport 

 

  TCP 개요 

- Connection-oriented(연결 지향형)

    - Data 전송 이전에 handshaking은 송신자와 수신자 사이 초기화하는 역할이다. 

 

- Point - to - Point  ( 단일 송신자 , 단일 수신자 )

- 신뢰적 전송 

- Pipelined 

- Full duplex 전송 ( 동일 연결을 통해 양방향 데이터 전송 )

- 세 방향 핸드세이크 

 

 

  TCP 신뢰적 데이터 전달 

- TCP는 IP의 비신뢰적 service위에 rdt service를 생성 

- Pipeline 형태의 전송 

- 누적 ACK 사용 

- TCP는 한개의 timer만을 사용한다. 

- 재전송은 다음과 같은 사건에 의해 시작된다. ( timer만료 / 중복된 ACK )

- 처음에는 단순화된 TCP 송신만을 고려할 것임 ( 중복 ACK무시, 흐름 제어 및 혼잡 제어 무시 )

 

 

  TCP 흐름제어 

- TCP연결의 수신측은 수신 buffer 

- 응용계층 process는 버퍼를 읽는 속력이 느릴 수 있다. 

 

흐름제어 : 수신 측 buffer에서 overflow가 발생하지 않도록 송신측은 너무 많이 혹 은 너무 빠르게 전송 

 

 

  TCP 연결 관리

- 연결 설정  1. Client host는 TCP SYN segment를 server에 전송 

                 2. server host가 SYN을 수신하면 SYNACK segment 송신

                 3. client가 SYNACK를 수신하면 ACK segment 송신 

 

- 연결 해제  1. Client 종단시스템은 TCP FIN이라는 제어 segment를 server에 전송 

                 2. server는 FIN을 수신하면, ACK로 응답, 연결을 종료하고 FIN전송 

                 3. Client는 FIN을 수신하고 , ACK로 응답

                 4. server가 ACK를 수신하면 완료 

 

  혼잡제어의 원리 

- 혼잡 : 흐름제어와 다름 , packet손실 , 긴 지연 

 

  혼잡제어에 대한 원리 

- 종단간의 혼잡제어 

      - Network로부터 직접적인 feedback 없다. 

      - 종단 간 발생한 packet손실과 지연을 통해 혼잡 예상 

      - TCP에서 사용 

 

- 네트워크지원 혼잡 제어 

      - Router가 종단 시스템에 feedback제공 

 

 

  TCP 혼잡제어 

- 접근 방법 

    - additive increase : 손실이 발생되기 전까지 매 RTT마다 CongWin을 MSS씩 증가 

    - multiplicative decrease : 손실이 발생하면 CongWin을 절반으로 감소시킴 

 

 

  TCP 혼잡제어 : 구체적 사항 

- 송신측의 전송 제한 

- 손실과 전송지연을 무시한다면, rate = CongWin/RTT 

 

  TCP Slow Start 

- 연결 설정되면, CongWin = 1/MSS

- 예상되는 사항 : 가용 대역폭 >> MSS / RTT

- 연결 설정되면, 첫번째 손실이 발생하기까지는 지수적으로 속도 증가 

      - 매 RTT마다 CongWin를 2배로 증가 

      - 구현 방법 : 매 ACK수신마다 CongWin를 1/MSS씩 증가 

 

요약 : " 초기 속도는 느려지만 지수적 증가 "

 

  손실 감지 (Reno 방식)

- 3개의 중복 ACK 

    - CongWin을 절반으로 줄임 

    - 그 후 window를 선형적으로 증가시킴 

 

- Timeout인 경우 

    - CongWin = 1

    - Window를 지수적으로 증가 

    - Thershold  (Failed CongWin / 2)에 다다르면 선형적 증가 

 

 

3개의 중복 ACK는 network이 일부 segment를 전달 할 수 있따. 

Timeout은 보다 심각한 혼잡 시나리오를 의미