20250310 - 온라인 게임과 네트워크 구성 이해하기(1/2) -

초보 게임개발자·2025년 3월 10일

UnrealEngine

목록 보기
12/19

Network란?

네트워크 에는 여러가지 종류가 있는데 대표적으로

  • 소셜 네트워크 :
    개인적인 조직 등 사회적 행위자들이 연결된 관계망으로 소셜 네트워크 서비스(SNS)는 인터넷 기반의 서비스로, 특정한 관심사나 활동을 공유하는 사람들 사이의 관계망을 구축해 주는 온라인 서비스를 말합니다.

  • 운송 네트워크 :
    물품을 한 지점에서 다른 지점으로 이동하는 물류 네트워크와, 차량과 운전자를 탑승자에 연결해 주는 승차 공유 서비스를 의미합니다.

  • 항공 네트워크 :
    항공사의 네트워크와 항공기와 지상 간의 통신망을 포함한 항공산업의 주요 채널을 의미합니다.

  • 컴퓨터 네트워크 :
    컴퓨터와 컴퓨터를 연결하여 정보를 교환하고 리소스를 공유할 수 있도록 하는 디지털 전기통신망입니다.

일반적인 네트워크의 뜻
어원은 그물을 뜻하는 net과 work의 합성어. 그물을 짜는 행위를 가리키는 명사에서 임의의 연결망을 지칭하는 용어로 그 범위가 확장된 단어이며
통신망. 주로 컴퓨터 용어로 쓰이며, 여러 개체가 연결되어 정보를 주고 받는 경로 정도의 의미다.

Network의 기본 구성요소

    1. 노드(Node) :
      네트워크의 기본 요소로, 데이터를 송수신하거나 중계하는 장치를 의미하며, 크게 엔드노드(End node)와 중간노드(Intermediate node)두 종류로 구분할 수 있습니다.

1) Endnode : 엔드 노드는 네트워크의 시작점 또는 종착점이 되는 장치이며, 즉 데이터를 생성하거나 최종적으로 수신하는 장치입니다.
특징: 네트워크에서 데이터를 송·수신하는 역할을 수행 보통 사용자와 직접적으로 연결된 장치 데이터를 라우팅하거나 중계하는 기능은 없음
예시: 개인용 컴퓨터(PC), 노트북, 스마트폰 서버(Web Server, Database Server 등) IoT 장치(스마트 센서, 스마트 스피커 등)

2) Intermediatenode : 중간 노드는 네트워크에서 데이터가 효율적으로 전달되도록 돕는 장치입니다. 보통 데이터 패킷을 적절한 경로로 전달하거나 네트워크를 관리하는 기능을 합니다.
특징: 데이터를 송·수신하는 것이 아니라 중계하는 역할 네트워크 트래픽을 조절하거나 최적의 경로를 결정 보안, 패킷 필터링 등의 추가적인 기능 수행 가능
예시:라우터(Router), 스위치(Switch), 게이트웨이(Gateway), 브리지(Bridge)

결론적으로, 네트워크에서 엔드노드는 데이터를 주고받는 최종 사용자 장치이고, 중간노드는 네트워크 트래픽을 관리하고 데이터 전송을 돕는 장치라고 할 수 있습니다.

    1. 링크(Link) :
      노드 간 데이터를 전송하는 연결 (이더넷, 광섬유, 케이블 등, 무선:Wifi,불루트스 등)
    1. 프로토콜(Protocol) :
      프로토콜(Protocol)은 네트워크에서 데이터를 송·수신할 때 지켜야 할 통신 규칙과 약속을 의미합니다. 즉, 서로 다른 장치나 시스템이 원활하게 데이터를 주고받기 위해 정해진 표준화된 규칙입니다.
      데이터의 전송규칙(TCP, UDP, HTTP, HTTPS, FTP 등)

Network의 배치형태

