네트워크

감사콩·2026년 1월 5일

유니티

목록 보기
22/29

서론


이론 관련된 TIL 작성이 굉장히 오랜만인 듯.
프로젝트가 끝났으니 오늘부턴 다시 새로운 걸 배워보자.



TIL 요약

  1. 네트워크 표준 모델의 이해
    • 네트워크 통신 과정을 7단계로 표준화한 OSI 모델
    • 실무 중심의 TCP/IP 4계층 모델
    • TCP와 UDP의 특징을 정리

  2. 게임 환경에 따른 서버 구조 정리
    • 한 대의 서버 컴퓨터에서 모든 게임의 데이터를 관리하는 클라이언트 서버
    • 서버가 모든 권한을 가진 전용 서버
    • 플레이어가 방장이 되는 리슨 서버
    • 모든 사용자가 대등하게 연결되는 P2P

  3. 패킷 통신
    • 데이터를 작은 단위인 패킷으로 나누어 전송


OSI 7계층


Open Systems Interconnection 7 Layer
국제 표준화 기구(ISO)에서 개발한 모델로, 복잡한 네트워크 통신 과정을 7개의 단계로 나눈 표준 규격

계층별 설명

  1. 물리 계층 (Physical Layer)
    데이터를 0과 1의 비트 단위로 변환하여 전기적 신호나 광신호로 전달하는 하드웨어 계층.

2. 데이터 링크 계층 (Data Link Layer) 물리적인 링크를 통해 인접한 두 장치 간의 신뢰성 있는 데이터 전송을 담당. MAC 주소를 사용하여 데이터를 전달하며, 오류 제어와 흐름 제어를 수행.
3. 네트워크 계층 (Network Layer) 여러 개의 노드를 거쳐 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 **라우팅(Routing)**이 핵심. 논리적인 주소인 IP 주소를 사용.
4. 전송 계층 (Transport Layer) 송신자와 수신자 간의 신뢰성 있는 데이터 전송을 보장. 패킷이 손상되거나 순서가 바뀌었을 때 이를 바로잡는 역할을 하며, 포트(Port) 번호를 통해 프로세스를 구분.
5. 세션 계층 (Session Layer) 양 끝단의 응용 프로세스가 통신을 관리하기 위한 논리적인 연결을 맺고 끊는 역할.
6. 표현 계층 (Presentation Layer) 데이터의 '형식'을 결정. 송신측에서 보낸 데이터를 수신측 응용 계층이 이해할 수 있도록 변환하거나, 데이터의 보안을 위해 암호화하고 효율성을 위해 압축.
7. 응용 계층 (Application Layer) 사용자가 직접 사용하는 소프트웨어(웹 브라우저, Outlook 등)와 네트워크 서비스를 연결해 주는 계층입니다.

TCP/IP 모델


인터넷의 표준 프로토콜.
실제 인터넷 통신에서 효율적으로 작동할 수 있도록 실무 중심으로 단순화된 4계층 구조.

계층별 설명

  1. 네트워크 인터페이스 계층 (Network Interface Layer)
    하드웨어적인 데이터 전송을 담당.

2. 인터넷 계층 (Internet Layer) 데이터(패킷)를 목적지까지 효율적으로 전달하는 경로를 지정.
3. 전송 계층 (Transport Layer) 통신하는 장치 사이의 데이터 전송 흐름을 제어하고 에러 검출.
4. 응용 계층 (Application Layer) 사용자 소프트웨어가 네트워크 서비스에 접근할 수 있도록 하는 계층.
이 중 3번째 전송 계층에 대해 조금 더 알아보자


TCP: 연결 지향형으로, 패킷 손실 시 재전송하여 신뢰성을 보장(정확한 전달)
UDP: 비연결형으로, 신뢰성보다는 속도가 중요한 실시간 스트리밍 등에 사용(신속한 전달)



게임서버


1. 클라이언트-서버 구조

한 대의 서버 컴퓨터에서 모든 게임의 데이터를 관리
클라이언트: 서비스를 사용하는 사용자 혹은 사용자 단말기
서버: 서비스를 제공하는 컴퓨터, 다수의 클라이언트를 상대하기 위해 존재


2. 전용서버(Dedicated Server)

서비스를 제공하는 하나의 작업을 전담하는 단일 서버 방식
모든 클라이언트는 이 전용 서버를 통해서만 서비스에 접근할 수 있으며
클라이언트끼리 직접 간섭하는 것이 불가능한 구조

팰월드 서버 열 때 쓰던 게 이거


3. 리슨서버(Listen Server)

게임에 참여하는 플레이어 중 한 명의 PC가 서버 역할과 플레이어 역할을 동시에 수행하는 방식
방장!


4. P2P(Peer to Peer)

게임에 참가한 모든 사용자가 호스트 역할을 하며 서로 연결된 형태
각 클라이언트가 직접 연산을 수행하고 그 결과를 다른 사용자에게 전달

장점: 중앙 서버가 없어서 특정 사용자가 연결을 종료해도 전체 서비스에는 문제가 없음
단점: 사용자가 많아질수록 연산량이 급격히 증가



패킷 통신


데이터를 작은 단위인 패킷으로 나누어 전송하는 방식
재구성을 위해 '헤더''데이터' 두 부분으로 구성

헤더의 역할: 패킷의 순서, 송신지 및 수신지 주소 등 다시 조립하기 위한 정보가 포함.

캡슐화: 프로토콜에 따라 데이터에 헤더를 붙이는 작업.
역캡슐화: 수신 측에서 프로토콜에 따라 헤더를 분리해 데이터를 추출하는 작업.



마무리


어릴 때 마인크래프트에서 사용해봤던 하마치나
팰월드 등의 멀티플레이에서 활용하던 서버 시스템에 대해 알아보았다
이론 위주의 TIL이니 나중에 복습하자.



profile
안녕하시와요

0개의 댓글