TIL-220103_2

EBinY·2022년 1월 3일
0

TIL - Today I Learned

목록 보기
35/54

인터넷 프로토콜

HTTP/3는 왜 UDP를 선택한 것일까? - EvansLibrary

TCP vs UDP

  • TCP 프로토콜
    • IP 프로토콜보다 더 높은 계층에 TCP 프로토콜이 존재함
    • IP 프로토콜의 한계(비연결성, 비신뢰성)을 보완할 수 있음
  • 채팅 프로그램 예시
    • HTTP 메시지가 생성, Socket 라이브러리를 통해 전달
      • 네트워크 소켓: 프로그램이 데이터 송수신을 위해 네트워크 환경에 연결하도록 만든 연결부
    • IP Packet을 생성하기 전, TCP 세그먼트를 생성하여 TCP/IP 패킷으로 묶음
      • IP packet: 출발지 IP, 목적지 IP, 기타
      • TCP 세그먼트: 위를 보완할 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보
    • LAN카드 같은 물리적 계층을 지나기 위해 이더넷 프레임 워크에 포함되어 서버로 전송됨
  • TCP 특징: 전송 제어 프로토콜(Transmission Control Protocol)
    • 연결 지향 - TCP 3 way handshake(가상 연결): 논리적 접속을 성립
      • 클라이언트는 서버에 접속을 요청하는 SYN(Syncronize) 패킷을 보냄
      • 서버는 요청을 수락한다는 ACK(Acknowledgment)와 SYN가 설정된 패킷을 발송
      • 클라이언트는 서버에 ACK를 보내고, 이 이후에 연결이 성립되며 데이터 전송 시작
      • 만약, 서버가 꺼져있다면 위의 요청에 응답이 없으므로 데이터를 보내지 않게 됨
      • 현재에는 최적화가 이루어져 3번 ACK를 보낼 때, 데이터를 함께 보내기도 함
    • 데이터 전달 보증: 데이터 전송이 성공적으로 이루어지면 서버가 이에 대한 응답을 돌려줌
    • 순서 보장: 패킷이 순서대로 도착하지 않는다면, TCP 정보를 토대로 순서가 엉클어진 부분만 재전송을 요청함
    • 신뢰할 수 있는 프로토콜(같은 계층의 UDP에 비해 상대적으로 신뢰할 수 있음)
  • UDP 특징: 사용자 데이터그램 프로토콜(User Datagram Protocol)
    • IP 프로토콜에 PORT, 체크섬 필드 정보만 추가된 단순한 프로토콜임
      • 체크섬(checksum): 중복 검사의 한 형태, 송신된 자료의 무결성을 보호하는 단순한 방법
    • TCP에 비해 신뢰성은 낮지만, 비연결지향(3way handshake X)으로 속도가 빠름
    • TCP보다 기능이 적어, 하얀 도화지처럼 커스터마이징이 가능하다는 장점이 있음
      • QUIC
    • 데이터 전달 보증 X, 순서 보장 X, 신뢰성보다 연속성이 중요한 서비스(e.g.스트리밍)에 자주 사용됨

0개의 댓글