네트워크의 물리적/논리적 배치 형태가 있습니다.

    1. P2P:
      단 2대를 연결하는 경우, 과거에 시리얼 포트 또는 크로스 UTP 케이블로 연결하는 구성 1:1 통신

    1. 버스(Bus):
      구조: 모든 노드가 하나의 공유된 통신 회선(버스)에 연결된 형태
      -> 1개의 BNC 케이블(케이블 TV 동축케이블)에 여러 대의 컴퓨터를 연결하는 구성
      전체에 브로드캐스팅 하면 수신 축이 자기것만 채택하고 나머지는 무시
      장점: 설치가 쉽고 비용이 저렴함 적은 케이블을 사용하여 구축 가능
      단점: 네트워크 트래픽이 많아지면 속도가 저하됨 중앙 통신선(버스)에 장애가 발생하면 전체 네트워크가 마비됨

    1. 링(Ring)
      구조: 모든 노드가 원형(링)으로 연결되어 데이터를 순차적으로 전달
      -> 1개의 BNC 케이블을 원형으로 만든 뒤에 여러 대의 컴퓨터를 연결하는 구성
      버스에 비해서 양방향 통신이 가능하지만, 버스와 같이 초기 네트워크에서 구성되던 형태
      데이터는 한 방향 또는 양방향으로 이동하며, 토큰 패싱(Token Passing) 방식으로 흐름 제어 가능
      장점: 데이터 충돌(Collision)이 거의 없음 일정한 네트워크 속도 유지 가능
      단점: 하나의 노드가 고장 나면 전체 네트워크가 마비됨(이중 링으로 개선 가능) 추가 장치를 연결하면 전체 네트워크 설정을 변경해야 함

    1. 스타(Star)
      구조: 중앙에 허브(Hub) 또는 스위치(Switch)를 두고, 모든 노드가 중앙 장치에 연결됨
      ->대부분의 가정과 사무실, IDC 센터 등에서 채택하는 구조 중간 허브/스위치가 맛이 가면 다 맛 가는 형태
      장점: 네트워크 장애 발생 시 개별 노드만 영향을 받음(중앙 장치 고장 제외) 네트워크 관리 및 확장이 쉬움
      단점: 중앙 장치(허브/스위치)에 장애가 생기면 전체 네트워크가 다운됨 설치 비용이 버스형보다 높음

    1. 메시형(Mesh)토폴로지
      구조: 모든 노드가 서로 직접 연결된 형태 -> 1:n의 구성으로 신뢰성이 높지만, 복잡하고, 비용이 비싸서 군사 영역, 무선 네트워크에 주로 이용
      특징: 네트워크 경로가 많아 특정 노드 장애가 발생해도 통신 가능
      장점: 높은 신뢰성과 내구성을 가짐(노드 하나가 고장 나도 다른 경로를 사용) 보안성이 높음(데이터가 특정 경로로 제한됨)
      단점: 설치 비용이 높고, 연결이 많아 유지보수가 어려움 배선이 복잡해질 수 있음

    1. 트리형(Tree) 토폴로지
      구조: 여러 개의 스타형 네트워크가 트리 구조로 연결됨
      특징: 대규모 네트워크에서 계층적으로 확장 가능 회사, IDC 센터, ISP 사업자 등
      장점: 네트워크 확장이 용이 관리가 상대적으로 쉬움
      단점: 중앙 노드가 장애를 일으키면 전체 네트워크에 영향을 줄 수 있음
      설치 비용이 높을 수 있음

각 네트워크 배치 방식은 환경과 요구사항에 따라 선택 해야 합니다.
소규모 네트워크는 버스형이나 스타형
대규모 네트워크는 트리형이나 메시형
데이터 충돌 방지가 중요한 경우 링형

네트워크 레이어(OSI 모델)

