2023.12.30

통신 연결과 대략적인 과정

연결을 위해서

네트워크에서 연결하기 위해서는 데이터가 지나갈 수 있는 통로가 필요하다. 기본적으로는 구리선, 광케이블이 이에 해당한다. LAN 에서는 주로 무선으로 통신하기도 한다.


주로 우리가 자주 사용하는 것은 아래와 같은 랜선이다. UTP 케이블, FTP 케이블, STP 케이블 등 여러 종류가 있는데, 용도에 따라 구조의 차이가 있다.

현재 가정용으로는 아래와 같은 표준 케이블을 사용한다.

LanCable



통신 연결

네트워크 스위치 라우터

이해를 위해 가정하나를 해보자. 동일한 사무실에 있는 A 사용자와 B 사용자가 있을 때… 위와 같이 메신저 서버가 있고, 서버보호를 위해 방화벽과 통신을 위한 라우터, 스위치가 있다.

만약 B가 같은 사무실의 A에게 커피마시러 갈래요? 라고 메세지를 보냈을 때 다음과 같은 과정을 가진다.

  1. B에 연결된 랜선으로 메세지 데이터가 전달된다.
  2. 스위치에서 해당 데이터를 읽고 라우터로 전달한다.
  3. 라우터는 외부(인터넷) 중 서버를 찾고 메세지를 보낸다.
  4. 서버에서 해당 메세지를 받으면 이를 메신저에 맞게 로그 등 처리를 하고 A에게 메세지를 보낸다.
  5. 다시 서버에서 라우터로 메세지가 가고, 라우터는 스위치로 전송한다.
  6. 스위치는 A가 연결된 무선랜(wifi)에 메세지를 다시 보내준다.
  7. 무선랜은 자신에게 연결된 클라이언트 중 A에게 메세지를 보낸다.


바로 B->A로 메세지를 보낼 수 있지만, 메신저 앱을 거치기 때문에 서버롤 거처서 B -> Server -> A 순으로 메세지가 전달된다. 그러면서 서버가 있는 외부 네트워크와 통신도 일어나게 된다.


여기서 스위치, 라우터는 단순히 출발지와 목적지 사이의 메세지를 전달해주는 역할을 하지만, 미묘하게 역할이 다르다. 네트워크 내부에는 크게 4가지 장치가 있는데, 허브, 스위치, 라우터, 공유기가 있다. 간단히 설명하도록 하겠다.



허브, 스위치, 라우터, 공유기

허브

허브는 컴퓨터와 컴퓨터 사이를 연결해준다. 동일한 네트워크에서 각 컴퓨터(클라이언트)를 연결해주는 역할이다. a 컴퓨터에서 b 컴퓨터로 메세지를 보낼 때 a 는 허브에 b에 연결해달라는 요청을 보낸다.

Hub

하지만, 허브는 어떤 연결이 어떤 컴퓨터인지 모른다. 그래서 연결된 모든 컴퓨터에 요청을 보내(브로드 캐스팅)서 호구조사를 하고 b를 찾아서 해당 메세지를 전달한다. 이 경우 모든 컴퓨터에 요청을 보낼 때 b를 빨리 찾게 되면, 나머지 컴퓨터에서 보낸 요청을 무시한다. 하지만, b 외의 다른 컴퓨터에게도 요청이 들어가는 구조이기 때문에 불필요한 트래픽이 발생한다.

HubBroadCast



스위치

스위치는 컴퓨터와 컴퓨터 사이를 연결해준다. 허브와 같지만, 스위치는 각 연결이 어떤 클라이언트인지 인지한다. 스위치는 각 연결이 어떤 컴퓨터인지 인식하기 위해서 고유번호에 대한 테이블을 만들어 둔다. 이를 MAC 주소 테이블이라고 한다.

Switch


MAC Address

맥 주소란, 컴퓨터들의 고유한 번호로, 주로 컴퓨터 칩셋 메인보드에 고정적으로 할당되어있다.


