TCP/UDP

Y39·2023년 2월 27일
0

toBeProgrammer

목록 보기
20/88

  • transport Layer

    • End point간 신뢰성 있는 데이터 전송을 담당하는 OSI 계층
    • 신뢰성
      • 데이터를 순차적, 안정적으로 전달
    • 전송
      • 포트 번호에 해당하는 프로세스에 데이터 전달
    • 신뢰성과 전송이 없다면 데이터 송수신에 대혼란이 생김
  • TCP

    • 신뢰성있는 데이터 동신을 가능하게 해주는 프로토콜
    • connection 연결(3way-handshake) 양방향 통신
      • 1: 클라이언트가 서버에 SYN(1) 송신
      • 2: 서버는 SYN(1), ACK(1)를 클라이언트로 송신
      • 3: 클라이언트는 서버로 ACK(1) 송신
      • 클라이언트와 서버 모두 ESTABLISHED
    • 데이터 순차 전송 보장
    • 흐름 제어
    • 혼합 제어
    • 오류 제어
    • 문제점: 전송, 신뢰성은 보장하지만 매번 connection을 해서 시간 손실이 있음
    • 손실이 있으면 서비스에 지장이 없더라도 계속 재전송을 하게 됨
  • Segment

    • 큰 용량의 데이터를 TCP Header과 data를 하나로 뭉쳐서 쪼개는 기술
  • UDP

    • TCP의 문제점을 보완
    • 신뢰성은 떨어져도 전송 속도가 빠른 프로토콜
    • 순차 전송x, 흐름 제어x, 혼합 제어x
    • connectionless
    • 비교적 큰 크기의 데이터 전송 (비디오, 사진)
    • segment가 쪼개지지 않는다.
    • 개발자가 알아서 쪼개야함
    • 전송을 받는 쪽의 상태와 무관하게 무조건 보냄
profile
System.out.print("Bold")

0개의 댓글