null
vuild_
Nodes
Flows
Hubs
Login
MENU
GO
Notifications
Login
⌂
임베디드 개발자를 위한 네트워크 기초 — IP 주소부터 PHY 레지스터까지
Structure
ip-addressing
•
공인 IP, 사설 IP, 그리고 NAT가 존재하는 이유
•
고정 IP vs 유동 IP — DHCP의 동작 원리
•
네트워크 클래스 — IP 주소를 나누는 논리
•
서브넷 마스크와 게이트웨이 — 네트워크를 쪼개는 방법
•
CIDR 표기법 — /24가 의미하는 것
•
DNS — 이름을 IP로, IP를 이름으로
mac-transmission
•
MAC 주소와 OUI — 하드웨어 식별의 기초
•
유니캐스트, 멀티캐스트, 브로드캐스트 — 전송 방식의 선택
•
멀티캐스트 MAC 주소 — IP에서 MAC으로의 변환 원리
•
VLAN — 하나의 스위치에서 여러 네트워크 분리하기
port-and-layer
•
포트(Port) — 하나의 IP에서 수천 개의 통신 채널을 분리하는 법
•
PDU — 프레임, 패킷, 세그먼트의 차이
•
OSI 7계층 vs TCP/IP 모델 — 두 모델이 공존하는 이유
physical-layer
•
NIC와 PHY — 임베디드 이더넷 하드웨어 구조
•
MDC/MDIO — PHY 레지스터를 제어하는 2-Wire 인터페이스
•
NLP, FLP, Auto-negotiation — PHY가 링크를 협상하는 방법
•
Extended Register — Clause 22의 32개 제한을 넘는 법
•
"Docker 기초 — 컨테이너의 모든 것"
•
Store-and-Forward vs Cut-through
wireshark-debug
•
Wireshark에서 IP Checksum이 0인 이유
•
"Docker Compose — 멀티 컨테이너 오케스트레이션"
•
FCS/CRC와 Wireshark의 4바이트 미스터리
•
"TypeScript 기초 — JavaScript에 타입을 더하다"
•
임베디드 이더넷 디버깅 — Wireshark 실전 사용법
Flow Structure
MAC 주소와 OUI — 하드웨어 식별의 기초
8 / 24
멀티캐스트 MAC 주소 — IP에서 MAC으로의 변환 원리
☆ Star
↗ Full
유니캐스트, 멀티캐스트, 브로드캐스트 — 전송 방식의 선택
#network
#unicast
#multicast
#broadcast
#ethernet
@devpc
|
2026-05-04 01:59:39
|
GET /api/v1/flows/23/nodes/408?fv=2&nv=1
Context:
Flow v2
→
Node v1
0
Views
1
Calls
# 유니캐스트, 멀티캐스트, 브로드캐스트 — 전송 방식의 선택 ## 세 가지 전송 방식 이더넷에서 데이터를 누구에게 보내는지에 따라 전송 방식이 세 가지로 나뉜다. | 방식 | 관계 | 대상 | MAC 주소 패턴 | |------|------|------|------------| | **유니캐스트** | 1:1 | 특정 하나의 장치 | 목적지 MAC = 수신자 MAC | | **멀티캐스트** | 1:N (선택적) | 그룹에 속한 장치들 | `01:00:5E:xx:xx:xx` 또는 `33:33:xx:xx:xx:xx` | | **브로드캐스트** | 1:All | 같은 서브넷의 모든 장치 | `FF:FF:FF:FF:FF:FF` | --- ## 유니캐스트 가장 일반적인 방식. TCP 연결, HTTP 요청, XCP 마스터-슬레이브 통신 등 대부분이 유니캐스트다. ### 유니캐스트 플러드 (Unicast Flood) 문제: 스위치가 목적지 MAC 주소를 자신의 MAC 테이블에서 찾지 못하면, **해당 포트를 제외한 모든 포트로** 패킷을 복사해서 보낸다. 이것이 유니캐스트 플러드다. 새로 연결된 장치나 MAC 테이블이 갱신되기 전 짧은 순간에 발생한다. 의도치 않게 다른 장치가 패킷을 수신할 수 있어 보안 이슈가 될 수 있다. --- ## 멀티캐스트 특정 **그룹에 가입한** 장치들에게만 데이터를 전달한다. 라이브 스트리밍, IGMP, SOME/IP SD(서비스 디스커버리) 등이 이 방식을 쓴다. ### SOME/IP에서의 멀티캐스트 AUTOSAR SOME/IP에서는 서비스 디스커버리(SD) 메시지를 멀티캐스트로 전송한다. 모든 노드가 수신하고 해당 서비스를 필요로 하는 노드만 처리한다. ``` SOME/IP SD 멀티캐스트 주소: 239.192.255.251 (GENIVI 기본값) 포트: 30490 ``` ### IGMP — 멀티캐스트 그룹 관리 라우터와 호스트 사이에서 멀티캐스트 그룹을 관리하는 프로토콜이 **IGMP(Internet Group Management Protocol)** 다. ``` 호스트 → 라우터: IGMP Join (이 멀티캐스트 그룹에 참여할게요) 라우터 → 호스트: IGMP Query (아직 이 그룹 필요해요?) 호스트 → 라우터: IGMP Leave (그룹 탈퇴할게요) ``` lwIP에서 IGMP를 활성화하면 멀티캐스트 소켓을 사용할 수 있다. ```c // 멀티캐스트 그룹 가입 (lwIP POSIX 소켓 API) struct ip_mreq mreq; mreq.imr_multiaddr.s_addr = inet_addr("239.192.255.251"); mreq.imr_interface.s_addr = INADDR_ANY; setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)); ``` --- ## 브로드캐스트 서브넷 내 모든 장치에게 동시 전송. ARP 요청, DHCP Discover 등이 브로드캐스트를 사용한다. **주의:** 브로드캐스트는 서브넷 내 **모든 장치의 CPU를 깨운다.** 장치 수가 많은 네트워크에서 브로드캐스트가 과도하면 성능 저하가 발생한다. 이것이 큰 네트워크를 서브넷으로 쪼개는 이유 중 하나다. ``` 브로드캐스트 주소 예: 서브넷: 192.168.0.0/24 → 브로드캐스트: 192.168.0.255 서브넷: 10.0.0.0/8 → 브로드캐스트: 10.255.255.255 ``` --- ## 선택 기준 | 상황 | 권장 방식 | |------|---------| | MCU ↔ PC 1:1 통신 | 유니캐스트 | | 여러 노드에 동시 전송, 그룹 구독 | 멀티캐스트 | | 네트워크 내 장치 발견(discovery) | 브로드캐스트 또는 멀티캐스트 | | SOME/IP 서비스 광고 | 멀티캐스트 | 임베디드 네트워크에서 멀티캐스트를 올바르게 구성하지 않으면 SOME/IP 서비스 디스커버리가 실패하거나, 예상치 못한 노드가 패킷을 수신하는 문제가 생긴다.
MAC 주소와 OUI — 하드웨어 식별의 기초
멀티캐스트 MAC 주소 — IP에서 MAC으로의 변환 원리
// COMMENTS
Newest First
ON THIS PAGE
No content selected.