각 컴퓨터에 고유 번호가 다 부여되어있기 때문에 스위치는 어떤 연결(포트)이/가 어떤 컴퓨터인지 인식이 가능하다. 하지만, 테이블을 만들어서 저장하는 경우, 기존 연결을 끊고 다른 컴퓨터를 연결할 때 업데이트해줘야하는 문제가 있다.


그렇기 때문에 일정시간동안만 테이블 주소를 저장하고, 시간이 지나면 삭제되는 형태가 일반적이다. 이후 허브처럼 모든 컴퓨터에 요청을 보내고 수집한 내용을 스위치에 주소 테이블 업데이트하는 방식이다. 정리하자면 다음과 같다.


  1. 컴퓨터에서 메세지를 스위치에 보낸다.
  2. 스위치는 메세지 내부에 목적지의 대한 내용을 읽고, MAC 주소 테이블에서 해당 주소가 있는지 검색한다.
  3. 없는 경우 연결된 모든 컴퓨터에 요청을 보낸다. 이를 플러딩(Flooding)이라고 한다.
  4. 모든 컴퓨터는 해당 요청을 받는다.
  5. 요청에는 찾는 맥주소가 포함되어있어, 요청을 받은 컴퓨터는 해당 맥주소가 자신인지 확인한다.
  6. 해당 맥주소가 자신이 아니라면 스위치에 응답을 보내지 않는다.
  7. 해당 맥주소가 자신이라면 스위치에 응답을 보낸다.
  8. 있는 경우 해당 컴퓨터로 메세지를 전달한다.

SwitchFlooding



라우터

라우터는 네트워크와 네트워크를 연결(Bridge)하는 장치이다.

스크린샷 2023-12-30 오후 6 03 59

라우터는 메세지가 올바른 경로로 통신할 수 있도록 경로를 설정해주는 기능도 한다. 네트워크와 네트워크간의 연결은 수없이 많기 때문에 각 네트워크에 연결되어있는 router들은 받은 메세지를 통해 최적의 경로를 선택해서 메세지를 보낸다.

이러한 라우터는 IP 주소(L3) 기반으로 목적지를 탐색한다.


IP Address

네트워크에서 연결된 기기를 구분하기 위해 사용되는 고유 번호(주소)이다. 맥 주소와 다르게 연결에 따라 IP 주소 수정이 가능하다. IP 주소는 주소를 구성하는 bit의 수에 따라 2가지 종류로 구분된다.


종류

  • IPv4 : 32 bit - 0 ~ 255 사이 숫자로 4개 모여서 구성 (ex: 192.168.0.1)
  • IPv6 : 128 bit - 16진수로 4자리 값으로 8개 모여서 구성 (ex: 2001:85a3:0db8:0000:0000:…)

IP 주소는 동적 IP, 고정 IP 등으로도 나눌 수 있는데, 이는 추후 다루도록 하겠다.



공유기

공유기는 ISP(Internet Serivce Provider 업체 : 통신사)에서 제공하는 하나의 인터넷 IP 주소로 여러 컴퓨터 등이 인터넷을 공유할 수 있는 장치이다.

ISP 로 부터 하나의 IP 를 받으면 내부 네트워크에서 여러개의 IP 주소로 변환할 수 있어, 최대 253개의 컴퓨터가 하나의 공유기로 인터넷을 공유할 수 있다.

공유기는 주로 4개의 포트를 가지는데, WAN 포트에는 공인 IP 랜선을, 나머지 포트를 통해 스위치나 다른 공유기를 연결하면 많은 컴퓨터가 이용할 수 있다.



여기서 IP 주소, MAC 주소, 케이블 등을 이야기 했는데, 세부적으로 좀더 나눠야 할 이야기가 많다. 브로드 캐스트, OSI 7 Layer 등의 이야기는 추후 정리해나가도록 하겠다.



Leave a comment