컴퓨터공학/네트워크

[컴퓨터 네트워크] 트랜스포트 계층

주정용 2021. 1. 25. 18:26
728x90
  • 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 프로세스 간 논리적 통신 제공
  • 네트워크 라우터 X, 종단 시스템에서 구축됨
  • 데이터가 segment라는 트랜스포트 계층 패킷으로 캡슐화됨
  • UDP, TCP ...

트랜스포트 계층과 네트워크 계층

  • 트랜스포트 계층 --> 프로세스 간 논리적 통신 제공

  • 네트워크 계층 --> 호스트 간 논리적 통신 제공

  • 트랜스포트 계층은 네트워크 프로토콜이 비신뢰적이어도 신뢰적인 통신 제공 + 보안 제공

  • 네트워크 계층의 IP : 비신뢰적인 서비스

    • 최선형 전달 서비스 제공
    • 세그먼트의 순서 보장 X
    • 데이터의 무결성 보장 X
  • 트랜스포트 계층은 호스트 간 전달 --> 프로세스 간 전달로 확장하는 트랜스포트 다중화와 역다중화 제공

다중화와 역다중화

  • 애플리케이션은 소켓을 통해서 트랜스포트 계층과 통신함
  • 다중화 : 세그먼트들을 네트워크 계층으로 전달하는 작업
  • 역다중화 : 세그먼트들을 올바른 소켓으로 전달하는 작업
  • 출발지 포트 번호, 목적지 포트 번호를 이용해서 다중화 구현

UDP(User Datagram Protocol)

  • 다중화/역다중화, 간단한 오류 검사 기능 제공
  • 핸드셰이크 X --> 비연결형
  • UDP가 유용한 이유
    • 애플리케이션 레벨에서 정교한 데이터 송신 제어 가능
    • 연결 설정(핸드셰이크)이 X --> 연결 설정을 위한 지연 X
  • 연결 상태 X
  • 작은 패킷 헤더 오버헤드
  • 구글의 QUIC 프로토콜은 UDP 이용
  • 세그먼트
    • 헤더 : 2Byte씩 이뤄짐
      • 출발지 포트 번호, 목적지 포트 번호, 길이, 체크섬
    • 바디 : 애플리케이션 메시지
  • 체크섬은 오류만 검출 --> UDP는 오류 복구 안함

신뢰성있는 데이터 전송 원리

  • 데이터가 전송될 수 있는 신뢰적인 채널의 서비스 추상화는 신뢰적인 데이터 전송 프로토콜의 의무

  • TCP :비신뢰적인 종단간 네트워크 계층(IP) 위에 구현된 신뢰적인 데이터 전송 프로토콜

  • pipelining : 확인응답을 기다리지 않고 여러 패킷 연이어 전송

    • 오류 회복 : N부터 반복(Go-Back-N), 선택적 반복(Selective Repeat)

      • N부터 반복(Go-Back-N) : 순서가 잘못된 패킷은 버리고 다시 재전송받음

      • 선택적 반복(Selective Repeat) :

        패킷 순서 고려 X, 손상없는 패킷은 확인응답 보냄. 분실된 패킷이 도착할때까지 버퍼에 모아두고 수신하면 전송

TCP(Transmission Control Protocol)

  • 3-way handshaking --> 연결지향형
  • 서로 동시에 메시지 송신 가능 --> 전이중 서비스
  • 단일 수신자, 단일 송신자 --> 점대점 연결
  • 3 방향 핸드셰이크
    • 연결 설정을 위해 호스트간 3개의 패킷이 송신
    • TCP는 초기 세 방향 핸드셰이크 동안 연결의 송신 버퍼로 데이터 전송
    • 세그먼트의 크기는 전송될 수 있는 가장 큰 링크 계층 프레임의 길이(최대 전송 단위)에 의해 결정
  • TCP는 TCP 헤더와 클라이언트 데이터를 하나의 TCP 세그먼트로 생성함
  • 세그먼트
    • 헤더 : 출발지 포트 번호, 목적지 포트 번호, 체크섬, 순서번호, 확인응답번호, 헤더길이, 플래그, 수신 윈도우, 긴급 데이터 포인터, 옵션
    • 바디 : 데이터
  • TCP의 오류 복구는 GBN과 SR 프로토콜의 혼합
  • 애플리케이션에 흐름제어 서비스 제공 --> 송신자의 전송 속도와 수신자의 읽기 속도를 일치시킴
  • 혼잡제어 : 모두가 이용하는 네트워크 차원의 서비스. 전체 서비스 안정화
    • TCP의 혼잡제어 알고리즘
      • 슬로우 스타트, 혼잡 회피, 빠른 회복
      • 슬로우 스타트, 혼잡 회피는 필수요소임