TCP: 연결지향형 트랜스포트
·
전공 공부/컴퓨터네트워크
네트워크에서 TCP(Transmission Control Protocol)는 신뢰할 수 있는 데이터 전달을 보장해주는 중요한 프로토콜입니다. 이번 글에서 TCP의 세그먼트 구조와, 연결 설정 및 종료 과정, 흐름 제어와 재전송 메커니즘 등을 다뤄보겠습니다.TCP(Transmission Control Protocol)는 연결 지향적 프로토콜로, 신뢰할 수 있는 데이터 전송을 제공합니다. 송신자와 수신자는 1대 1 연결을 통해 데이터를 주고받으며, 순서 기반의 연속 스트림을 처리하여 데이터가 정확하게 도착하도록 보장합니다.전이중 데이터 흐름: 양방향 데이터 흐름이 가능합니다.MSS (Maximum Segment Size): TCP가 한 번에 전송할 수 있는 최대 데이터 크기입니다.누적 ACK: 수신자는 받은..
혼잡 제어의 원리
·
전공 공부/컴퓨터네트워크
혼잡 제어란 무엇인가?혼잡 제어는 네트워크에서 다수의 송신자가 동시에 많은 데이터를 빠르게 전송할 때 발생하는 혼잡을 해결하기 위한 메커니즘입니다. 혼잡이 발생하면 패킷 지연이나 패킷 손실이 생기며, 네트워크 성능이 저하됩니다.  혼잡 제어와 흐름 제어의 차이혼잡 제어는 다수의 송신자가 네트워크에 과도한 데이터를 보내는 상황을 관리하는 것이며, 흐름 제어는 단일 송신자가 수신자의 처리 능력을 초과하지 않도록 전송 속도를 조절하는 메커니즘입니다. 흐름 제어와의 차이점 - **혼잡 제어**: 네트워크 전체의 혼잡을 관리. - **흐름 제어**: 수신자의 처리 능력을 고려해 데이터를 전송. 더보기✅ 흐름 제어와의 차이점 혼잡 제어: 네트워크 전체의 혼잡을 관리.흐름 제어: 수신자의 처리 능력을 고려해 데이터..
TCP 흐름 제어
·
전공 공부/컴퓨터네트워크
TCP 흐름 제어TCP 흐름 제어는 송신자가 수신자의 버퍼 크기를 초과하지 않도록 전송 속도를 조절하는 과정입니다. 이는 Receive Window(rwnd) 값을 통해 이루어집니다. 이 과정에서 송신자는 수신자가 수신할 수 있는 데이터 크기보다 많은 데이터를 전송하지 않도록 보장합니다.TCP 흐름 제어의 과정수신자는 자신이 처리할 수 있는 여유 공간을 나타내는 rwnd 값을 송신자에게 전달합니다. 이 값은 TCP 헤더의 Receive Window 필드에 담겨 전송됩니다.송신자는 rwnd 값보다 적은 데이터 양을 전송하며, 수신자의 버퍼가 가득 차지 않도록 데이터 흐름을 제어합니다.수신자가 버퍼에서 데이터를 처리할 때마다 rwnd 값이 갱신되어 송신자에게 다시 전달됩니다.TCP 연결 관리TCP는 송신자와..
연결지향형 트랜스포트 : TCP
·
전공 공부/컴퓨터네트워크
TCP란 무엇인가?TCP(Transmission Control Protocol)는 인터넷에서 데이터를 신뢰성 있게 전송하기 위한 트랜스포트 계층 프로토콜입니다. TCP는 연결 기반, 신뢰성 보장, 순서 보장 등을 제공하며, 데이터를 전송하기 전 송신자와 수신자 간에 핸드셰이킹 절차를 통해 연결을 설정합니다. 또한 TCP는 데이터가 손실되거나 잘못 전송된 경우 이를 복구하는 기능도 제공합니다.TCP의 주요 기능누적 ACK(Acknowledgement): TCP는 송신한 데이터가 수신자에게 정상적으로 도착했는지 확인하기 위해 누적 ACK를 사용합니다. 이때 송신자는 수신자로부터 정상 수신한 데이터에 대한 ACK 번호를 받습니다.파이프라이닝: 송신자는 여러 개의 데이터 세그먼트를 연속적으로 전송할 수 있습니다..
다중화와 역다중화
·
전공 공부/컴퓨터네트워크
다중화와 역다중화란?다중화(Multiplexing)는 하나의 전송 매체에 여러 신호를 함께 결합하여 전송하는 기법입니다. 예를 들어, 여러 명이 한꺼번에 데이터를 전송하려면 각각의 신호를 결합해 하나의 통신 채널을 통해 보내는 것이 더 효율적입니다. 이 방식은 네트워크 리소스를 더욱 효율적으로 사용하기 위해 만들어졌습니다. 다중화는 네트워크나 전송 계층에서 주로 사용되며, 송신 측에서 여러 프로세스의 데이터를 하나의 세그먼트로 묶어 전송할 수 있게 합니다.반면, 역다중화(Demultiplexing)는 수신 측에서 다중화된 신호를 다시 분리하여 각각의 프로세스나 애플리케이션에 전달하는 과정입니다. 다중화된 데이터를 수신한 후, 이를 적절한 프로세스로 나눠야 하므로, 각 데이터에는 이를 구분할 수 있는 포트..
트랜스포트 계층
·
전공 공부/컴퓨터네트워크
트랜스포트 계층이란 무엇일까?트랜스포트 계층은 네트워크에서 데이터를 전송할 때 중요한 역할을 담당하는 계층 중 하나로, 애플리케이션 프로세스 간의 논리적인 통신을 제공합니다. 쉽게 말해, 서로 다른 컴퓨터에서 실행되는 프로그램들이 서로 데이터를 주고받을 수 있도록 돕는 계층입니다.이때 트랜스포트 계층은 네트워크 계층과 함께 작동하는데, 네트워크 계층이 호스트 간의 통신을 담당하는 반면, 트랜스포트 계층은 호스트 내부 프로세스 간 통신을 담당합니다. 따라서 트랜스포트 계층은 호스트 간 논리적인 통신 외에도, 각 호스트 내에서 애플리케이션 프로세스가 데이터를 주고받을 수 있도록 보장합니다.트랜스포트 프로토콜: TCP와 UDP트랜스포트 계층에서 사용되는 두 가지 주요 프로토콜은 TCP(Transmission ..
애플리케이션 계층 쉽게 이해하기: 네트워크 애플리케이션의 기본 원리
·
전공 공부/컴퓨터네트워크
애플리케이션 계층은 우리가 매일 사용하는 인터넷 서비스, 예를 들어 웹 브라우징, 이메일, 동영상 스트리밍 등을 가능하게 하는 중요한 계층입니다. 이번 글에서는 애플리케이션 계층의 기본 개념과 다양한 프로토콜에 대해 쉽게 설명해 드릴게요. 애플리케이션 계층이란? 🤔애플리케이션 계층은 네트워크의 최상위 계층으로, 사용자와 직접 상호작용하는 애플리케이션들이 위치합니다. 이 계층에서 클라이언트와 서버가 상호작용하며 데이터를 주고받죠. 예를 들어, 우리가 웹사이트를 열 때 브라우저(클라이언트)는 웹 서버에 요청을 보내고, 서버는 그에 대한 응답으로 웹 페이지를 전송합니다. 애플리케이션의 구조: 클라이언트-서버 구조와 P2P 구조 🖥️1. 클라이언트-서버 구조클라이언트-서버 구조는 중앙 서버가 항상(24시간 ..