본문 바로가기
CS/네트워크

네트워크 통신 방식

by kriorsen 2024. 4. 2.

유니캐스트(Unicast)

유니캐스트 통신 방식에서는 데이터 전송 시, 출발지와 목적지가 하나로 명확하게 지정된다. 이는 네트워크 상에서 가장 일반적인 통신 방식으로, 일대일 통신을 의미한다. 유니캐스트 데이터 전송의 핵심은 목적지의 MAC 주소를 데이터 프레임에 전송하는 것이다.

 

 

송신자는 데이터를 전송할 때, 해당 데이터의 목적지 MAC 주소를 프레임에 포함시켜 네트워크로 보낸다. 이 프레임은 로컬 네트워크 상의 모든 장치에 도달할 수 있다. 각 장치는 수신한 프레임의 목적지 MAC 주소를 자신의 MAC 주소와 비교한다. 만약 MAC 주소가 일치하면, 각 장치는 수신한 프레임의 목적지 MAC 주소를 자신의 MAC 주소와 비교한다. 만약 MAC 주소가 일치하면, 데이터 프레임을 수신하여 처리한다. 반대의 경우, 프레임은 무시된다.

 

이러한 과정은 네트워크의 효율성을 높이기 위해 필요하다. 처음에는 모든 장치가 프레임을 수신하고 MAC 주소를 확인하게 되지만, 이는 네트워크 장비(예: 스위치)가 MAC 주소 테이블을 구축하는 초기 단계에서 주로 발생한다. 스위치는 각 MAC 주소가 어떤 포트에 연결되어 있는지 학습하고, 이후에는 데이터 프레임을 해당 MAC 주소의 장치가 연결된 포트로만 전송한다. 이를 통해 불필요한 트래픽을 줄이고, 네트워크 자원을 보다 효율적으로 사용할 수 있다.

 

따라서, 유니캐스트는 네트워크 상에서 특정 목적지로 데이터를 정확하게 전송하기 위한 매우 중요하고 기본적인 통신 방식이다. 이는 네트워크의 효율성과 데이터 전송의 정확성을 보장하는 데 핵심적인 역할을 한다.

 

브로드캐스트(Broadcast)

브로드캐스트는 네트워크 상에서 모든 장치 혹은 호스트에게 데이터 패킷을 전송하는 통신 방식이다. 이 방식에는 목적지 주소가 네트워크 상의 모든 장치를 대상으로 설정되어 있기 때문에, 패킷을 수신할 수 있는 모든 장치가 해당 패킷을 수신한다.

 

브로드캐스트의 주요 사용 사례 중 하나는 네트워크 상의 특정 호스트의 MAC 주소를 알아내기 위한 ARP 요청이다. 예를 들어, 한 장치가 다른 장치와 유니캐스트 통신을 시작하기 전에, 먼저 대상 장치의 IP 주소를 기반으로 해당 장치의 MAC 주소를 알아야 한다. 이때, 소스 장치는 ARP 요청을 브로드캐스트하고, 대상 장치는 이 ARP 요청에 자신의 MAC 주소를 포함하여 응답하고, 이를 통해 소스 장치는 대상 장치와의 유니캐스트 통신을 시작할 수 있다.

 

브로드캐스트는 정보를 넓은 범위의 수신자에게 효율적으로 전달할 수 있는 방법이지만, 네트워크 트래픽을 증가시키고 장치들에게 불필요한 데이터 처리 부담을 줄 수 있기 때문에, 사용에 있어서 신중을 가해야 한다.

 

브로드캐스트의 목적지 주소는 네트워크의 주소 체계에 따라 다르게 표현된다. 가장 일반적인 두 가지 주소 쳬게는 IP 주소와 MAC 주소가 있다.

IP 주소를 통한 브로드캐스트

IP 네트워크에서는 특정 서브넷 내의 모든 호스트에게 데이터를 전송하기 위해 서브넷의 브로드캐스트 주소를 사용한다. 이 주소는 해당 서브넷의 주소 범위에서 가장 높은 주소로 설정된다.

 

IP 주소 체계와 브로드캐스트 주소

우리가 흔히 사용하는 IP 주소는 32비트이며, 옥텟이라고 불리는 8비트 단위로 나누어 구분한다. 2계층의 MAC 주소와 달리 IP 주소는 10진수로 표기하므로 0 ~ 255의 값을 사용할 수 있다.

3계층 주소인 IP는 네트워크 주소와 호스트 주소 두 부분으로 나뉜다.

  • 네트워크 주소: 호스트들을 모은 네트워크를 지칭하는 주소로, 네트워크 주소가 동일한 네트워크를 로컬 네트워크라고 한다
  • 호스트 주소: 하나의 네트워크 내에 존재하는 호스트를 구분하기 위한 주소이다

