[Network] 유니캐스트, 브로드캐스트, 멀티캐스트, OSI 7 Layer 개념 정리

Update:     Updated:

카테고리:

태그:

2. 네트워크와 케이블, 그리고 친구들

7. 유니캐스트, 브로드캐스트, 멀티캐스트

유니캐스트, 브로드캐스트, 멀티캐스트 등 이 캐스트들은 네트워크에서 통신을 하는 방식에 따른 구분이라고 생각하면 된다. 즉, 1대 1로 하는 통신 방식이냐, 어떤 그룹을 대상으로 하는 방식이냐, 아니면 전부를 대상으로 하는 통신이냐의 차이이다. 대게 네트워크를 분석해보면 3가지 통신이 모두 사용되고 있는데, 그중에서도 가장 많이 사용되는 트래픽은 유니캐스트이다.

유니캐스트

랜에서 네트워크 통신을 한다고 할 때 데이터를 보내고자 하는 PC의 맥 어드레스가(00-60-80-AA-BB-CC)라고 가정하고, 받는 PC의 맥 어드레스가(00-60-80-DD-EE-FF)라고 가정하자.
통신을 위해서는 전송되는 프레임 안에 항상 출발지와 목적지의 주소, 즉 맥 어드레스가 들어 있어야 한다. 따라서 프레임 안에 출발지는 00-60-80-AA-BB-CC이고, 목적지는 00-60-80-DD-EE-FF라고 써넣는 것이다. 이것이 유니캐스트 통신 방식이다.
즉 정확하게 받는 PC의 주소를 프레임 안에 써넣는데, 이때 받는 PC가 하나이어야 한다는 것이다.
이런 방식으로 어떤 PC가 유니캐스트 프레임을 뿌리게 되면, 어차피 로컬 이더넷의 기본 성격이 붙어있는 모든 PC들에게 정보를 뿌리는 Shared 방식이기 때문에 그 로컬 네트워크상에 있는 모든 PC들은 일단 이 프레임을 받아들여서 랜카드에서 자신의 맥 어드레스와 비교하게 된다. 그 다음 자신의 랜카드 맥 어드레스와 목적지 맥 어드레스가 서로 다른 경우는 바로 그 프레임을 버리게 된다. 이런 경우는 PC의 CPU까지 영향을 주지 않기 때문에 PC의 성능이 저하되는 일은 발생하지 않는다.
만약 목적지 주소가 자신의 맥 어드레스와 일치 할 경우, 랜카드는 이 프레임을 CPU로 올려보내게 됩니다.
이런 유니캐스트 방식은 목적지 주소가 아닌 다른 PC들의 CPU 성능을 저하시키지는 않는다. 그 이유는 자신의 맥 어드레스가 아니라고 판단되면 랜카드가 이 프레임을 버리기 때문이다.

브로드캐스트

브로드캐스트는 한마디로 로컬 랜에 붙어 있는 모든 네트워크 장비들에게 보내는 통신이다. 여기서 로컬 랜이란, 라우터에 의해서 구분된 공간, 즉 브로드 캐스트 도메인이라고 하는 공간을 뜻한다. 브로드캐스트는 통신의 대상이 특정한 어떤 한 네트워크 장비가 아니고 내가 살고 있는 네트워크 안의 모든 네트워크 장비들에 통신할 때 쓰기 위한 방식이다. 즉, 받는 사람이 이 브로드캐스트 도메인 안에 사는 모든 네트워크 장비들이다.
브로드캐스트는 자기가 받기 싫다고 받지 않는 것이 아니라 무조건 받는 것이다. 브로드캐스트의 주소는 미리 정해져 있는데, 바로 FFFF.FFFF.FFFF(맥 어드레스로 했을 때)이다. 이 주소를 가진 프레임이 오면 랜카드는 비록 자신의 맥 어드레스와 같지는 않지만 이 브로드캐스트 패킷을 CPU에 보내게 된다. 그 다음은 CPU가 이 패킷을 처리하게 된다.
따라서, 유니캐스트 방식에 비해서 CPU가 할 일이 늘어나게 된다. 브로드캐스트는 네트워크상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만, 이 패킷을 받은 모든 랜카드가 이 패킷을 CPU로 전송하기 때문에 CPU는 하던 일을 멈추가 또 다른 일을 해야 되고, 이에 따라 전체 PC의 성능도 떨어지게 된다. 따라서 과도한 브로드캐스트는 전체 네트워크의 성능뿐만 아니라 PC 자체의 성능 역시 떨어뜨리게 된다.
브로드캐스트가 발생하는 경우는 다음과 같다.
예를 들어 처음 두 PC간에 통신을 하는 경우에는 상대편의 IP 주소는 알 수 있어도 상대편의 맥 어드레스는 알지 못한다. 이 경우에 상대의 맥 어드레스를 알아내기 위해서 하는 동작이 바로 ARP(Address Resolution Protocol)이다. 이 ARP가 바로 브로드캐스트이다.
그 외에도 라우터끼리 정보를 교환하거나 다른 라우터를 찾을 때, 또 서버들이 자신이 어떤 서비스를 제공하다는 것을 모든 클라이언트들에게 알릴 때 등 여러 경우에 사용된다. 이런 브로드캐스트들은 한 번 발생하고 끝나는 것이 아니라 대부분은 30초 혹은 1분에 한 번씩 주기적으로 발생하게 된다. 따라서 브로드캐스트는 꼭 필요하지만 많아지면 문제가 생긴다.

