type
status
date
slug
summary
tags
category
icon
password

정의

전송 계층은 OSI 모델의 네 번째 계층으로, 데이터의 신뢰성 있는 전송을 담당합니다.

특징

  • 신뢰성 있는 데이터 전송: 전송 계층은 데이터가 손실되지 않고 순서대로 전달되도록 보장합니다.
  • 오류 복구: 전송 중 발생한 오류를 감지하고 수정하는 기능을 제공합니다.
  • 흐름 제어: 송신자와 수신자 간의 데이터 전송 속도를 조절하여 네트워크 혼잡을 방지합니다.
  • 포트 번호 사용: 응용 프로그램 간의 통신을 식별하기 위해 포트 번호를 사용합니다.
  • 연결 설정 및 종료: 통신 세션을 설정하고 종료하는 기능을 제공합니다.
  • 세그먼트화: 큰 데이터를 작은 세그먼트로 나누어 전송하고, 목적지에서 다시 조립합니다.
  • NAT(Network Address Translation): 사설 IP를 공인 IP로 변경합니다.
 

종류

연결형, 비연결형 통신으로 구분됨
 

TCP

TCP는 신뢰성 있는 데이터 전송을 보장하기 위해 연결 설정 및 종료, 흐름 제어, 오류 복구 등의 기능을 제공합니다. TCP는 데이터 전송 중 발생할 수 있는 오류를 검출하고 수정하며, 데이터가 손실되거나 순서가 뒤바뀌지 않도록 합니다.
 

UDP

UDP(User Datagram Protocol)는 데이터 전송의 신뢰성을 보장하지 않지만, 속도가 중요할 때 사용됩니다. 주로 동영상 스트리밍, 온라인 게임 등에서 활용됩니다.
 

TCP 체크섬

TCP(Transmission Control Protocol) 체크섬은 데이터 전송 중 발생할 수 있는 오류를 검출하기 위한 메커니즘입니다. TCP 헤더와 데이터의 각 바이트를 더하고, 그 합의 1의 보수를 계산하여 체크섬 필드에 저장합니다. 수신 측에서는 동일한 계산을 수행하여 수신한 체크섬과 비교합니다. 체크섬이 일치하지 않으면 데이터가 손상된 것으로 간주하고 재전송을 요청합니다.

UDP 체크섬

UDP(User Datagram Protocol) 체크섬은 데이터그램의 무결성을 보장하기 위한 방법입니다. UDP 체크섬은 선택적으로 사용할 수 있지만, 신뢰성을 높이기 위해 대부분의 경우 사용됩니다. UDP 헤더, 데이터, 그리고 의사 헤더(pseudo-header)를 포함한 모든 바이트를 더하고, 그 합의 1의 보수를 계산하여 체크섬 필드에 저장합니다. 수신 측에서는 동일한 계산을 수행하여 수신한 체크섬과 비교합니다. 체크섬이 일치하지 않으면 데이터가 손상된 것으로 간주됩니다.
프로토콜
체크섬 필드
주요 특징
TCP
필수
신뢰성 있는 데이터 전송을 위해 항상 사용
UDP
선택적
신뢰성보다 속도가 중요할 때 사용, 하지만 대부분의 경우 사용
두 프로토콜 모두 체크섬을 통해 데이터 전송 중 발생할 수 있는 오류를 검출하고, 데이터의 무결성을 유지하는 데 기여합니다.
 

QOS(Quality Of Servive)

💡
네트워크에서 데이터 전송의 우선순위를 정하고, 특정 트래픽에 대해 보장된 서비스 품질을 제공하는 기술
QoS는 네트워크 트래픽을 관리하여 중요한 데이터가 우선적으로 전달되도록 합니다. 이를 통해 네트워크의 효율성과 신뢰성을 높이고, 비디오 스트리밍, VoIP 등 실시간 애플리케이션에서 안정적인 성능을 보장합니다.

포트

네트워크 통신에서 특정 서비스를 식별하는 데 사용됩니다. 클라이언트와 서버 간의 통신을 원활하게 하기 위해 각 애플리케이션은 고유한 포트 번호를 할당받아 사용합니다.

Well-Known 포트

Well-Known 포트는 0번부터 1023번까지의 포트 번호로, 주로 표준화된 서비스가 사용하는 포트입니다. 이러한 포트는 IANA(Internet Assigned Numbers Authority)에 의해 할당되고 관리됩니다
  • HTTP: 포트 80
  • HTTPS: 포트 443
  • FTP: 포트 21
  • SMTP: 포트 25

Registered 포트

Registered 포트는 1024번부터 49151번까지의 포트 번호로, 특정 애플리케이션이나 서비스가 사용할 수 있습니다. 이 포트들은 IANA에 의해 등록되지만, Well-Known 포트만큼의 제약은 없습니다
  • MySQL: 포트 3306
  • Microsoft SQL Server: 포트 1433
  • PostgreSQL: 포트 5432

Dynamic 포트

Dynamic 포트는 49152번부터 65535번까지의 포트 번호로, 임시 포트로 사용됩니다. 주로 클라이언트 애플리케이션이 서버와의 통신을 위해 일시적으로 할당받아 사용하는 포트입니다.
  • 클라이언트 애플리케이션이 서버에 연결할 때 사용되는 임시 포트

장비

공유기

💡
여러 기기를 인터넷에 연결하고 네트워크를 관리하는 장치
공유기는 유무선 네트워크에서 사용되며, IP 주소를 할당하고 네트워크 트래픽을 관리(QOS)합니다. 또한, 네트워크 보안을 강화하는 기능도 제공합니다. 로드밸런싱을 지원하지 않습니다.

L4 스위치

💡
로드 밸런싱 및 고급 트래픽 관리를 제공하는 스위치
L4 스위치는 전송 계층 정보를 기반으로 네트워크 트래픽을 효율적으로 분산시키고 관리합니다(로드밸런싱). 이를 통해 네트워크 성능을 최적화하고, 서비스의 가용성을 높이는 데 기여합니다.

 
 
웹 브라우저 Client → 웹 서버에게 요청할 때
[www.naver.com 요청 + HTTP + TCP + IP + Ethernet]
tcp.src(source port 은 동적 포트. 무작위 범위)
tcp.dst(HTTP 면 80, HTTPS면 443. 고정)
 
웹 서버가 Client 에게 HTML 이나 그림 답장을 줄때
[html 소스 + HTTP + TCP + IP + Ethernet]
tcp.src(80 or 443)
 

REF

TCP라우팅
Loading...