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

Network. Network 오버뷰

네트워크 노드와 링크(엣지)들이 서로 연결되어 리소스를 공유하는 구조이며, 그래프 형태로 표현할 수 있다. 노드: 서버, 라우터, 스위치 링크: 유선 or 무선 키워드 네트워크 토폴로지 클라이언트와 서버 패킷 주소와 전송 방식 프로토콜 네트워크 참조 모델 통신이 이루어지는 단계를 계층적으로 표현한 모델 OSI Model 계층 대표 역할 Application HTTP, DNS 등 네트워크 서비스 Presentation 인코딩, 압축, 암호화 Session 세션 관리 Transport TCP, UDP Network 라우팅, IP Data Link 같은 LAN에서의 통신 Physical 비트 전송 TCP/IP Model 응용 계층(Application Layer): OSI 모델에서 세션, 표현, 응용 계층 전송 계층(Transport Layer): OSI 모델에서 전송 계층 인터넷 계층(Internet Layer): OSI 모델에서 네트워크 계층 네트워크 액세스 계층(Network Access Layer): OSI 모델에서 데이터 링크 계층 (+ 물리 계층) 캡슐화와 역캡슐화(Encapsulation, Decapsulation) 캡슐화 데이터가 계층를 거치면서 헤더가 추가되는 과정, 상위 계층로부터 내려받은 패킷을 페이로드로 하고, 각 계층에 포함된 프로토콜의 헤더나 트레일러를 덧붙이는 과정 역캡슐화 캡슐화 과정에서 덧붙인 헤더들을 각 계층에서 확인한 뒤, 제거하는 과정 각 계층마다 패킷을 부르는 명칭이 다르다. ...

April 30, 2024

TCP/IP 4계층

소개 TCP/IP 4계층은 OSI 7계층과 더불어 인터넷에서 데이터를 주고받기 위해 사용하는 대표적인 네트워크 참조 모델이다. 네트워크 통신 과정을 역할에 따라 계층으로 분리하여 관리하며, 각 계층은 독립적인 역할을 수행한다. 덕분에 특정 계층의 구현이 변경되더라도 다른 계층에 미치는 영향을 최소화할 수 있다. 계층 구성 애플리케이션(Application) 대표 프로토콜: HTTP, HTTPS, DNS, FTP, SMTP 응용 프로그램이 사용되는 프로토콜 계층 이메일, 웹 서비스 등 서비스를 실질적으로 제공 전송(Transport) 대표 프로토콜: TCP, UDP 송신자와 수신자 간의 데이터 전송을 담당하는 계층 ...

March 13, 2024