TCPTransfer Control Protocol

  • 연결 지향형 프로토콜
  • 송수신 각 컴퓨터가 데이터를 전송하기전 연결 통로를 만들고 전송하는 프로토콜
  • 통신이 종료될 때까지 연결 상태를 유지
  • 전송되는 패킷에 에러가 없고, 보내진 순서대로 수신측이 받을 수 있도록 신뢰성 있는 데이터 전송을 보장
  • 패킷의 다중화
  • Stream 전송 기능을 제공

    TCP 통신과정

  • 통신 연결 과정

    • 3-way handshaking
    • 1 . 송신측이 수신측에 SYN segement를 보내어 connection Request
    • 2 . 수신측이 송신측에 수신 확인으로 SYN segement와 ack를 전송
    • 3 . 송신측이 수신측에 응답 segement의 확인 응답(Response)으로 ack를 전송
  • 통신 연결 해제 과정

    • 4-way handshaking
    • 1 . 송신측이 수신측에 FIN segment를 보내 Disconnection Request
    • 2 . 수신측이 송신측에 확인 응답으로 ack segement 전송
    • 3 . 수신측이 송신측에 FIN segement를 전송하여 disconnection Request
    • 4 . 송신측이 수신측에 응답 segment의 확인 응답으로 ack를 전송

DAT

연결/연결해제 과정

TCP 헤더

  • Source Port Number / Destination Port Number : 수신지 호스트가 클라이언트에 의해 요청되는 서버라면 대부분의 경우 well-knowwn port number 이다.
  • Sequence Number : 순서제어
  • Acknowledgment Number : 전이중
  • Checksum : 에러제어
  • Window size : 흐름제어
  • Flag
    • URG : 긴급 데이터
    • ACK : 확인 응답번호
    • PSH : TCP가 받은 데이터를 상위 계층에 전달
    • RST : 연결 재설정
    • SYN : 순서 초기화
    • FIN : 데이터 송신 종료

❗️ TCP 흐름제어
! 수신측의 컴퓨터는 패킷이 정상적으로 도착했는지의 여부를 송신측 컴퓨터에 알리며, 정상적으로 전송되지 못한 패킷은 송신측 컴퓨터가 재전송
! 슬라이딩 윈도우 방식을 사용한다.
! Window Size는 한 번에 전송되는 패킷의 개수, 수신 버퍼의 크기이다.

UDPUser Datagram Protocol

  • 비연결형 지향형 프로토콜
  • 패킷의 정확한 전송을 보장하지 않지만 빠른 전송이 필요한 경우 사용
  • 흐름제어, 단편화 및 전송 보장, 오류 복구 기능 제공 X (TCP는 제공)
  • 단순한 헤더구조라 Overhead가 적다
  • 실시간 전송에 유리하며, 신뢰성보다 속도가 중요되는 네트워크에 사용

UDP 헤더

  • Source Port Number / Destinmation Port Number
  • Length
  • Checksum : 필드는 존재하지만 반드시 값을 가져야할 필요가 없다. 그러므로 에러제어를 수행할수도 안할수도 있다.

댓글 쓰기