05-17 04:01
Recent Posts
Recent Comments
관리 메뉴

miinsun

[Network] TCP의 이해 본문

Infra/Network

[Network] TCP의 이해

miinsun 2022. 7. 12. 16:11

  • TCP의 전반적인 특징
    1. Point-to-Point : 한쌍의 프로세스 간의 데이터 통신
    2. Reliable : 신뢰성있고 순서에 의거해 전송
    3. pipelined: window 사이즈를 조절해서 tcp 혼잡 및 흐름 제어 
    4. full duplex data: 양방향 통신, 전이중데이터
    5. conection-oriented: 연결 지향적, 제어 메세지 교환
    6. flow controlled: 흐름제어, 발신자는 수신자가 정한 용량보다 더 많이 보내지 못함

  • TCP 헤더 구성 요소
    1. 포트 넘버(source port & dest port) : 출발지 포트와 도착지 포트가 있다 (포트 넘버는 0 ~ 65535)
    2. 시퀀스 넘버(sequence number) : 데이터의 중복을 확인할 때 사용하는 번호
    3. ACK 넘버(acknowledgement number) : 응답 번호
    4. Receive window : 윈도우 사이즈를 약속할 수 있는 필드
    5. checksum : 오류 검출 필드

 

  • TCP 단순 연결 시나리오
    1. HostA가 HostB로 시퀀스 넘버를 42, ACK 넘버를 79, data ‘C’를 보냄
      • 즉, HostA 측에서 42번에 해당하는 데이터를 보냄, 응답은 79로 해주세요
    2. HostB가 HostA로 시퀀스 넘버를 79, ACK 넘버를 43을 보냄
      • HostA가 요청한 응답 79번을 시퀀스 넘버를 보냄
      • ACK 43번은 HostB가 다음에 받아야 할 데이터 번호
    3. HostA가 HostB로 시퀀스 넘버를 43, ACK 넘버 80을 보냄
      • 즉, 그 다음 데이터 시퀀스 넘버 43을 보내고 응답은 80번으로 해주세요.
Q: 마지막에 통신이 끊기지 않고, HostB가 다시 한번 통신한다면?
A: Seq는 80, ACK는 44을 보냄
Comments