[Alex] 데이터 장인의 블로그

[네트워크] 캐스트 방식 정리 (Feat. unicast, broadcast, multicast) 본문

네트워크

[네트워크] 캐스트 방식 정리 (Feat. unicast, broadcast, multicast)

Alex, Yoon 2023. 1. 23. 22:40

NAT (공유기 = 라우터)

NAT가 보통 게이트웨이 역할을 하는데, 해당 라우터 안에서 관리하는 IP 대역은 아래와 같이 나타낸다. 

192.168.0.X

[네트워크 ID].[호스트 ID] 

 

만약 내부망 NAT에 여러 대의 PC가 연결되어 있다고 가정해보자. 

각각의 IP(Private IP)는 다음과 같다. 

PC#1 : 192.168.0.1

PC#2 : 192.168.0.2

PC#3 : 192.168.0.3

...

PC#255 : 192.168.0.255

Unicast 

만약 내부망의 서버끼리 통신한다면. 예시) PC#1 -> PC#2 | 192.168.0.1 -> 192.168.0.2

통신 주체 각각 내부망 NAT에 연결되어 있는 주체 서버가 통신하는 경우는 유니캐스트라 말할 수 있다.

Broadcast 

[일단 브로드 캐스트는 효율을 떨어트리는 주범. 무조건 최소화해야 한다.]

자신의 호스트가 속해 있는 '네트워크 전체'를 대상으로 패킷을 전송하는 일대다 통신방식. 

로컬 LAN상에 붙어있는 모든 네트워크 장비들에게 보내는 통신 방식. 여기서의 로컬 : NAT(라우터)에 의해 구분되어진 내부 공간. 

브로드 캐스트의 주소는 미리 정해져 있음. : FFFF.FFFF.FFFF (Mac Address 로) 

이 주소가 오면, 자신의 MAC address가 아니더라도 패킷을 CPU에 전달하게 됨. 

통신을 하는 경우 불필요한 인터럽트가 발생되기 때문에, 브로드 캐스트는 꼭 필요한 경우가 아니라면 지양해야 한다. 

ARP 란? 

주소 결정 프로토콜 - ARP는 브로드캐스트 방식을 채택한다. 

LAN 환경에서 논리적인 주소인 IP주소를 물리적인 주소인 MAC주소로 변환해 주는 네트워크 계층의 프로토콜.

만약 네트워크 내의 컴퓨터에게 "이 IP 주소 가진 컴퓨터가 누구야?"라고 브로드캐스트를 보내면, 그 IP 주소를 가진 컴퓨터가 "나야"라고 답을 보내면서맥 어드레스도 같이 보내는 과정을 ARP라고 한다.

Multicast 

브로드 캐스트가 연결된 모든 서버에게 통신하는 방식이었다면, 멀티캐스트는 일부 서버 그룹에게만 데이터를 송신하는 방식이다.

브로드 캐스트 예시 : PC#1 -> [PC#2, PC#3, PC#4, PC#5 ... PC#255] 

브로드 캐스트 장점 : 1번만 송신하여 로컬 LAN에 연결된 모든 서버에 데이터를 송신할 수 있다. 

 

브로드캐스트와 방식은 같지만, 전송받는 대상 서버를 따로 관리하여 일부 서버만 데이터를 전송받게 하는 방식이다. 즉, 로컬 네트워크에 150대의 서버가 있는데 그 중 50대의 서버에만 데이터를 보내고 싶을 때, 채택하는 방식. 멀티캐스트는 브로드 캐스트의 장점을 일부 서버들에게만 적용하는 것이다. 

예를 들어 멀티캐스트 그룹을 [PC#2, PC#3, PC#4] 이라고 가정하면, 한번의 송신으로 해당 그룹에게 모두 데이터를 전달할 수 있다. 

PC#1 -> [PC#2, PC#3, PC#4] 

멀티캐스트 그룹을 위한 주소는 D Class IP (244.0.0.0 ~ 239.255.255.255)로 지정되어 있다. 

방송의 경우 멀티캐스팅 방식이 유리할 수 있음. (ex. IPTV -> IGMP) 

IGMP 란? 

TCP/IP 프로토콜 집합이 동적 멀티캐스팅을 수행하기 위해 사용하는 표준 프로토콜

데이터 전송용 프로토콜이 아닌, 이벤트 또는 변화를 알리는데 사용되는 프로토콜이다. 

SDN 란? 

Software Defined Network

멀티캐스트 또한 L2수준에서 보면 Broadcast 처리가 되기 때문에, 네트워크 효율에 문제가 된다. 

이러한 문제를 해결하기 위해 등장한 것이 SDN. -> 클라우드 환경이 늘어나게 되면서 더욱 중요해진 개념. 

 

SDN(Software Defined Network)이란 소프트웨어를 통해 네트워크 리소스를 가상화하고 추상화하는 네트워크 인프라에 대한 접근 방식을 의미한다. 조금 더 쉽게 설명하자면, 소프트웨어 애플리케이션과 API를 이용하여 네트워크를 프로그래밍하고, 중앙에서 전체 네트워크를 제어하고 관리하는 것이다. 

 

출처. 

https://www.youtube.com/watch?v=5D9qz2CEIus 

https://security-nanglam.tistory.com/160

http://sherpa-poc.lfcorp.io/sherpa-web/login/login.do

 

반응형

'네트워크' 카테고리의 다른 글

[WEB] 네트워크 개념 정리 Feat. 라우터,IP, NAT  (0) 2023.01.24
Comments