복습 | 6장. 전송 계층 | 신뢰할 수 있는 데이터 전송

728x90

6장. 전송 계층 | 신뢰할 수 있는 데이터 전송

🟥 전송 계층의 역할

  • 다른 네트워크로의 데이터 전송을 위해서는 기본적으로 물리/데이터 링크/네트워크 3계층 존재하면 되는데, ‘신뢰할 수 있는 데이터 전송’을 위해서는 전송 계층의 역할이 필요하다.🟪 역할 2. 데이터 목적지가 어떤 어플리케이션인지 식별 기능
  • 🟪 역할 1. 오류 점검 기능

data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

🟥 연결형 통신 vs 비연결형 통신

🟪 연결형 통신 | TCP 사용

  • 상대편과 확인해가면서 신뢰.정확 데이터 전달하는 통신 방식
  • 🟪 비연결형 통신 | UDP 사용
  • 상대편 확인없이 일방적으로 데이터 신속 전달하는 통신 방식

🟥 TCP의 구조

  • 전송 계층의 연결형 통신 제공하는 TCP 프로토콜의 구조🟪 3-way 핸드 셰이크
  • 🟪 세그먼트 : TCP 헤더 붙인 데이터
  • TCP 헤더의 코드 비트를 사용하여 연결 확립을 하며, 연결 확립 후 데이터 전송이 가능하다.
  • 3번의 패킷 교환을 통해 연결을 확립해서 3-way 핸드 셰이크라고 한다.

🟥 일련번호와 확인 응답 번호의 구조

🟪 일련번호

  • 송신 → 수신 측: 지금 보내는 데이터가 몇 번째인지 알리는 역할
  • 🟪 확인 응답 번호
  • 수신 → 송신 측: 몇 번째 데이터를 수신했는지 알리는 역할

🟨 재전송 제어

: 일련번호+확인응답번호 사용하여 데이터 손상 or 유실된 경우 데이터를 재전송하는 특징이 있다. 일정 시간 대기 후 재전송됨

🟨 윈도우 크기

  • 연속해서 한번에 데이터 송수신 가능한 데이터 크기
  • 세그먼트를 연속해서 보낸 뒤, 응답도 연속해서 받는 것이 더 효율적이므로
  • [버퍼] 연속해서 보낸 세그먼트를 일시적으로 보관하는 장소
  • 3-way 핸드셰이크 과정에서 TCP 헤더 속 윈도우 크기를 함께 확인하는데, 상대방 버퍼 한계값을 알고 나면 오버플로 되지 않도록만 연속해서 데이터를 전송하여 효율적이다.

🟥 포트번호의 구조

  • TCP 의 두 번째 역할인 전송된 데이터 목적지가 어떤 어플리케이션인지 구분하기 위해 포트번호가 필요하다.
  • 🟪 포트 번호
  • TCP 헤더 안에는 ‘출발지 포트번호’ + ‘목적지 포트번호’가 존재
  • TCP 헤더 안에는 포트 번호가 존재하여서 애플리케이션 구분이 가능한데.
  • [포트번호] 0-65535번 사용 O
  • 주요 프로토콜 사용 포트 : 0-1023번
  • 1025번 이상 포트번호는 ‘랜덤포트’ | 클라이언트 측의 송신 포트로 사용됨 ****
  • 서버 측은 포트 번호를 지정해둬야 하지만, 클라이언트 측은 웹 브라우저로 접속할 때 임의의 포트번호가 자동 할당된다.

🟥 UDP의 구조

  • 전송 계층의 비연결형 통신을 위해서는 UDP 프로토콜이 사용된다.
  • 주로, 동영상 처럼 신뢰성보다는 신속하게 데이터 전송 필요한 경우 사용된다.

728x90