OSI 7 계층 모델 (Open Systems Interconnection Model)
OSI 7 계층 모델은 네트워크 통신을 7개의 계층(Layer)으로 나눈 표준 모델입니다. 이 모델은 서로 다른 시스템 간 원활한 데이터 전송을 가능하게 하며, 각 계층이 특정 역할을 수행하여 데이터 흐름을 관리합니다.

  • 1). 물리계층(L1 Physical Layer) :
    데이터 전송을 위한 하드웨어적 연결 담당 전기 신호, 빛, 무선 주파수 등으로 데이터를 전송 전송 매체와 네트워크 장비 관련
    UTP 케이블, 광섬유, Wi-Fi, 블루투스 네트워크 허브, 리피터 등등

  • 2). 데이터링크 계층(L2 Data Link Layer) :
    물리계층에서 전달된 비트를 프레임으로 변환하고, 에러검사, 흐름제어, 링크관리
    MAC Address, MAC 프로토콜, PPP(Point-to-Point protocol) 등

  • 3). 네트워크 계층(L3 Network Layer) :
    데이터를 목적지까지 옮기는 역할로 패킷의 경로를 결정하고 패킷 주소를 관리
    IP (Internet Protocol), IPX, 라우터 등

  • 4). 전송 계층(L4 Transport Layer) :
    데이터 전송을 관리하며, 흐름제어, 오류제어, 세그먼트화, 연결설정, 해제를 담당하며 논리적 포트를 사용
    TCP(Transmission Control Protocol), UDP(User Datagram Protocol)

  • 5). 세션 계층(L5 Session Layer) :
    통신의 세션을 설정, 관리하며, 데이터 교환 동기화(Sync)와 체크포인트 관리를 담당
    RPC(Remote Procedure Call), NetBIOS

  • 6). 프리젠테이션 계층(L6 Presentation Layer) :
    데이터 형식을 변환하고 암호화 및 압축처리
    SSL/TLS, JPEG, MPEG 등

  • 7). 어플리케이션 계층(L7 Application Layer) :
    네트워크 서비스에 접근하고 UI제공 담당
    HTTP/HTTPS (웹 브라우징), FTP (파일 전송), SMTP/POP3/IMAP (이메일), DNS (도메인 네임 변환)

네트워크 유형

네트워크는 목적, 범위에 따라 크게 5개의 유형으로 나뉩니다.

    1. PAN(Personal Area Network) :
      개인용 네트워크로 한사람의 장치 간 연결을 위한 네트워크 보통 블루투스나 근거리 무선통신(NFC)를 이용 범위는 1~10M
    1. LAN(Local Area Network) :
      근거리 네트워크로 학교, 사무실, 가정 등 제한된 지역에서 사용되는 네트워크 유선(이더넷) 또는 무선(Wi-Fi) 연결 가능 속도가 빠르고 보안이 뛰어남 범위는 100m ~ 1km
    1. MAN(Metropolitan Area Network) :
      도시권 네트워크로 도시 또는 특정 지역 전체를 커버하는 네트워크 여러 개의 LAN을 연결한 중규모 네트워크 정부기관, 공공 서비스에서 많이 사용
      공공Wi-Fi(지하철, 버스정류장) 대학 캠퍼스 네트워크 등 범위는 1KM~ 100kM
    1. WAN(Wide Area Network) :
      광영 네트워크로 국가 또는 전 세계적으로 연결된 네트워크 여러개의 LAN과 MAN으로 연결하여 구성 속도는 상대적으로 느리지만, 광범위한 지역을 커버
      대기업 전용망(KT, SK, LG U+의 광역 네트워크) 위성 통신망
    1. Internet :
      지구급 단위

프로토콜

프로토콜은 네트워크에서 데이터를 주고 받을 때 정해진 규칙과 절차를 의미하며 서로 다른 장치나 시스템이 원할하게 통신하기 위해 지켜야하는 공통된 약속 입니다.

HTTP/HTTPS, SMTP, FTP 와 같은 프로토콜은 어플리케이션 계층(L7)에서 작동하는 프로토콜로 웹 리소스 전송에는 HTTP/HTTPS를 사용하고, 이메일은 SMTP, FTP는 파일 전송에 사용합니다.

