코가손의 블로그
[네트워크/C++] 네트워크 프로토콜, TCP 본문
우선 데이터를 전송하기 위해 사용하는 프로토콜을 알아보겠다
전송층은 OSI모델의 4계층 TCP/IP모델의 3계층에 존재한다.
TCP |
연결형 서비스 가상회선 방식 제공, 신뢰성 높음 |
3-way handshake 이용해 연결 설정, 4-way handshaking을 통해 해제 |
IP는 데이터전송 처리, TCP는 패킷 추적 및 관리 |
흐름 및 혼잡 제어 |
UDP보다 속도 느림 |
< TCP서버의 특징 > 서버 소켓은 연결만 담당 서버와 클라이언트 1대1 연결 스트림 전송으로 데이터 크기 무제한 패킷에 대한 응답을 해야하기 때문에(시간 지연, CPU 소모)성능 낮음 Streaming 서비스에 불리함(손실된 경우 재전송 요청하므로) |
용어 정리 및 부연설명
3-way Handshake
TCP/IP 프로토콜을 이용하는 프로그램이 데이터를 전송하기전에 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정이다. 간단하게 TCP의 연결을 초기화 할 때 사용한다.
4-way Handshake
세션을 종료하기 위해 수행되는 절차이다.
패킷
인터넷 내에서 데이터를 보내기 위한 경로배정(라우팅)을 효율적으로 하기 위해서 데이터를 여러 개의 조각들로 나누어 전송 하는데, 이 조각을 패킷이라고 함
'GameDev > NetworkProgramming' 카테고리의 다른 글
[네트워크/C++] Lock을 얻기 위한 대기방법(3) Condition Variable (0) | 2022.01.03 |
---|---|
[네트워크/C++] Lock을 얻기 위한 대기방법(2) Event (0) | 2022.01.03 |
[네트워크/C++] Lock을 얻기 위한 대기방법(1) SpinLock (0) | 2021.12.29 |
Comments