TCP (전송 제어 프로토콜)

김민섭·2022년 12월 3일
0

TCP (전송 제어 프로토콜)

호스트를 연결, 데이터를 교환하는 네트워크 프로토콜

TCP의 역활

데이터의 전달을 보증 & 순서대로 받게 해준다
도착한 패킷들을 점검하고 망가지거나 빠진 패킷들을 다시 요청
즉, 패킷이 신뢰할 수 있게 전달 되었는지를 보증해 주는 것

3way 핸드쉐이킹 방식을 사용

송신측 SYN(패킷 출발) 수신측
송신측 SYN/ACK(패킷을 무사히 받았는지 여부) 수신측
송신측 ACK(확인) 수신측

  1. 송신측은 수신측에게 패킷을 보냄
  2. 수신측은 송신측에게 패킷을 잘 받았는지에 대한 여부를 전달함
  3. 송신측은 수신측에게 ok 또는 재전송을 대답해줌

TCP 프로토콜 (네이버 시나리오)

  1. www.naver.com 입력
  2. DNS로 네이버 서버 IP 주소를 할당
  3. 응용 계층에서 메세지 데이터 패킹 (HTTP)
  4. 전송 계층에서 PORT정보, 전송제어 정보, 순서정보, 검증 정보 패킹 (TCP)
  5. 인터넷 계층에서 IP정보 (출발지, 목적지) 패킹
  6. 네트워크 엑세스 계층에서 MAC 주소 패킹
  7. 게이트웨이를 통해 인터넷망 접속
  8. 라우터를 통해 목적지를 찾아 연결
  9. 네이버 서버에 도착 => 패킷을 풀면서 데이터 조립

TCP의 순서 보장 시스템

  1. 클라이언트에서 패킷1, 패킷2, 패킷3 순서로 데이터 전송
  2. 서버에서 패킷1, 패킷3, 패킷2 순서로 받음
  3. 서버에서 패킷2번부터 다시 보내라고 요청
profile
getting ready to run

0개의 댓글