-
네트워크 간단 요약 정리
바이너리 전송
- 이진화 되어있어서 컴퓨터가 이해하기 쉽게 표현 (사람이 보기 힘듬)
장점 : 해커가 확인하기 어려움
단점 : 디버깅 힘듬
-
- 메타 데이터란 ?
- 바이너리의 경우 사람이 알아보기 힘든 부분도 있고, 서로 다른 버전 (통신규격 변경으로 인해) 의 경우 서로 통신이 어려운 단점이 존재
- 메타데이터
- 일종의 어떤 데이터인지 설명
- 장점
- 디버깅이 쉬움
- 클라이언트 버전이 다르더라도 (메시지 형태가 다름) 메타데이터를 통해 인지할 수 있다.
- 단점
- 스트림 vs 메시지
- 스트림 : 송신자와 수신자가 받는 크기가 일정하지 않을 수 있다
- 메시지 : 송신자와 수신자가 받는 크기가 일정하다
- TCP vs UDP
- TCP : 신뢰성 있는 통신, 스트림 형식 ( 데이터를 받았다는 응답이 오지 않으면 다시 재전송 )
- 다시 재전송 과정에서 시간이 소모됨
- ex) 중요데이터, 구매/판매 , 공격/방어 등등..
- UDP : 신뢰성 없는 통신, 메시지 형식 ( 데이터를 받았다는 응답을 기다리지 않음 , 유실될경우 그대로 폐기 )
- UDP는 보내는 데이터 크기가 클 수록 유실될 확률이크다 (재조합 과정에서 하나라도 없을경우, 전부다 폐기)
- ex) 캐릭터 움직임, 음성, 화상전송
- NAT
- 가상사설망에서 외부와 통신하기 위해 거쳐가는 라우터
- IPv4의 대역 한계로 인해 보완하고자 나옴
- 외부IP가 부여된 라우터에 연결되어있는 PC들에서 보내는 정보를 포트 맵핑을통해 외부로 송신 / 수신 역할
더 알아보기
- 원격 프로시저 호출 (RPC) or 원격 메서드 호출(RMI)
메시지를 송신 모듈 , 메시지 수신 모듈을 추상화하여 구현해 놓은 모듈들을 의미
(게임개발에 특화된 모듈은 RMI)
- TCP의 재전송 기능을 빠르게 하고자 UDP 처럼 일부로 데이터 유실
RUDP라고 불리는 기법은 TCP의 재전송을 빠르게하고자 패킷 유실을 하여 빠른 재송신을 의도적으로 한 기법
- NAT 라우터의 매핑 기능
홀 펀칭, 포트 매핑 (Fullcone NAT , uPNP 참고)
- IPv4 / IPv6 는 서로 호환이 안됨 (여기서 호환을 위해 NAT가 사용)
자세한 사항은 NAT64 & DNS64를 참고