ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TCP - 진행 상태와 신뢰성 확보 방안
    대학 수업/네트워크 2024. 11. 7. 14:52

    TCP의 status

    현재 어떤 통신 과정에 있는지를 나타내는 정보

     

    • 연결이 수립되지 않은 상태
      • CLOSED - 아무런 연결이 없는 상태
      • LISTEN - 연결 대기 상태
        • SYN 세그먼트 대기
        • LISTEN상태의 호스트(일반적 서버) SYN세그먼트 보내면 3WH시작
    • 연결 수립 과정에서 주로 볼 수 있는 상태
      • SYN-SENT
        • 연결 요청 후 대기(SYN+ACK 기대)
      • SYN-RECEIVED
        • 응답 후 ACK 대기중
      • ESTABLISHED
        • 연결 확립
    • 연졀 종료 과정에서 주로 볼 수 있는 상태
      • FIN-WAIT-1
      • CLOSE-WAIT
      • FIN-WAIT-2
        • 1 에서 ACK 받으면 2가 됨, 상대 호스트의 FIN 대기
      • LAST-ACK
        • CW에서 FIN보낸 뒤 상대 ACK 대기
      • TIME-WAIT
        • 서버는 Closed, 하지만 클라이언트는 일정시간 대기 후 Closed 상태로 전이
          • 상대 호스트가 받았어야 할 마지막 ACK 세그먼트가 올바르게 전송되지 않았을 수 있기 때문.
          • 재전송 대기 시간 예상
        • 연결 종료 후 다른 연결 수립 과정 사이에 대기시간이 없다면 서로 다른 연결 패킷들이 혼란 야기 가능
      • CLOSING


     

    TCP 신뢰성을위한

    재전송 기반 오류, 흐름(처리할 수 있을 만큼의 데이터량), 혼잡(네트워크 상태 판단) 제어

     

    오류 검출

    • 체크섬으로는 모든 오류 검출 에 대한 보장이 어려움
    • 신뢰성 보장을 위하여
      • 송신 호스트가 송신한 세그먼트에 문제가 있음을 인지
      • 오류 감지하게 되면, 해당 세그먼트를 재전송
    • TCP가 오류를 검출하고 세그먼트를 재전송하는 상황
      • 중복된 ACK세그먼트를 수신했을 때
        • 수신 호스트 측이 세그먼트 순서 번호 중에서 일부가 누락 된 경우
          • 중복된 ACK 세그먼트를 전송(받지 못해서 계속 보냄)
          • 호스트 A의 n+1의 세그먼트가 잘못 전송되었고, 호스트 B가 n+1 세그먼트를 반복 
      • TimeOut 발생할 때
        • RTT (Round Trip Time) : 메세지 전송한 뒤 답변을 받는데까지 걸린 시간
          • retransmission timer : 에 따라서 Timeout : 비정상적 상황으로 판단, 재전송 시행

     

    재전송

    • ARQ 재전송 기법
      • ARQ -Automatic Repeat Request : 자동 재전송 요구
      • 수신 호스트의 답변과 타임아웃 발생 토대로 문제 진단, 문제 발생 메세지 재전송으로 신뢰성 확보
        • Stop-and-Wait 
          • 제대로 전달했음을 확인하기 전까지는 새로운 메세지를 보내지 않는 방식
          • 단순하지만, 높은 신뢰성
          • 네트워크 이용 효율이 낮아지고, 성능이 저하됨
            • A : 확인 응답 받기 전까진... // B : 더 많이 받을 수 있는데... 
        • Go-Back-N
          • 각 seg 에 대한 ack받지 않더라도 여러 세그먼트 전송 필요
          • Pipelining : 연속해서 메세지를 전송할 수 있는 기술
            • 여러 세그먼트를 전송하고, 도중에 잘못 전송된 세그먼트 발생 시, 해당 세그먼트부터 전부 다시 전송
          • n번 까지의 누적 확인 응답 요구('n번' 만의 응답 X)
            • CACK : Cumulative Acknowledgement  
          • fast retransmit
            • 재전송 타이머가 만료되기 전이라도 세번의 동일한 ACK 세그먼트 수신시 해당 세그먼트 곧바로 재전송하는 기
        • Selective Repeat
          • 수신 호스트 측에서 제대로 전송받은 각각의 패킷들에 대해 ACK 세그먼트 반환
            • SR : 개별 확인  // 누적 확인 : GBN
          • SR ARQ 을 사용하지 않을 경우, GBN ARQ 방식으로 동작

    데이터 전송 간 계층 포함별 단위

    message / segment / packet / frame

    TCP : 전송계층 : segment

     

    '대학 수업 > 네트워크' 카테고리의 다른 글

    DHCP - 도메인  (0) 2024.11.27
    HTTP 구조  (2) 2024.11.20
    TCP 흐름, 혼잡 제어  (1) 2024.11.13
Designed by Tistory.