멀티캐스트

200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내야 하는 상황이라고 가정해보자. 보내는 방법은 여러가지가 있다.
첫 번째, 우리가 이미 배운 유니캐스트라는 걸 사용하는 경우이다. 즉 150명의 주소로 하나씩 전부 보내주는 것이다. 가능한 방법이지만 서버쪽에서 볼 때는 같은 데이터를 150번이나 반복해서 보내야 하기 때문에 일이 많아질 뿐 아니라 네트워크상에서도 같은 데이터가 150번이나 반복되어 보내지기 때문에 트래픽을 가중시키게 된다.
또 하나의 방법은 브로드캐스트를 이용하는 방법이다. 브로드캐스트로 한 번에 모든 사용자에게 보내는 것이다. 이 경우에는 한 번에 브로드캐스트 주소를 사용해서 보내기 때문에 유니캐스트처럼 150명에게 한 번씩 보낼 필요가 없다. 하지만 이 데이터를 받을 필요도 없는 나머지 50명조차도 이 데이터를 받아야 한다는 문제가 발생한다. 따라서 나머지 50대는 브로드캐스트 때문에 쓸데없는 영향을 받게 된다.
이러한 문제를 해결할 수 있는 통신 방식이 멀티캐스트이다.
멀티캐스트는 그룹에 속해있는 사람들에게만 선택적으로 보낼 수 있다는 것이 장점이다. 그리고, 라우터와 스위치에서 멀티캐스트를 지원해야 한다. 지원하지 않는 경우 라우터는 멀티캐스트를 브로드캐스트처럼 취급해서 다 막아버린다.(라우터는 브로드캐스트를 막는 성질이 있다.) 스위치의 경우는 모든 포트로 뿌려버린다.(브로드 캐스트 처럼)

📌내용 정리📌

  • 유니캐스트는 가장 많이 사용되는 통신 방법이고, 목적지 주소로 하나만 적어서 특정한 한 PC에게 보내는 방식이다.
  • 브로드캐스트는 브로드캐스트 도메인 영역 안에 있는 모든 PC들에게 한 번에 전송하는 방식이다. 이 경우 모든 PC가 CPU 인터럽트를 걸기 때문에 PC 성능이 떨어진다는 단점이 있다.
  • 멀티캐스트는 특정 그룹에 데이터를 보내는 경우 유니캐스트와 브로드캐스트의 장점을 결합해서 한 번에 그룹 멤버들에게 다 보내면서도 그룹 멤버 이외의 PC애는 영향을 주지 않는다는 장점을 가지고 있다. (단, 스위치와 라우터의 지원 필요)

8. OSI 7 Layer(레이어, 계층)는 왜 만들어졌나요?

