IT Dictionary/Network

전송 계층(Transport Layer) 정리 (1) (Feat. TCP)

Jaebins 2024. 11. 21. 15:02
반응형

전송 계층 (Transport Layer)

  • 오류 제어, 흐름 제어, 분할과 병합과 같은 데이터 순서화 등 기능을 가짐
  • 데이터 링크 계층의 특징과 유사
  • 프로세스 간 통신을 담당

 

멀티플렉싱 (Multiplexing)

    • 전송 계층의 주된 기능 중 하나로, 멀티플렉서와 유사한 기능을 가짐
    • 전송 계층의 여러 소켓에서 송신하는 데이터에 패킷을 붙여 통합하여 네트워크 계층으로 전달 (N -> 1)
    • Sender의 역할
디멀티플렉싱(DeMultiplexing)
하나의 데이터를 분할하여 여러 소켓에 배분 해주는 것 (1 -> N), Receiver의 역할

Multiplexing, Demultiplexing


TCP 헤더(Header) 구조

  • 연결형 서비스와 신뢰성 있는 전송 보장
  • 전이중 방식의 가성 회선 제공
  • IP는 컴퓨터 레벨에서 통신을 제공하고, TCP는 응용 프로그램 간 통신에 중점을 둠

 

TCP 헤더(Header) 구조

TCP Header

 

TCP 헤더(Header) 플래그 비트

  • ECE : ECN 기능 사용을 위해 정의, 혼잡을 알리기 위해 사용
  • CWR : ECN 기능 사용을 위해 정의,  송신 윈도우 크기를 줄였으므로, ECE를 전송하지 말라는 의미
  • URG : Urgent Pointer 필드가 유효한지를 나타냄
  • ACK : Acknowledgement Number 필드가 유효한지를 나타냄
  • PSH : 현재 세그먼트에 포함된 데이터를 상위 계층에 즉시 전달
  • RST : 연결의 리셋이나 유호하지 않은 세그먼트에 대한 응답
  • SYN : 연결 설정 요구를 의미, 가상회선 연결 설정 때 사용
  • FIN : 연결 해제 요구를 의미
ECN
라우터가 송신 프로세스에게 명시적으로 혼잡 발생을 알려주어 송신 프로세스가 트래픽을 관리하는 기술

 

TCP 3-way Handshaking (연결 설정)

  • 네트워크 장치들 사이의 논리적인 연결 과정

3-way Handshaking

 
1. SYN : 클라이언트는 서버에게 접속을 요청하는 SYN 플래그를 송신
        ★ CLIENT (SEQ=x)    →   SERVER
2. SYN + ACK  : 서버는 확인했다는 ACK 플래그와, 클라이언트에게 접속을 요청하는 SYN 플래그 송신
        ★  CLIENT    ←   SERVER(SEQ=y, ACK=x+1)
3. ACK : 클라이언트는 확인했다는 ACK 플래그 전송
        ★  CLIENT (SEQ=x+1, ACK=y+1)     ←   SERVER

 

연결 해제 과정

  1. 일방적 연결 해제 방식 : 상대 프로세스의 동의가 없어도 연결을 해제
  2. 점진적 연결 해제 방식 : 두 개의 단방향 통로 존재,  내 프로세스가 연결 해제를 시도해도 상대 프로세스는 단방향 통로를 닫지 않으면 계속 통신

 

TCP 4-way Handshaking (연결 해제)

  • 세션 연결 해제를 위한 과정

4-way Handshaking

1. FIN 클라이언트는 서버에게 연결을 종료한다는 FIN 플래그 송신
        ★  CLIENT (SEQ=x)    →   SERVER
2. ACK  : 서버는 확인했다는 ACK 플래그 송신 후, 자신의 작업이 끝날 때까지 대기 상태 진입
        ★  CLIENT    ←   SERVER(SEQ=y, ACK=x+1)
3. FIN : 서버는 클라이언트에게 연결을 종료하는 FIN 플래그 송신
        ★  CLIENT     ←   SERVER(SEQ=y+1, ACK=x+1)
4. ACK : 클라이언트는 확인했다는 ACK 플래그 전송 후, 연결 해제
        ★  CLIENT (SEQ=x+1, ACK=y+2)    →   SERVER

 

포트 번호

  • 전송계층의 TCP와 UDP가 상위 계층에 제공하는 주소 표현 방식
  • 2바이트의 크기를 가짐
서비스 포트 번호
FTP (데이터 송수신) 20
FTP (제어) 21
SSH 22
TELNET 23
SMTP 25
DNS 53
DHCK 67(Server), 68(Client)
TFTP 69
HTTP 80
POP3 110
portmap 111
IMAP 143
SNMP 161, 162
HTTPS (SSL) 443
rlogin 513
rsh 514

 

반응형