해결된 질문
작성
·
406
1
유니캐스트는 송신자가 수신자의 주소를 특정하고 데이터를 전송하여 일대일 통신하는 방식으로 알고 있습니다.
브로드캐스트는 수신자가 특정되지 않고 브로드캐스팅 주소로 데이터를 송신할 때 LAN 상에 연결된 모든 노드에게 데이터를 송신하는 것으로 알고 있습니다.
그런데 유니캐스트를 할 때도 연결된 모든 노드에게 데이터를 송신하나요?
답변 1
1
유니캐스트는 논리적으로 1:1통신하는 것이 맞습니다.
하지만 LAN영역에서 거치는 기계에 따라서 다르게 동작합니다.
거치는 기계가 허브라면 모든 노드로 전송하고, 스위치라면 해당 노드로 전송합니다.(물론 스위치라도 테이블에 등록되어 있지 않다면 모든 노드로 전송해 테이블을 먼저 채워줍니다)
자세한 내용은 허브와 스위치편을 참조해주세요!
먼저 첫 번째 질문에 답변드리겠습니다.
허브는 브로드캐스트 메시지, 유니캐스트 메시지를 구분하지 않고 모든 데이터를 연결된 모든 노드로 데이터를 뿌려줍니다. 이를 '브로드캐스팅'이라고 부릅니다. 만약 유니캐스트 메시지가 오더라도 이를 '브로드캐스팅'으로 모든 노드에게 전달하는 것이죠. 유니캐스트 메시지를 브로드캐스팅 한다고 이해하시면 될 것 같습니다.
다만 허브가 브로드캐스트 메시지를 브로드캐스팅 하는 것과 유니캐스트 메시지를 브로드캐스팅 하는 것이는 목적지 주소에 차이가 있습니다. 허브가 브로드캐스트 한 브로드캐스팅 메시지는 목적지가 모든 노드라 어떤 노드라도 이 데이터를 받으면 랜카드를 통과해서 CPU에서 처리해야합니다.
반면 허브가 유니캐스트 메시지를 브로드캐스팅 했다면 목적지 데이터는 어떤 한 노드의 주소를 가리키므로 해당 하지 않는 노드는 랜카드에서 걸러버립니다.
이는 허브가 연결된 환경에서 유니캐스트가 동작하는 방식입니다. 유니캐스트가 맞습니다.
두 번째 질문도 답변드리겠습니다!
랜카드가 하는 일은 아날로그 데이터를 디지털 데이터로, 그 반대로도 변환하는 기능도 하지만 디지털 데이터로 변환하고 해당 메시지에서 맥주소를 확인하는 기능도 하는 장치입니다. 따라서 목적지가 FF(브로드캐스트) 주소라면 CPU에게 처리하도록 하고 그렇지 않고 자신의 주소가 아니라면 랜카드선에서 해당 데이터는 무시해버립니다. 따라서CPU 성능에 영향을 주지 않는 것이죠 ㅎㅎ
모바일로 작성하고 있어서 가독성이 안 좋을 것 같은데 이해해주시면 감사하겠습니다!
궁금증이 해결되셨나요? 😊
감사합니다 허브와 스위치도 보고왔는데 추가로 질문드리고 싶은게 있습니다.
영상에서는 유니캐스트를 할 때 연결된 모든 노드에 데이터를 전송하고 랜카드에서 목적지 주소가 자신의 MAC 주소와 다르다면 프레임을 버려서 CPU 성능에 영향을 주지 않는다고 설명하는 것으로 이해했습니다.
그리고 브로드캐스트 또한 모든 연결된 노드에게 데이터를 전송하고 랜카드에서는 MAC 주소를 비교하지 않고 역캡슐화를 진행해 위 계층으로 데이터를 전달하며 이는 CPU에서 처리하기 때문에 CPU 성능에 안 좋은 영향을 준다고 이해했습니다.
허브를 통해서는 브로드캐스팅이 발생하고 데이터를 받은 노드들 중 랜카드에서 자신의 MAC 주소가 아니면 버린다고 하셨는데 그러면... 이건 브로드캐스트인가요 아니면 유니캐스트인가요? 잘 구분이 안 됩니다...
저는 브로드캐스트가 모든 노드에 데이터를 전달하는 것으로 이해했고 이 데이터를 받아야 하는 노드 외의 노드들에게도 트래픽이 발생하여 네트워크 성능을 떨어뜨린다고 이해하고 있습니다.
추가적으로
랜카드에서 MAC 주소를 비교하고 버린다고 하셨는데 랜카드에도 MAC주소를 비교하기 위한 CPU가 존재하는 것인가요? MAC 주소 비교는 목적지 컴퓨터의 CPU를 사용하지는 않는 걸까요? 목적지 컴퓨터는 데이터를 수신했지만 인터럽트가 발생하지 않는 건가요?
질문이 좀 많습니다... 답변해주시면 감사하겠습니다