이러한 어플리케이션 계층에서 사용되는 모든 프로토콜을 받혀 주는 기둥이 있는데, 익히 이름은 들어 보았을 TCP/IP (Transmission Control Protocol / Internet Protocol)UDP 입니다.

    1. TCP (Transmission Control Protocol) : 전송 계층에서 작동하며, 데이터를 보낸 후 수신확인 (연결유지)
      신뢰성 보장 (데이터 손실 시 재전송) 순서 보장 → 패킷이 순서대로 도착해야 하는 경우 사용
      예시: 웹 브라우징(HTTP), 이메일(SMTP), 파일 전송(FTP)
    1. UDP (User Datagram Protocol) : 전송 계층에서 작동하며, 데이터를 보내기만 함 (비연결)
      빠른 속도 (신뢰성 보장 X, 재전송 없음) 실시간 데이터 전송에 적합
      예시: 스트리밍(YouTube), 온라인 게임, 화상 통화
    1. IP (Internet Protocol) : 네트워크 계층에서 작동하며, IP 주소를 사용해서 패킷을 옮기는 역할로 모든 인터넷 기반기술
      장치에 IP 주소를 할당하여 데이터를 목적지로 전송 IPv4 (32비트) vs. IPv6 (128비트)
      IP 주소 예시: 192.168.1.1, 2606:4700:4700::1111

MAC Address

MAC Address란?
네트워크 디바이스에 반드시 하나씩 부여된 “데이터 링크 계층”을 위한 고유 주소체계로 총 21조 개의 주소가 있습니다. 다음 이미지에서 “C8-7F-54-52-35-29”에 해당되는 물리적 주소가 MAC Address입니다.

MAC Address는 일반적으로 ROM (Read Only Memory)에 탑재되어, 보안상의 이유로 고유한 장비를 식별하는 데 사용되지만, 사실 메모리에 올라가서 작동하기 때문에 메모리 해킹 등으로 주소를 변경할 수 있으므로 완벽하다고 생각하면 큰 문제를 만날 수 있습니다.

IPv4 Address

IPv4(인터넷 프로토콜 버전 4)는 네트워크에서 장치(컴퓨터, 스마트폰, 서버 등)의 주소를 지정하고 데이터를 주고받을 수 있도록 하는 프로토콜입니다.
쉽게 말해, 인터넷에서 각 장치를 식별하기 위한 "주소 시스템"이라고 할 수 있습니다.

주소 형식

IPv4 주소는 32비트(4바이트)로 구성되며, 점(dot)으로 구분된 4개의 10진수 숫자로 표현됩니다.
각 숫자는 0~255 범위를 가집니다.

예시 (IPv4 주소):
192.168.0.1
172.16.254.1
8.8.8.8 (Google DNS)
각 숫자는 8비트(1바이트)이며, 총 32비트(4바이트) 크기입니다.

이진수 표현:
192.168.0.1 → 11000000.10101000.00000000.00000001

IPv4 주소 클래스 (A~E 클래스)

일반적으로 IP주소는 앞자리((EX) 192에 해당)로 클래스를 나눠서 국가 및 ISP에 할당

IP 주소가 MAC Address로 변환되려면, ARP(Address Resolution Protocol)을 사용합니다.

이때 내부망에 해당 IP 주소가 있는지, 외부망에 있는지 확인해야 전송이 가능합니다.

  • 내부망에 있다면 ARP 프로토콜로 해당 IP를 갖고 있는 디바이스로 브로드캐스팅해서 응답이 오는 디바이스에 데이터를 전송합니다.
  • 외부망에 있다면 밖으로 나가야 하기 때문에 게이트웨이를 찾기 위해 ARP 프로토콜을 브로드캐스팅합니다.

이를 구별하기 위해 서비넷 마스크라는 개념이 도입됩니다. 같은 서브넷 마스크 주소를 가지고 있다면 내부망, 다른 서브넷 마스크 주소를 갖고 있다면 외부망이라고 판단하게 됩니다.

공인 IP와 사설 IP의 개념도 중요합니다. IP주소가 부족하기 때문에 쉐어(Share)해서 사용해야 되기 때문입니다.

