본문 바로가기
Server

[네린이 공부일기] 트래픽 전송 모드 : 유니캐스트, 멀티캐스트, 브로드캐스트

by ojava 2022. 4. 8.
반응형

네트워크 알못 네린이의 네트워크 공부일기
오늘은 트래픽 전송모드의 종류에 대해 정리해본다.

 

송신지에서 수신지로 데이터를 전송하는 트래픽 전송 모드에는 크게 3가지 방식이 있다.
유니캐스트, 멀티캐스트, 브로드캐스트. 이름만 들어도 얼추 느낌이 오지만 하나씩 차례로 살펴보도록 한다.




유니캐스트 전송 모드

Unicast (1:1) 일대일 방식이라고 생각하면 된다.
하나의 송신자가 하나의 수신자에게 트래픽을 전송하는 모드를 의미한다.

유니캐스트 모드를 통해 트래픽을 전송할 때
송신지와 수신지 양쪽의 포트번호(4 계층), IP 주소(3 계층), MAC 주소(2 계층)가 모두 필요하다. 실제 데이터 전송 시, 이 모든 정보에 대해 공백 없이 정확한 주소 값이 입력되어야 유니캐스트 전송 모드 사용이 가능하다.

실제 송신지에서 수신지로 요청을 보낼 때와 수신지에서 송신지로 응답을 보낼 때 송신자, 수신자의 데이터 주소 구성은 동일하되 요청 및 응답에 따라 송수신지 위치가 바뀌게 된다.

요청 시, 요청을 보내는 대상(Client)이 송신지 -> 요청을 받는 쪽(Server)이 수신지
응답 시, 응답을 보내는 대상(Server)이 송신지 -> 응답을 받는 쪽(Client)이 수신지

 

그럼 어떻게 이런 주소 정보를 알 수 있을까?

어떤 Application 서비스를 사용하는지에 따라 포트번호를 알 수 있고 (예를 들어 HTTP는 80)
DNS를 통해 IP 주소를 알 수 있게 되고
알아낸 IP를 이용해 ARP (이름 풀이 서비스)를 통해 MAC 주소를 알 수 있게 된다.
* 참고로 ARP는 뒷 부분에 따로 설명이 나오니 그때 알아도 됨

 


멀티캐스트 모드


Multicast (1:group) 멀티캐스트 모드는 이름처럼 하나의 송신자가 다수에게 보내는 방식인데, '특정한' 다수에게 트래픽을 전송하는 방식을 말한다.

이 형태는 시스템 운영이나 특정 애플리케이션 운영을 위해 사용되는 방식이라고 한다.
특정한 목적을 가진 트래픽 전송 모드이므로 멀티캐스트 IP 주소의 경우도 정해진 특정한 대역을 가지게 된다.

IP 주소 맨 앞자리가 224~239로 시작한다면 멀티캐스트 방식을 사용한다고 생각하면 된다.
이 주소는 애플리케이션을 위한 가상 주소이다.

사용의 예시를 들자면, 실시간 멀티미디어 데이터 전송 시 사용한다고 한다.
대표적인 예시로 이젠 너무나도 대중화 된 실시간 스트리밍 인터넷 방송 형태가 이 방식.

 

반응형

 

멀티캐스트 MAC 주소의 경우도 IP와 마찬가지로 가상 주소를 사용하게 된다.
12자리 구성의 MAC 주소 중 맨 앞의 6자리는 제조회사 번호라고 했었는데 멀티캐스트 MAC 주소는 제조회사번호가 01-00-5E로 시작한다.


기존에 유니캐스트 방식의 경우 수신지의 IP와 MAC 주소를 알기 위해 DNS와 APR를 이용했지만, 멀티캐스트 전송의 경우 이런 방식을 이용할 필요가 없이 멀티캐스트 애플리케이션에 의해 IP와 MAC 주소가 자동으로 할당되므로 별도로 확인하는 과정을 거칠 필요가 없다.

 


브로드캐스트 모드


Broadcast (1:all) 브로드 캐스트는 하나의 송신자가 '불특정' 다수에게 트래픽을 전송하는 방식임.
멀티캐스트가 특정한 다수였다면 브로드캐스트는 좀 더 광범위한 대상에게 트래픽 전송이 가능하다.

브로드캐스트 주소도 가상의 주소가 할당되어 있다.

IP 주소는 255.255.255.255
MAC 주소는 FFFF.FFFF.FFFF 로 할당되므로 이 주소를 통해 브로드캐스트 방식인지 확인할 수 있다.

