네트워크란?
- 종류
- 소셜 네트워크
- 운송 네트워크
- 항공 네트워크
- 컴퓨터 네트워크
- Interconnected 시스템
- 상호 연결되어 있어 지하철, 도로망 등 처럼 컴퓨터도 네트워크라는 용어를 사용
기본 구성 요소
- 노드
- 네트워크 기본 단위
- 엔드 노드(End Node), 중간노드(Intermediate Node) 두 종류
- 기능
- 통신: 다른 노드와 데이터 교환
- 라우팅: 데이터가 목적지에 도달할 수 있도록 최적의 경로 선택
- 데이터 처리: 데이터를 패킷화,패깃 분할/재조립, 오류검사 등
- 네트워크 관리: 상태 감시, 트래픽 관리, 보안
- 컴퓨터-컴퓨터, 서버-컴퓨터, 서버-서버 등
- 링크
- 노드간 데이터를 전송하는 연결
- 유선 : 이더넷, 관섬유, 케이블, 무선등
- 무선 : Wify, 블루투스 등
- 노드간 데이터를 전송하는 연결
- 프로토콜(Protocol)
- 데이터의 전송 규칙(TCP,UDP,HTTP, HTTPS, FTP등)
배치 형태
- P2P
- 단 2대를 연결하는 경우
- 과거 시리얼 포트 또는 크로스 UTP 케이블로 연결하는 구조
- 1:1통신
- 버스(Bus)
- 1개의 BNC 케이블(케이블 TV 동축 케이블)에 여러대의 컴퓨터를 연결
- 전체에 브로드캐스팅하면 수신 측이 자기것만 채택하고 나머지는 무시
- 링(Ring)
- 1개의 BNC 캐이블을 원형으로 만든 뒤 여러 대의 컴퓨터를 연결하는 구성
- 버스에 비해 양뱡향 통신이 가능하지만, 버스와 같이 초기 네트워크에서 구성되던 형태
- 스타
- 중앙 허브 또는 스위치에 연결된 구조
- 대부분의 가정과 사무실, IDC 센터 등에서 채택하는 구조
- 중간 허브/스위치가 맛이가면 다 맛이 가는 형태
- 매쉬
- 1:n의 구성으로 신뢰성이 높지만, 복잡하고, 비용이 비싸 군사 영역, 무선 네트워크에 주로 사용
- 1:n의 구성으로 신뢰성이 높지만, 복잡하고, 비용이 비싸 군사 영역, 무선 네트워크에 주로 사용
- 트리
- 스타 토플로지를 확장한 널리 사용되는 형태
- 회사, IDC 센터, ISP 사업자
네트워크 레이어(OSI 모델)
- 물리 계층(L1)
- 물리적 매체로 케이블, 전기신호, 광신호 등 직접 관리
- 이더넷, USB, 블루투스 디바이스 등
- 데이터 링크 계층(L2)
- 물리적 계층에 전달된 비트 프레임으로 변환, 에러 검사, 흐름 제어, 링크 관리
- MAC Address, MAC 프로토콜, PPP(Point-to-Point protocla)등
- 네트워크 계층(L3)
- 데이터를 목적까지 옮기는 역할로 패킷의 경로를 결정하고, 패킷 주소를 관리
- IP(Internet Protocla), IPX, 라우터 등
- 전송 계층(L4)
- 데이터 전송을 관리하며, 흐름제어, 오류제어, 세그먼트화, 연결설정, 해제를 담당하면 논리적 포트 사용
- TCP(Transmission Control Protocal), UDP(User Datagram Protocal)
- 세션 계층(L5)
- 통신 세션을 설정, 관리하며, 데이터 교환 동기화(Sync)와 채크 포인트를 관리 담당
- RPC(Remote Procedure Call), NetBIOS
- 프리젠테이션 계층(L6)
- 데이터 형식을 변환하고 암호화 및 압축 처리
- SSL/TLS, JPEG, MPEG 등
- 어플리케이션 계층(L7)
- 네트워크 서비스에 접근하고 UI 제공 담당
- HTTP, FTP, SMIP, DMS
참조데이터 | 용도 | |
L2 스위치 | MAC 주소 테이블 | 스위치에 물려있는 디바이스 간 통신 전송 |
L3 스위치 | 라우팅 테이블 | 라우팅 테이블을 잠조하여 인접 라우터를 기억하고 원거리 통 |
L4 스위치 | 포트번호 | 포트번호를 사용해 트래픽 분배(로드 밸런싱)하는 역할 |
L7 스위치 | 데이터 기반 | HTTP 헤더, URL, 쿠키등 어플리케이션 데이터를 기반으로 한 로드밸런싱, 보안 적용 |
- HUB와 SWITCH 의 차이
- HUB : 데이터 전송시 연결된 모든 디바이스에 이거 니꺼야? 라고 물어보고 맞다는 쪽에 전달
- SWITCH : MAC Address를 사용해 1번에 전달
- 세션이란?
- 클라이언트와 서버 간의 통신이 시작되고 유지되는 논리적 연결
유형
- PAN(Personal Area Network)
- 개인용 네트워크로 짧은 거리 통신
- 블루투스, NFC 등
- LAN(Local Area Network)
- 근거리 통신망으로 수백 m~몇 km까지 통신
- 사무실, 집, 학교 등 네트워크
- MAN(Netropolitan Area Network)
- 도시단위 통신망으로 몇 km~ 수십 km
- 도시내 공공 기관
- WAN(Wide Area Network)
- 광역 통신망으로 도시, 국가, 대륙간 수백 ~ 수천 km
- ISP 네트워크, 다국적 기업의 지사 연결 등
- Internet
- 지구급 단위
대표적 프로토콜
- 프로토콜이란?
- 컴퓨터나 기기간 통신 방식을 정의하는 규칙
- 종류
- TCP : 전송 계층에서 작동, 데이터를 보낸 후 수신 확인(연결 유지)
- UDP : 전송 계층에서 작동, 데이터를 보내기만 함(비연결)
- IP : 네트워크 계층에서 작동, IP주소를 사용해 패킷을 옮기는 역할로 모든 인터넷의 기반 기술
MAC Address
- MAC Address란
- 네트워크 디바이스에 반드시 하나씩 부여된 "데이터 링크 계층"을 위한 고유 주소체계로 총 21 개의 주소가 있음
- 아래 C8-7F-54-52-35-29에 해당하는 물리적 주소가 MAC Address임
- 48bit 체계로 앞부분 24 bit는 IEEE 국제 표준 기구에 제조사에 할당하는 코드, 나머지 24bit는 제조사에 제품 할당하는 코드
- 일반적으로 ROM(Read OnlyMemery)에 탑재되어 보안상 이유로 고유한 장비를 식별하는데 사용, 사실 메모리에 올라가 작동하기 때문에 메모리 해킹등에 의해 주소가 변경될 수있어 완벽하지 않음
IPv4
- IPv4란?
- 32비트로 나타내는 국제 표준
- 네트워크 계층의 데이터 전송을 위한 주소체계
- 이미 바닦이 나 IPv6라는 128비트 체계가 개발됨
- IP 주소는 앞자리로 클래스를 나눠 국가 및 ISP에 할당함
- 종류
- A클래스
- 0~127(대규모 네트어크)->16,777,214개의 호스트 주소, 128개의 네트워크
- 기본 서브넷 마스크 : 255.0.0.0
- B 클래스
- 128~192(중규모)->254개의 호스트 주소, 2,097,152개의 네트워크
- 기본 서브넷 마스크 : 255.255.0.0
- C클래스
- 192~233(소규모)->254개의 호스트 주소, 2,097,152 개의 네트워크
- 기본 서브넷 마스크: 255.255.255.0
- D클래스
- 224~239(멀티 캐스팅 용으로 잘 안씀)
- E클래스
- 240~255(연구/개발용)
- A클래스
- IP주소 MAC Address변환
- ARP(Afress Resolution Protocol) 사용
- 내부망에 해당 IP 주소 찾아 외부망에 있는지 확인후 전송
- 내부망 존재한다면 ARP 프로토콜로 해당 IP를 갖는 디바이스로 브로드캐스팅해 응답이 오는 디바이스에 데이터 전송
- 외부망에 있다면 게이트웨이를 찾기 위해 ARP 프로토콜을 브로드 캐스팅함
- 서브넷 마스크
- 주어진 IP 주소를 네트워크 환경에 맞게 나누어 주기 위해 씌어주는 이진수 조합
- 같은 서브넷 마스크가 존재한다면 내부망
- 다른 서브넷 마스크 주소를 갖고 있다면 외부망
- NAT(Network Address Translation)
- 사설 IP와 공인 IP간 주소를 변환하기 위한 기술
- 1개의 IP주소를 여러대의 Device가 나눠쓸 수 있음
- 인터넷 공유기가 이에 해당
IP 포트
- IP 포트란?
- 전송 계층에서 IP 주소와 함께 사용하는 특정 프로세스나 서비스를 연결하기 위한 주소체계
- 0~65535 값을 가지며, 대표적으로 840번 포트는 웹서비스를 뜻함
- 1개의 IP주소에 여러개의 서비스를 제공하기 위해 사용
- 대역
- 0~1023
- 서버의 기본 서비스 대역
- HTTP : 80
- HTTPS : 433
- FTP :21
- SSH :22
- SMTP : 25
- IMAP: 143,993
- 1024~49151
- 응용 프로그램 또는 서비스로 등록된 대역
- 49152~65535
- 동적 또는 사설 포트
- 공인 IP와 사설 IP의 포트를 변환할 때 IP와 비슷하게 PAT(Port Address Translation)를 사용
- 0~1023
도메인 이름(Domain Name)
- 도메인 이름이란?
- 자신의 공인 IP 주소를 외우기 쉽지 않기 때문에 읽고 쓰기 쉽도록 만든 것
- DNS를 이용해 도메인 이름을 IP주소로 변환
- DNS 서버에서 해석할 때 왼쪽에서 오른쪽으로 함
- Root 인 "."은 생략 가능
- DNS 서버는 도메인 이름 테이블을 확인해 IP 주소로 변경하면, 클라이언트는 IP 주소로 접속 가능
정리
- OSI 모델(7 network layer) : 네트워크 통신을 가능케하는 표준 모델
- 프로토콜 : 약속된 통신 규약
- TCP : 전송 후 데이터 확인하는 안정성 우선 프로토콜
- UDP: 전송 후 데이터 확인 없는 속도 우선 프로토콜 (게임에서 많이 사용)
- Reliable UDP: 안정성과 속도를 동시에 잡기위한 프로토콜
- QUIC : HTTP/3 에 제안된 UDP 기반의 프로토콜
- IP : 인터넷 기반 전송 프로토콜
- IP Port : IP주소와 함께 사용해서 1개의 서버에서 여러개의 서비스를 제공할 수 있도록 해주는 역할
- MAC Address : 네트워크 장비에 1개씩 할당된 고유 주소(ROM에 탑재되어 원칙적으로는 변경 불가)
- IP4/6 Address: 국가별, 지역별, ISP별로 할당된 주소
- 도메인 이름: 사람이 읽고 쓰고 기억하기 위한 주소 체계, DNS를 통해 IP 주소로 변환
- DNS : 도메인을 IP 주소로 변환
- DHCP : IP 주소를 여러대의 디바이스가 공유하게 하는 서버
- 서버 : 중앙에서 어떤 일을 하는 컴퓨터
- DB 서버 : 데이터 베이스로 데이터를 저장하고 읽는 서버
- 웹 서버: HTTP(80/443번 포트) : 서비스를 담당하는 서버
- Restful API 서버 : JSON 기반 데이터를 송신하는 서버
- API 서버 : Socket 또는 다른 프로토콜 등으로 데이터 베이스의 앞에서 게이트 역할을 하는 서버
- 방화벽 서버 : 세션을 제어하기 위한 서버
- 클라이언트 : 네트워크에 접속하여 다른 클라이언트와 통신하거나 서버를 사용하는 디바스
'Unreal Bootcamp > 네트워크' 카테고리의 다른 글
언리얼 네트워크와 객체 통신 이해 (0) | 2025.03.14 |
---|---|
2. 온라인 게임과 네트워크 구 (0) | 2025.03.11 |