ARP(Address Resolution Protocol)란?
ARP(Address Resolution Protocol)는 IP 주소를 MAC 주소로 변환하는 네트워크 프로토콜입니다.
즉, 네트워크에서 통신하기 위해 필요한 MAC 주소를 찾는 역할을 합니다.
IP 주소만으로는 데이터 전송이 불가능하며, 실제 데이터 전송에는 MAC 주소가 필요합니다!
그래서 ARP를 이용하여 IP 주소 → MAC 주소로 변환하는 과정이 필요합니다.

IP포트

IP 포트란?
“전송 계층”에서 IP 주소와 함께 사용하는 특정 프로세스나 서비스를 연결하기 위한 주소체계입니다. 0~65535의 값을 가지며, 대표적으로 80번 포트는 웹서비스를 뜻합니다. 1개의 IP 주소에서 여러 개의 서비스를 제공하기 위해서 사용됩니다.
IP 주소가 "건물 주소"라면, 포트 번호는 "집 안의 특정 방 번호"와 같은 개념입니다.
예를 들어, 같은 컴퓨터(같은 IP)에서
웹 브라우저(80번 포트)와 이메일(25번 포트)**가 동시에 실행될 수 있습니다.

네트워크에서 데이터는 IP주소 + 포트 번호로 구분됩니다
Ex)
192.168.1.100:80 (웹 서버 접속)
192.168.1.100:22 (SSH 접속)
192.168.1.100:443 (HTTPS 보안 접속)

1) 0 ~ 1023

서버의 기본 서비스로 잘 알려진 대역입니다.

  • HTTP: 80
  • HTTPS: 443
  • FTP: 21
  • SSH: 22
  • SMTP: 25
  • IMAP: 143, 993

2) 1024 ~ 49151

  • 응용 프로그램 또는 서비스로 등록된 대역입니다.
    기업, 애플리케이션 등록용
    MySQL(3306), PostgreSQL(5432)

3) 49152 ~ 65535

  • 동적 또는 사설 포트입니다.
    랜덤 포트

도메인 이름

도메인 이름 이란?
도메인 이름(Domain Name)은 인터넷에서 웹사이트나 서버를 쉽게 찾을 수 있도록 만든 문자 기반 주소입니다.
IP 주소 대신 사람이 이해하기 쉬운 이름을 사용하는 것이 목적입니다.

예를 들어
142.250.190.14 대신 www.google.com을 입력하면 구글 웹사이트에 접속할 수 있습니다.
도메인 이름 = IP 주소를 쉽게 기억할 수 있도록 만든 별칭

그래서 일반인들이 이해하기 쉽게 사람이 읽고 쓰고 기억하기 쉽도록 도메인 이름(Domain name)을 DNS라는 걸 통해서 도메인 이름을 IP 주소로 변환합니다.

이를 DNS 서버에서 해석할 때는 왼쪽에서 오른쪽으로 합니다.

Root인 “.”은 생략 가능하고 KR이라면 한국 인터넷 진흥원(KISA)에 있는 krDNS에 질의를 합니다.
DNS 서버는 도메인 이름 테이블을 확인해서 IP 주소로 변경하면, 클라이언트는 IP 주소로 접속할 수 있습니다.

네트워크 장비

네트워크 장비는 각자의 위치에서 제 기능을 다하며 우리의 생활을 지탱하고 있습니다.
현업에서 많이 적용되는 백엔드 구조를 이해하기 전에 상식 선에서 어떤 장비들이 있는지 알아봅시다.

    1. HUB
      허브는 네트워크에서 단순히 데이터를 전송하는 장치입니다.
      모든 포트로 데이터를 무작위로 전송하므로, 네트워크 부하가 증가할 수 있습니다.
      과거에 스위치보다 싼 맛에 사용되었지만, 성능과 효율이 떨어져 지금은 사장되었으나, 소규모 네트워크에서는 아직 쓰이는 곳이 있습니다.