제조업체 코드와 제조업체별 일련 번호가 절반인 24비트로 나뉘는 MAC 주소와 달리, IP 주소의 네트워크 주소와 호스트 주소는 이 둘을 구분하는 경계점이 고정되어 있지 않다. IP 주소 체계는 필요한 호스트 IP 개수에 따라 네트워크의 크기를 다르게 할당하기 위해 클래스라는 개념을 도입했다.

 

브로드캐스트 주소는 호스트 주소에 해당되는 옥텟에 255를 할당하여 얻을 수 있다. 예를 들어, 192.168.1.0/24 서브넷의 경우, C클래스에 해당된다. 세 번째 옥텟까지 네트워크 주소를 사용하고 있기 때문에 네 번째 옥텟을 255로 표현한 192.168.1.255가 브로드캐스트 주소이다.

 

MAC 주소를 통한 브로드캐스트

MAC 주소 체계에서는 특별히 할당된 브로드캐스트 주소가 있다. 이는 FF:FF:FF:FF:FF:FF로, 이더넷 네트워크에서 모든 장치들이 이 주소로 보낸 패킷을 수신하도록 설정되어 있다.

 

멀티캐스트(Multicast)

멀티캐스트는 네트워크 상에서 하나의 송신자로부터 다수의 수신자에게 패킷을 효율적으로 전송하는 방식이다. 이 통신 방식은 특정 멀티캐스트 그룹 주소를 사용하여, 그룹에 가입한 호스트들에게만 데이터를 전송한다. 멀티캐스트는 주로 대역폭이 제한된 네트워크 환경에서 동일한 데이터를 동시에 다수의 사용자에게 전송해야 할 때 사용된다.

 

 

위에 언급된 IP 클래스에서 확인할 수 있듯, IP 주소 체계에는 멀티캐스트 그룹 주소(224.0.0.0 ~ 239.255.255.255)가 존재한다. 이 주소 범위 내 IP 주소는 특정 멀티캐스트 그룹을 식별하는 데 사용되며, 데이터 송신자는 이 주소를 목적지 주소로 설정하여 패킷을 전송한다. 호스트는 IGMP를 사용하여 멀티캐스트 그룹에 가입하거나 탈퇴할 수 있다.

 

IPTV와 같은 실시간 방송을 볼 때 이 멀티캐스트 통신 방식을 사용한다. 사내 방송이나 증권 시세 전송과 같이 단방향으로 다수에게 동시에 같은 내용을 전달해야 할 때 사용된다.

 

애니캐스트(Anycast)

애니캐스트는 하나의 목적지 주소를 여러 호스트가 공유하는 방식이다. 이렇게 하면 데이터를 요청하는 사용자는 같은 IP 주소로 요청을 보내지만, 실제로는 그 요청이 가장 가까운 위치에 있는 서버로 자동으로 전송되어 처리된다. 이 방식은 특히 DNS 서버 같이 빠른 응답 속도가 중요한 서비스에 유용하다.

 

 

 

애니캐스트와 UDP

애니캐스트는 주로 UDP 프로토콜과 함께 사용된다. UDP는 연결이 없는 프로토콜로, 서버와 클라이언트 간에 데이터를 빠르게 주고받을 수 있게 해 준다. 한쪽 서버로 지속적인 상태 보존이 필요한 TCP와 달리, UDP는 각각의 데이터 전송이 독립적이기 때문에, 네트워크 경로가 바뀌어도 문제가 되지 않는다. 이런 특성 덕분에 애니캐스트와 UDP는 DNS 서비스에 매우 잘 어울린다.

애니캐스트와 TCP

그러나 애니캐스트와 TCP를 함께 사용한 KAKAO의 사례도 있다. Web Cache 서비스는 웹 페이지나 이미지와 같은 콘텐츠를 저장해 두었다가, 사용자의 요청이 있을 때 빠르게 제공하는 기술이다. 이 경우, 트랜잭션을 보장해야 하는 상황은 거의 없으며, 빠른 콘텐츠 전송이 더 중요하다. 따라서, KAKAO는 이러한 부분에 TCP 프로토콜인 Contents Cache 서비스 부분에 활용했다.

 

애니캐스트와 유니캐스트

최종 통신은 1대1로 유니캐스트와 애니캐스트가 동일하지만 통신할 수 있는 후보자는 서로 다르다. 유니캐스트는 출발지와 목적지가 모두 한 대씩이지만 애니캐스트는 같은 목적지 주소를 가진 서버가 여러 대여서 통신 가능한 다수의 후부군이 있다. 

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

What's in my b̶a̶g̶ Browser  (0) 2024.09.08
ARP(Address Resolution Protocol)  (0) 2024.04.15
네트워크 주소(MAC / IP Address)  (0) 2024.04.11
DNS(Domain Name Service)  (19) 2024.03.30
[네트워크] HTTP 요청 메서드  (0) 2024.03.10