Network. UDP(User Datagram Protocol)

소개 UDP(User Datagram Protocol)는 전송 계층(L4)에서 동작하는 비연결형(Connectionless) 프로토콜이다. 연결 설정 없이 데이터를 빠르게 전송하며, 신뢰성보다 실시간성이 중요한 환경에서 주로 사용된다. UDP: User Datagram Protocol OSI 7계층에서 전송 계층(L4)에 해당 특징 장점 데이터 전송 전에 연결을 설정하지 않는 비연결형 서비스 지연 시간이 낮음 단순한 프로토콜 구조 헤더 크기가 작고, 오버헤드가 적음 IP 계층의 유니캐스트, 브로드캐스트, 멀티캐스트 전송에 사용할 수 있음 단점 신뢰성 부족 패킷 손실, 순서 오류, 중복이 발생해도 복구할 수 없음 애플리케이션 수준의 보완 필요 데이터그램 패킷 통신 각 데이터그램은 다른 데이터그램과 독립적으로 전달된다. UDP 자체에는 순서 번호, 재전송, 중복 제거 기능이 없으므로 도착 순서나 전달 성공을 보장하지 않는다. ...

January 31, 2025

Network. TCP(Transmission Control Protocol)

소개 TCP(Transmission Control Protocol)는 전송 계층(L4)에서 동작하는 연결 지향(Connection-oriented) 프로토콜이다. 신뢰성 있는 데이터 전송을 위해 연결 설정, 순서 제어, 오류 제어, 흐름 제어, 혼잡 제어 등의 기능을 제공한다. 특징 신뢰성 있는 연결형 서비스 제공 포트 번호를 이용한 다중화, 순서 제어, 오류 제어, 흐름 제어, 혼잡 제어 기능 제공 애플리케이션에는 메시지 경계를 보존하지 않는 연속된 바이트 스트림을 제공 TCP 헤더 TCP 세그먼트 앞부분에 위치한 데이터 전송을 위한 제어 정보를 포함하는 구조, 20바이트로 구성되며 최대 60바이트로 확장 가능 ...

January 31, 2025

Network. TCP vs. UDP

TCP vs. UDP TCP와 UDP는 모두 전송 계층에서 동작하는 프로토콜이지만, 연결 방식과 데이터 전송 방식이 다르다. TCP는 신뢰성을 우선으로 하고, UDP는 속도와 실시간성을 우선으로 설계되었다. 비교 구분 TCP UDP 연결 방식 연결 지향 (Connection-oriented) 비연결형 (Connectionless) 신뢰성 O X 순서 보장 O X 데이터 전송 방식 스트림(Stream) 데이터그램(Datagram) 흐름 제어 O X 혼잡 제어 O X 헤더 크기 20~60 Byte 8 Byte 속도 상대적으로 느림 상대적으로 빠름 언제 사용할까? TCP 웹 서비스 (HTTP, HTTPS) 이메일 (SMTP) 파일 전송 (FTP) 데이터의 정확성이 중요한 서비스 UDP DNS DHCP 실시간 스트리밍 VoIP 온라인 게임 빠른 응답이 중요한 서비스 선택 기준 데이터의 정확성과 순서가 중요하다면 TCP를 사용한다. 일부 패킷 손실이 발생하더라도 실시간성이 더 중요하다면 UDP를 사용한다.

January 31, 2025

Network. TCP Flow & Congestion Control

개요 TCP는 신뢰성 있는 데이터 전송을 위해 흐름 제어(Flow Control) 와 혼잡 제어(Congestion Control) 기능을 제공함. 흐름 제어는 송신자와 수신자 사이의 데이터 전송량을 조절하고, 혼잡 제어는 네트워크 전체의 혼잡을 방지하기 위한 메커니즘이다. 흐름 제어 (Flow Control) 송신자와 수신자의 처리 속도 차이로 인해 데이터가 손실되지 않도록 전송량을 조절하는 기능이다. 정지-대기 (Stop-and-Wait) 수신 측의 ACK를 받은 후에 다음 패킷을 전송하는 방식, 한 번에 하나의 패킷만을 전송할 수 있음 슬라이딩 윈도우 (Sliding Window) ACK를 이용해서 송신 데이터의 양을 조절하는 방식, ACK를 받지 않더라도 미리 정해진 패킷의 수 만큼 연속적으로 전송하는 방식 ...

January 31, 2025