Computer Science%/Network

네트워크 통신 방식

ch4rli3kop 2017. 9. 26. 17:49
반응형

네트워크에서 통신을 하는 방식 (3 캐스트)

  • 유니캐스트 (1 대 1)
  • 멀티캐스트 (어떤 그룹을 대상으로 통신)
  • 브로드캐스트 (전부를 대상으로 통신)


기본적으로 모든 통신은 자신과 같은 로컬 이더넷에 있는 모든 PC에게 정보를 뿌린다. (통신 방식의 차이는  랜카드에서 필터링 되는 것의 차이.)



여기서 로컬이란 라우터에 의해 구분되어진 공간, 브로드캐스트 도메인이라고 불리우는 영역이다.


Unicast (1 대 1 통신)

  • 보낸이의 맥 주소, 받는 이의 맥 주소를 프레임 안에 적어 shared 방식으로, 정보를 뿌린다. ( 로컬 이더넷의 기본 성격이 붙어있는 모든 PC들에게 정보를 뿌린다. )
  • 그 로컬 네트워크 상에 있는 모든 PC들은 일단 이 프레임을 받아, 랜카드에서 이 프레임의 목적지 맥 어드레스와 자신의 맥 어드레스(랜카드의 맥 어드레스)를 비교한다.
  • 목적지가 자신의 맥 어드레스와 일치하는 프레임은 CPU로 올려 보내고, 다른 프레임은 버린다. (다른 프레임은 그냥 버리므로 CPU에 영향을 주지 않아, 성능저하가 일어나지 않는다. 


Multicast (원하는 그룹 멤버들에게 보내는 통신)

  • 라우터나 스위치에서 이 기능을 지원해 주어야 사용이 가능하다.
  • 라우터의 경우, 이 기능을 지원하지 않으면 멀티캐스트를 브로드캐스트로 취급해서 다 막아버린다. (라우터는 브로드캐스트를 다 막아버린다.)
  • 스위치의 경우, 이 기능을 지원하지 않으면 멀티캐스트를 브로드캐스트로 취급해서 모든 포트로 뿌려버린다. (스위치는 브로드캐스트를 받으면 모든 포트로 뿌린다.)
  • 그룹은 특수한 기술들에 의해 정의된다.

Broadcast (로컬 랜상에 붙어있는 모든 네트워크 장비들에게 보내는 통신)

  • 무조건 받는다.
  • 목적지의 주소가 FFFF.FFFF.FFFF (맥 어드레스)로 정해져서 나온다. 목적지 주소가 이런 형태인 프레임을 받으면 랜카드는 비록 자신의 맥 어드레스와는 다르지만, 패킷을 CPU로 보낸다. (CPU부하가 발생한다.)

* 사용하는 경우 : 

  • 상대 IP는 알지만 맥 어드레스는 모를 경우, ARP (Address Resolution Protocol, 해당 IP에 맞는 사람이 응답하도록 브로드캐스트를 함. 수신자는 받은 IP의 목적지 주소가 자신의 IP와 같다면 자신의 맥 어드레스를 준다.)을 이용하여 맥 어드레스를 알아내는데, 이게 바로 브로드캐스트를 이용해서 맥 어드레스를 알아내는 방식이다.
  • 라우터끼리 정보를 교환하려 할 때, 다른 라우터를 찾을 때 사용한다.
  • 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트들에게 알릴 경우에도 사용한다.

  • 브로드캐스트를 하면 같은 네트워크 상에 있는 호스트만 받을 수 있다.
  • 다른 네트워크 상에서는 중간에 있는 라우터가 그 메세지를 통과시키지 않기 때문에 메세지를 받을 수 없다.

        패킷 : ( PC[B] mac ? | PC[A] mac )   ( 목적지 | 발신지 )

        PC[A] ------------> 라우터1 ------ ~~~~ ------ 라우터2 -------------> PC[B]

  • PC[A]는 PC[B]의 IP주소를 안다. 근데 패킷을 보내려면 MAC address가 필요하므로 주소를 달라고 한다.
  • PC[B]의 맥 어드레스를 묻는 패킷을 받은 라우터1은 PC[B]가 A와 같은 네트워크 상에 없다는 걸을 안다. 그래서 PC[A]에게 일단 자신(라우터1)의 맥 주소를 알려주고 PC[B]가 있는 네트워크의 라우터2에게 자신의 맥 주소를 발신지로 하여 B의 맥 주소를 물어본다. ( PC[B] mac? | 라우터1)
  • 이런 식으로 서로 다른 네트워크 상에 있는 PC들은 라우터를 경유하여 데이터를 교환한다.



반응형

'Computer Science% > Network' 카테고리의 다른 글

WPA2 무선랜 해킹  (6) 2018.05.24
PCAPNG 파일  (0) 2017.10.30
패킷과 프레임의 차이  (0) 2017.10.17
Mac 이란?  (0) 2017.09.26
OSI 7 Layer (Network part)  (0) 2017.09.26