네트워크 장치 간 데이터 중계
브로드캐스트 방식(모든 장치에 동일한 데이터 전송)

    1. 스위치
      스위치는 같은 네트워크 내 장치 간 데이터를 전송하는 장치입니다.
      허브와 달리, 목적지 MAC 주소를 기반으로 정확한 장치에만 데이터를 전달합니다.
      LAN 내부에서 데이터를 전송하는 역할로 MAC Address로 직접 전달

      네트워크 속도 최적화 → 불필요한 트래픽 감소
      MAC 주소 기반 데이터 전송 → 특정 장치에만 데이터 전달
      네트워크 성능 향상 및 보안 강화

    1. 라우터
      라우터는 네트워크 간 데이터를 전송하고 최적의 경로를 선택하는 장치입니다.
      쉽게 말해, 인터넷 공유기가 라우터의 대표적인 예입니다.

      네트워크 간 데이터 패킷 전달 및 라우팅(경로 선택)
      IP 주소 기반으로 목적지 결정
      NAT(Network Address Translation) 기능 제공 → 공인 IP ↔ 사설 IP 변환

    1. 모뎀
      모뎀(Modem)은 인터넷 신호(디지털 ↔ 아날로그) 변환을 수행하는 장치입니다.
      쉽게 말해, 광케이블/전화선의 신호를 컴퓨터가 이해할 수 있도록 변환하는 역할을 합니다.
      케이블 인터넷에 꼭 딸려 오는 디바이스로 아날로그 신호를 디지털로, 디지털 신호를 아날로그 신호로 변환하는 역할을 담당

ISP(인터넷 서비스 제공업체)에서 받은 신호 변환
디지털 신호 ↔ 아날로그 신호 변환

    1. 방화벽
      방화벽은 네트워크 보안을 담당하는 장치입니다. 허가된 데이터만 통과시키고, 악성 트래픽을 차단합니다.
      가장 많이 개발자들을 괴롭히면서도 없으면 난리나는 존재로 특정 IP 주소 또는 도메인의 트래픽을 차단하거나 허용하고, 트래픽을 필터링하거나 NAT(Network Address Translation)으로 내부 네트워크의 IP주소를 외부로 노출시키 않게 하거나 가상사설망(VPN, Virtual Private Network)으로 추적 불가한 접속을 가능케 하는 등의 역할을 합니다.

네트워크 보안 정책 적용
허용/차단 규칙 설정 (예: 특정 IP/포트 차단)
DDoS 공격 방어

    1. VPN (Virtual Private Network)
      VPN은 공용 인터넷을 통해 안전하게 데이터를 전송할 수 있도록 해주는 네트워크 기술입니다.
      쉽게 말해, 인터넷을 통해 사설 네트워크에 접속하는 "보안 터널"을 만드는 것입니다.
      IP 주소가 VPN 주소로 변경되기 때문에 추적에 안전하며, VPN 서버를 통해서 우회접속 가능.

원격 접속 → 회사 내부망에 외부에서 접속 가능
데이터 암호화 → 해커가 데이터를 가로채더라도 해독 불가
IP 우회 (익명성 보호) → 특정 국가에서 차단된 사이트 우회 가능
보안 강화 → 공공 Wi-Fi 사용 시 해킹 방지

    1. 캐시서버(Cache)
      캐시 서버(Cache Server)는 자주 사용하는 데이터를 미리 저장하여 빠르게 제공하는 서버입니다.
      쉽게 말해, 인터넷 속도를 높이고, 네트워크 트래픽을 줄이는 "임시 저장소" 역할을 합니다.
      웹, Restful API, API 서버로 요청을 하면, 미들웨어를 거쳐 최종적으로 DB에서 데이터를 획득하는데, 동일한 요청과 결과라면 이를 임시로 저장했다가 서버대신 결과를 반환하는 장비

웹 페이지 로딩 속도 향상 → 자주 방문하는 사이트를 캐시에 저장하여 빠르게 로딩
네트워크 부하 감소 → 같은 데이터를 반복 다운로드하지 않음
인터넷 사용 최적화 → 기업/학교에서 네트워크 속도 개선

profile
기록은 기억을 지배한다!

0개의 댓글