트랜스포트 계층(Layer 4)
그림으로 쉽게 배우는 네트워크 섹션 3 트랜스포트 계층에 대한 정리글
6분
단어: 504개
정보
해당 포스트는 인프런 - 그림으로 쉽게 배우는 네트워크(감자)의 섹션 3 - 트랜스포트 계층(Layer 4)에 대한 정리 포스트입니다.
용어 정리
SYN
:synchronization
(연결 요청)ACK
:acknowledgement
(연결 수락)FIN
:finish
(연결 종료)segmentation
: 데이터를 여러 개의 세그먼트로 나누어 전송하는 과정MSS
:Maximum Segment Size
(최대 세그먼트 크기)
TCP 개요
3 way handshake
3 way handshake
는 TCP Protocol
에서 상대와 통신하기 위한 연결 방식
3 way handshake
의 과정SYN
SYN
/ACK
ACK
TCP는 애플리케이션 계층에서 전송되는 데이터를 segmentation
해서 전송하기 때문에 MSS
를 지정함
- 한번에 큰 데이터를 전송하다가 일부분을 유실하는 경우 전체를 재전송하는 비효율적인 상황을 막기 위해 설정
- 데이터링크 계층에서 전송할 수 있는 크기가 정해져 있음
( 최대 패킷 크기는 1500byte이고, 이 값에서 헤더 정보를 빼면 약 1460byte 정도가 남음 )
3 way handshake 이후 데이터 전송 과정
4 way handshake
4 way handshake
의 과정FIN
ACK
FIN
ACK
TCP(헤더, 혼잡제어)
정보
TCP
:Transmission Control Protocol
TCP 헤더
Source Port
: 출발지 포트Destination Port
: 도착지 포트Sequence Number
: 데이터의 일련번호 ( 데이터의 순서, 최초는 난수 이후 번호는 +1 )Acknowledgement Number
: 다음 수신할Sequence Number
Data Offset
:TCP
데이터가TCP Segment
의 가장 앞에서 얼마나 떨어져 있는지를 나타태는 값Reserved
: 미래에 필요하면 사용할 영역Control Flags
Nonce Sum
: 악의적인 데이터를 은폐하는 것을 방지하기 위한 필드 ( 실험단계 )Congestion Window Reduced
: 혼잡 제어를 위한 필드ECN-Echo
: 혼잡 제어를 위한 필드Urgent Flag
: 긴급하게 처리해야 하는 데이터를 나타낼 때 사용하는 필드 ( 거의 사용 X )Acknowledgement
: 응답을 위해 사용하는 필드 ( 1이면 정상 수신 )Push Flag
: 1이면 빨리 데이터 전송, 0이면 버퍼링 허용Reset Flag
: 1이면 강제 연결 끊기Synchronize Flag
: 커넥션 생성을 위한 필드Finish Flag
: 1이면 연결 끊고 싶다는 의미Window size
: TCP의 흐름제어인 슬라이딩 윈도우 사용을 위한 필드Checksum
: 오류 검사를 위한 필드Urgent Pointer
:Control Flags
의Urgent Flag
가 1인 경우 사용하고, 애플리케이션이 우선처리를 위하면 우선처리함Options
: TCP 기능 확장을 위해 사용
TCP 혼잡제어
Sequence Number
를 이용해서 순서 파악하고 순서대로 조립함- 흐름 제어로
ACK
를 기다리지 않고 여러 데이터를 한번에 전송함 - 혼잡 제어로 한번에 보내는 데이터의 양을 조절함
Window
: 한번에 보낼 영역Window Size
: 한번에 보낼 영역의 크기Window Scroll
: 윈도우 사이즈를 조절하는 것
UDP
정보
UDP
:User Datagram Protocol
UDP 특정
- 커넥션 없이 바로 데이터 전송
- 신뢰성을 보장해주지 않음 ( 원하면 직접 구현 )
- 신뢰성 보다는 속도가 중요한 곳에서 주로 사용 ( 영상, 음성, 게임 )
UDP 헤더
Source Port
: 출발지 포트Destination Port
: 도착지 포트UDP Length
: 헤더 + 데이터의 전체 길이Checksum
: 오류 검사를 위한 필드
TCP vs UDP
속도가 중요하고 신뢰성도 중요하다면 UDP를 사용하되 신뢰성 부분은 직접 구현하는 경우가 많음
QUIC
:Quick UDP Internet Connection
TCP
와UDP
의 장점을 결합한 프로토콜TCP
의 신뢰성과UDP
의 빠른 속도를 결합한 프로토콜HTTP/3
에서 사용