통신에 대한 국제적인 표준기구인 International Organization for Standardization(ISO)라는 곳에서 만든 OSI 7 Layer 는 통신이 일어나는 과정을 7개의 단계로 나누었습니다. 이는 통신을 7개의 단계별로 표준화하여 그 효율성을 높히기 위해서 사용되었다.

  • Application Layer(애플리케이션 계층)
  • Presentation Layer(프레젠테이션 계층)
  • Session Layer(새션 계층)
  • Transport Layer(트랜스포트 계층)
  • Network Layer(네트워크 계층)
  • Data Link Layer(데이터 링크 계층)
  • Physical Layer(피지컬 계층)

7개의 단계별로 나눈 이유에 대해서
첫 번째, 데이터의 흐름이 한눈에 보인다는 것이다. 즉 우리가 사용하는 애플리케이션 계층부터 맨 마지막 피지컬 계층까지를 나누어 놓으니 어떻게 데이터가 날아가는지 보기 쉽다.
두 번째, 문제를 해결하기 쉽다. 네트워크에서 문제가 발생하면 이 문제 하나를 7개의 작은 문제로 나눈 후 그 문제를 해결하면 훨씬 쉽다는 것이다. 예를 들어, PC의 전자메일이 안 될 경우 Ping을 쏴서 인터넷이 끊어졌는지를 확인해 보는 것이다. 만약 Ping을 쐈는데 문제가 이상이 없다면 네트워크 계층까지는 문제가 아니라는 결론을 내릴 수 있다.
세 번째, 여러 회사 장비를 써도 네트워크가 이상 없이 돌아간다. 즉 케이블은 국산, 랜카드는 인텔, 스위치나 라우터는 시스코를 써도 계층별로 나누어졌기 때문에 아무 이상이 없이 네트워클르 쓸 수 있다.
즉, 통신의 편리를 위해서 7개의 단계별로 나눴다고 볼 수 있다.

  • Layer 1 : Physical Layer
    – 전기적, 기계적 기능적인 특성을 이용해서 통신 케이블로 통신하게 된다. 통신 단위는 비트이며 대표적인 통신 장비는 통신 케이블, 리피터, 허브 등이 있다.

  • Layer 2 : Data Link Layer
    – Physical Layer을 통하여 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 한다. 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있고, 맥 어드레스를 가지고 통신을 할 수 있게 해준다. 이 계층에서 전송되는 단위를 ‘프레임’이라고 부른다. 대표적인 장비로는 브리지, 스위치 등이 있다.

  • Layer 3 : Network Layer
    – 가장 중요한 기능은 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 것이다. 이것을 ‘라우팅’이라고 한다. 따라서 경로를 선택하고, 주소를 정하며, 경로에 따라 패킷을 전달해주는 것이 역할이다. 대표적인 장비는 라우터이며, 요즘은 라우터 기능을 하는 스위치(Layer 3 스위치)도 있다.

  • Layer 4 : Transport Layer
    – 가장 중요한 일은 플로 컨트롤과 에러 복구 기능이다. 즉 에러 복구를 위해 패킷을 재전송하거나 플로를 조절해서 데이터가 정상적으로 전송될 수 있도록 하는 역할을 한다. TCP나 UDP가 이 계층에 해당한다.

이외의 Layer는 추후에 더 자세히 다루도록 하자.

9. 컴퓨터는 프로토콜로 말한다.

프로토콜이란 우리말로 하면 규약, 협약과 비슷한 뜻인데, 컴퓨터끼리는 프로토콜이 서로 같은 것끼리만 통신이 가능하다.
인터넷을 사용하고 있는 모든 PC는 같은 언어를 사용하고 있다. 인터넷을 사용하기 위해서는 TCP/IP라는 프로토콜을 사용해야 한다.
프로토콜에도 여러 종류가 있다.
첫번째, TCP/IP(Transmission Control Protocol / Internet Protocol)
두번째, IPX(Internetwork Packet eXchange)
세번째, 매킨토시가 사용하는 AppleTalk

이외에도 프로콜의 수는 수없이 많으나, 최근 가장 많이 사용하는 것은 위와 같다.


🐢 현재 공부하고 있는 후니의 쉽게 쓴 CISCO 네트워킹 - 진강훙 저자 의 책을 학습하며 기록 및 정리를 하기위한 내용들입니다. 🐢

감사합니다.😊

Network 카테고리 내 다른 글 보러가기

댓글남기기