모든 컴퓨터는 유니캐스트 방식을 위한 IP/MAC 주소와 더불어 시스템 운영 또는 특정 프로그램을 위해서 브로드캐스트 주소가 기본적으로 할당되어 있다고 한다.



위 세 가지 전송 모드의 핵심은 수신지의 IP와 MAC을 할당받는 방법에 차이가 있다는 점이다.
송신지 IP와 MAC 주소는 동일할 때, 각각의 모드에 따른 수신지 IP와 MAC 주소는 아래와 같이 변동된다.

전송 모드 수신지 IP 수신지 MAC
유니캐스트 모드
Unicast (1:1)
DNS 를 통해 확인 DNS를 통해 확인한 IP를 ARP로 확인
멀티캐스트 모드
Multicase (1:특정 다수)
224-249.X.X.X
(X는 변동 가능한 값을 의미)
01-00-5E-XX-XX-XX
(X는 변동 가능한 값을 의미)
브로드캐스트 모드
Broadcast (1:불특정 다수)
255.255.255.255 FF-FF-FF-FF-FF-FF


* IP와 MAC 주소 맵핑내역 확인 방법
cmd 명령창을 띄워서 arp -a를 입력하면 arp 캐시 테이블을 확인할 수 있다. 현재 컴퓨터에 저장된 IP와 MAC 맵핑 정보 확인이 가능하다.

 


ARP (Address Resolution Protocol)


ARP 서비스는 IP 주소에 대응되는 MAC 주소를 조회하여 변환해주는 서비스다.
앞에 유니캐스트 모드에서 계속 얘기했던 서비스가 바로 이 ARP 서비스다.

ARP 패킷은 두 종류가 있다.

1) ARP Request 패킷
- 송신지가 수신지의 MAC 주소를 조회하기 위해 보내는 질의 패킷
- 브로드캐스트 방식으로 운영하여 불특정 다수에게 트래픽을 전송하는 형태로 구성되어 있음

2) ARP Reply 패킷
- ARP Request에 대한 응답 패킷
- 유니캐스트 방식으로 운영


앞에서도 짧게 썼던 arp -a 명령어를 통해 ARP 캐시 테이블을 조회할 수 있고, 이는 IP 주소와 MAC 주소의 대응 관계를 저장한 테이블이다.

ARP 캐시테이블 조회 내역


만약 조회했는데 아무 내용도 없거나 ARP 항목을 찾을 수 없습니다. 라고 뜬다면 자동으로 테이블 정보가 삭제되었을 수도 있고 아니면 송수신한 기록 자체가 없을 수 있다.

 


ARP 이름 풀이 과정

ARP를 통해 어떻게 IP에서 MAC 주소 확인이 가능한지 알아보자.

  1. ARP 캐시 테이블 확인
    arp -a 명령어를 통해 캐시 테이블을 확인했을 때, 조회하고자 하는 IP와 MAC 주소가 있다면 기존에 송수신 기록이 있다는 것이므로 이 테이블을 통해 IP 주소와 맵핑된 MAC 주소를 찾을 수 있다.


    만약 ARP 캐시 테이블에 조회하고자 하는 내역이 없는 경우,

  2. ARP Request 방식으로 수신지의 IP 정보를 전달하여 MAC 주소 조회
    ARP Request 방식은 브로드캐스트 방식이라고 했는데 관련된 모든 대상에게 요청을 보내는 방식이다.
    이 요청을 수신한 서버들은 본인에게 해당되는 요청이 아닌 경우, 이 요청에 대해 처리하지 않고 삭제한다.


  3. 요청받은 IP 주소에 해당되는 서버는 유니캐스트 방식으로 ARP Reply 전송
    IP 주소에 해당되는 ARP Request를 받은 서버는 요청받은 내용에 대해 응답한다.

    응답은 유니캐스트 방식으로 하게 되는데, 실제 요청은 브로드캐스트 방식으로 받았으나 응답은 유니캐스트로 가능한 이유는 ARP Request를 통해 요청받을 때 송신지의 IP 및 MAC 주소가 포함되어 있기 때문이다.

    이 과정에서 ARP Reply의 송신지가 되는 서버와 응답을 받는 Client쪽에서는 서로 상대의 IP와 MAC 주소 정보에 대한 정보를 ARP 캐시 테이블에 저장하여 향후에 호출이 필요할 경우, 이 테이블 저장 내용을 활용하게 된다.



반응형