Nagle 알고리즘? 무엇인가..? 진짜 작동하긴 하는가?
·
Game Server Class 101
"~ TCP 네트워크 특성상 Nagle 알고리즘을 사용한다.." 책을 읽다 궁금한 문장이 나와 내용을 정리해본다.. TCP는 안정적인 통신을 보장하는 프토로콜이다.그렇다면 Nagle 알고리즘이 무엇이고 왜 TCP에 사용되는지 알아보자. TCP 네트워크의 특성연결 지향 (Connection-oriented): 데이터를 보내기 전에 먼저 상대와 연결을 한다.신뢰성 (Reliable Transmission): 데이터가 손실되거나 순서가 어긋나도 TCP는 자동으로 재전송하고 순서를 맞춰 준다.순서 보장 (Ordering): 보낸 순서대로 도착하지 않더라도 TCP가 정렬해서 순서대로 전달한다.흐름 제어/혼잡 제어: 수신자가 감당할 수 있는 만큼만 데이터를 보내고, 네트워크 혼잡 시 전송량을 줄인다..
야~ 거기 CPU 좀 못 놀게 해라 Multi-Threading
·
Game Server Class 101
개발을 공부하면서 가장 혼란스러웠던 개념 중 하나가 프로세스와 스레드 그리고 멀티 스레딩이었다.Process 무언가 실행되는 것... Thread 이것도 무언가 실행되는 것..? 멀티 스레딩? 뭔가 여러 개가 동시에 실행되는 느낌?... 알 것 같으면서도 막상 설명하려 하면 말문이 막혔다. 게임 서버는 동시에 수많은 유저의 요청을 처리해야 하다 보니 싱글 스레드로 감당하기 어려운 경우가 많다.그래서 멀티스레딩이 무엇인지 또 멀티스레딩에서 발생하는 문제들과 이를 해결하기 위한 뮤텍스(Mutex), 크리티컬 섹션(Critical Section), 세마포어(Semaphore), 락(Lock) 같은 개념들을 접하게 되었다. 이번 글에서는 내가 처음 느꼈던 혼란과 궁금증을 바탕으로 이 개념들이 어떤 의미를 가지..
TCP랑 UDP 특. 정확하거나 빠르거나
·
Game Server Class 101
네트워크에서 자주 언급되는 두 가지 전송계층 프로토콜, TCP와 UDP에 대해 정리해보고자 한다.전송계층이란?TCP와 UDP는 모두 OSI 7계층 중 전송계층(Transport Layer)에 속하는 프로토콜이다.이 계층은 "누구에게 어떤 데이터를 보낼지", "정확하게 잘 도착했는지"를 관리하는 역할을 한다.쉽게 말해, 애플리케이션(게임, 웹 등)이 보내려는 데이터를 목적지까지 안전하고 효율적으로 전달하는 중간 관리자라고 볼 수 있다. TCP와 UDP는 이 역할을 서로 다른 방식으로 수행한다.둘 다 데이터를 전송할 때 쓰이는 방식이지만, 정확성 중심이냐, 속도 중심이냐에 따라 성격이 완전히 다르다. 게임 개발자 입장에서는 두 프로토콜을 제대로 이해하고 상황에 맞게 쓰는 것이 중요하다. TCP (Transm..
Rudolufoo
'Game Server Class 101' 카테고리의 글 목록