TCP 흐름 제어와 연결 관리
·
전공 공부/컴퓨터네트워크
TCP 흐름 제어 (Flow Control)TCP의 흐름 제어는 송신자가 수신자의 버퍼 여유 공간을 초과하지 않도록 데이터 전송을 관리하는 기능입니다. 네트워크와 응용 계층 사이에서 데이터 전송 속도의 불균형을 해결하기 위해 사용됩니다.흐름 제어의 원리:Receive Window (rwnd): 수신자가 수용할 수 있는 데이터의 양을 TCP 헤더에 포함하여 송신자에게 전달합니다.송신자는 수신자가 지정한 rwnd 값보다 적은 양의 데이터를 전송하여 오버플로우를 방지합니다.운영체제에 따라 RcvBuffer(수신 버퍼)의 크기를 조정하여 네트워크 성능을 최적화합니다.문제 상황:만약 네트워크 계층에서 소켓 버퍼로의 데이터 전달 속도가 응용 계층에서 가져가는 속도보다 빠르면 버퍼 오버플로우가 발생할 수 있습니다. ..
TCP: 연결지향형 트랜스포트
·
전공 공부/컴퓨터네트워크
네트워크에서 TCP(Transmission Control Protocol)는 신뢰할 수 있는 데이터 전달을 보장해주는 중요한 프로토콜입니다. 이번 글에서 TCP의 세그먼트 구조와, 연결 설정 및 종료 과정, 흐름 제어와 재전송 메커니즘 등을 다뤄보겠습니다.TCP(Transmission Control Protocol)는 연결 지향적 프로토콜로, 신뢰할 수 있는 데이터 전송을 제공합니다. 송신자와 수신자는 1대 1 연결을 통해 데이터를 주고받으며, 순서 기반의 연속 스트림을 처리하여 데이터가 정확하게 도착하도록 보장합니다.전이중 데이터 흐름: 양방향 데이터 흐름이 가능합니다.MSS (Maximum Segment Size): TCP가 한 번에 전송할 수 있는 최대 데이터 크기입니다.누적 ACK: 수신자는 받은..
TCP 혼잡 제어
·
전공 공부/컴퓨터네트워크
TCP 혼잡 제어: AIMDAIMD(Additive Increase Multiplicative Decrease)는 TCP 혼잡 제어에서 사용되는 알고리즘으로, 송신자는 패킷 손실이 발생할 때까지 전송 속도를 증가시키고, 손실이 발생하면 전송 속도를 감소시킵니다. 이 과정을 통해 네트워크 혼잡을 최소화하고 전송 성능을 최적화합니다.가법적 증가: 송신자는 매 RTT(Round-Trip Time)마다 전송 속도를 1 MSS(Minimum Segment Size)만큼 증가시킵니다.승법적 감소: 패킷 손실이 감지되면 전송 속도를 절반으로 감소시킵니다.  왜 AIMD를 사용하는가? AIMD는 네트워크 혼잡을 방지하기 위한 혼잡 제어 알고리즘입니다. 전송 속도를 점진적으로 증가시키고, 혼잡을 감지하면 급격히 감소시키..
혼잡 제어의 원리
·
전공 공부/컴퓨터네트워크
혼잡 제어란 무엇인가?혼잡 제어는 네트워크에서 다수의 송신자가 동시에 많은 데이터를 빠르게 전송할 때 발생하는 혼잡을 해결하기 위한 메커니즘입니다. 혼잡이 발생하면 패킷 지연이나 패킷 손실이 생기며, 네트워크 성능이 저하됩니다.  혼잡 제어와 흐름 제어의 차이혼잡 제어는 다수의 송신자가 네트워크에 과도한 데이터를 보내는 상황을 관리하는 것이며, 흐름 제어는 단일 송신자가 수신자의 처리 능력을 초과하지 않도록 전송 속도를 조절하는 메커니즘입니다. 흐름 제어와의 차이점 - **혼잡 제어**: 네트워크 전체의 혼잡을 관리. - **흐름 제어**: 수신자의 처리 능력을 고려해 데이터를 전송. 더보기✅ 흐름 제어와의 차이점 혼잡 제어: 네트워크 전체의 혼잡을 관리.흐름 제어: 수신자의 처리 능력을 고려해 데이터..
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 번호를 받습니다.파이프라이닝: 송신자는 여러 개의 데이터 세그먼트를 연속적으로 전송할 수 있습니다..
신뢰기반 데이터 전송의 원리
·
전공 공부/컴퓨터네트워크
신뢰기반 데이터 전송 프로토콜이란?신뢰기반 데이터 전송 프로토콜은 네트워크 상에서 데이터가 손실되거나 손상되지 않고, 정확한 순서로 전송될 수 있도록 보장하는 통신 방식입니다. 특히 데이터가 손실되기 쉬운 비신뢰적인 채널을 사용할 때, 이러한 프로토콜은 중요한 역할을 합니다.주요 개념과 용어체크섬(Checksum): 전송된 패킷 내 비트 오류를 탐지하기 위한 값입니다. 송신자는 데이터를 전송하기 전에 체크섬을 계산하여 패킷에 포함시키고, 수신자는 수신된 데이터의 체크섬을 확인해 오류 여부를 판단합니다.재전송(Retransmission): 수신자가 송신자의 패킷을 제대로 수신하지 못했을 때, 수신자는 송신자에게 해당 패킷의 재전송을 요청합니다.순서 번호(Sequence Number): 송신자가 보내는 각 ..
비연결형 트랜스포트 : UDP
·
전공 공부/컴퓨터네트워크
UDP란 무엇인가?UDP(User Datagram Protocol)는 트랜스포트 계층에서 사용되는 가장 기본적인 프로토콜로, 비연결형이고 신뢰성을 보장하지 않는 최선형 서비스입니다. 이 프로토콜은 데이터를 빠르고 간단하게 전송할 수 있도록 설계되었으며, 혼잡 제어나 오류 제어 같은 복잡한 기능은 제공하지 않습니다.UDP의 주요 특징비연결형: 송신자와 수신자 간에 별도의 연결 설정 과정(핸드셰이킹)이 필요하지 않으며, 각 데이터그램은 독립적으로 처리됩니다.손실 가능성: 데이터가 전송 중에 손실될 가능성이 있으며, 수신된 데이터의 순서가 바뀔 수 있습니다.RTT 지연 없음: 연결 설정 단계가 없으므로, **RTT(Round Trip Time)**로 인한 지연이 발생하지 않습니다.작은 헤더 크기: TCP보다 ..