[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 네트워크 이론 및 통신 모델

참치와돌고래·2022년 8월 12일
0
post-custom-banner

네트워크 이론

네트워크 이론은 우리 현생활에서 택배를 보내고 받는 과정에 비유하면 쉽게 이해할 수 있다.
다음 두 가지 상황으로 나누어 생각하자.

  1. 같은 아파트 내 거주하는 사람에게 택배를 보내는 경우
  2. 다른 아파트에 거주하는 사람에게 택배를 보내는 경우

1번의 경우, 그 사람이 사는 호수만 알면 아파트 경비실을 통해 쉽게 보낼 수 있을 것이다.
2번의 경우, 호수에 더불어 어느 아파트에 거주하는 지등의 정보가 추가로 필요하며 택배 배송센터를 이용해야 할 것이다.

해당 비유를 네트워크 이론에 빗댄다면...

아파트 단지: 네트워크
아파트 집:단말기
경비실: 스위치
택배 배송센터: 라우터

..가 되겠다.
그러니까 같은 아파트에 사는 사람에게 택배를 보내는 것은 같은 네트워크(IP)에 있으므로, 경비실인 스위치를 통해 정보를 보낸다면, 호스트 주소인 집 주소와 정보를 교환할 수 있다는 뜻이다.

반면 다른 아파트에 사는 사람에게 택배를 보내는 것은 네트워크끼리의 IP주소가 다르므로, 호스트 주소만으로는 정보를 교환할 수 없을 것이다. 그러므로 택배 배송 센터 개념인 라우터로 보내 타 네트워크로 보내야 할 것이다.


통신 모델

이제 실생활에서 택배를 보내는 과정을 자세히 알아보자. 아마 다음과 같은 과정일 것이다.

  1. 상품: 어떤 상품을 보낼까?
  2. 배송정책: 어떤 식으로 배송을 할까?(우편으로 따지면 일반 등기랑 당일 특급 이런건가..)
  3. 주소: 택배를 어디로 보낼까?
  4. 단지 경로: 목적지까지 어떤 경로를 가야할까?
  5. 택배 운송

앞서 살펴본 단계가 TCP/IP 모델이라고 생각하면 되겠다. 각 단계를 다시 TCP/IP 모델에 빗대어 설명하자면,

  1. 어플리케이션은 유저 인터페이스를 정의하는 단계다.
    (https 프로토콜은 웹, FTP는 파일 전송 등등..)
  2. 트랜스포트는 전송확인/오류 해결에 대한 대처를 어떻게 할 것인지 확인하는 단계다.
  • TCP는 조금 느리지만 전송 확인, 오류 등을 수시로 확인해 꼼꼼히 체크한다.
  • UDP는 빠르지만 TCP와 같은 확인 절차를 하지 않는다.
    보통 TCP는 MMORPG, UDP는 FPS에 쓰인다고..
  1. 네트워크는 네트워크 '간' 경로를 설정하는 단계이다.
    택배로 비유할 때는 다른 아파트(네트워크)로 보내려면 택배 배송 센터가 필요했다. 그러니까 라우터가 관련 장치. Ipv4와 Ipv6가 있다.
  2. 데이터 링크는 네트워크 '내' 경로를 설정하는 단계이다.
    마찬가지로 같은 아파트(네트워크)에선 경비실을 통해 보냈으니 스위치가 관련 장치. 이더넷, ppp 등이 있다.
  3. 피지컬은 케이블, 허브같이 신호처리 단계라고 보면 되겠다.

여기까지가 TCP/IP 모델.
예전부터 쓰이던 OSI 7계층 모델이 존재하는데, 각 계층이 무엇인지 말하는데는 OSI 계층을 따른다고 한다. (TCP/IP 모델에서 어플리케이션, 트랜스포트 사이에 프레젠테이션과 세션 계층이 추가로 존재한다.)

그러니까 2계층이면 데이터 링크 단계니 2계층 주소는 MAC주소(기계가 만들어질 때의 주소), 2계층 장치는 스위치가 되겠고..
3계층이면 네트워크 단계니 3계층 주소는 IP 주소, 3계층 장치는 라우터가 되겠다.


네트워크 공부를 하니, 이 짤이 생각나서 가지고 왔다. 생각해보니 대답하는 사람도 틀린 말은 전혀 안했다는게 컴공생한테는 유머 코드.
과거 군 복무할때 IP 주소 가지고 있는 전화기를 고치러 다녔었는데, 그때도 고치다가 도저히 답없으면 MAC 주소로 해결한 기억도 나고, 여러모로 옛날 생각이 났었던 공부 파트였다.

post-custom-banner

0개의 댓글