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 주소 — IP에서 MAC으로의 변환 원리
10 / 24
포트(Port) — 하나의 IP에서 수천 개의 통신 채널을 분리하는 법
☆ Star
↗ Full
VLAN — 하나의 스위치에서 여러 네트워크 분리하기
#network
#vlan
#8021q
#l2
#switch
@devpc
|
2026-05-04 01:59:39
|
GET /api/v1/flows/23/nodes/410?fv=2&nv=1
Context:
Flow v2
→
Node v1
0
Views
1
Calls
# VLAN — 하나의 스위치에서 여러 네트워크 분리하기 ## VLAN이 필요한 이유 물리적으로 같은 스위치에 연결되어 있지만, **논리적으로는 다른 네트워크**처럼 동작해야 할 때가 있다. 차량 이더넷을 예로 들면: | 도메인 | 트래픽 종류 | 분리 이유 | |--------|-----------|---------| | ADAS | 카메라, 라이다 원시 데이터 | 대역폭 점유, 지연 민감 | | Powertrain | SOME/IP 제어 메시지 | 실시간성 요구 | | Infotainment | 미디어 스트리밍 | 보안 격리 | 이 세 도메인을 물리적으로 다른 스위치로 분리하면 비용이 크다. VLAN을 쓰면 **하나의 스위치로 논리적 분리**가 가능하다. --- ## VLAN 동작 원리 — IEEE 802.1Q IEEE 802.1Q는 이더넷 프레임에 **4바이트 VLAN 태그**를 추가하는 표준이다. ``` 일반 이더넷 프레임: ┌──────┬──────┬──────────┬─────────────┬─────┐ │ Dst │ Src │EtherType │ Payload │ FCS │ │ 6B │ 6B │ 2B │ 46~1500B │ 4B │ └──────┴──────┴──────────┴─────────────┴─────┘ 802.1Q 태그 추가: ┌──────┬──────┬──────┬──────────┬─────────────┬─────┐ │ Dst │ Src │ TAG │EtherType │ Payload │ FCS │ │ 6B │ 6B │ 4B │ 2B │ 46~1500B │ 4B │ └──────┴──────┴──────┴──────────┴─────────────┴─────┘ ↑ TPID(0x8100) + PCP(3bit) + DEI(1bit) + VID(12bit) ``` VID(VLAN Identifier)가 12bit이므로 최대 **4096개**의 VLAN을 구분할 수 있다. --- ## VLAN 모드 ### Access 모드 (Untagged 포트) 장치(MCU, PC 등)가 VLAN 태그 없이 프레임을 보낸다. 스위치가 수신 시 태그를 붙이고, 송신 시 태그를 제거한다. 장치는 VLAN 존재를 알 필요가 없다. ``` MCU → 스위치: [태그 없는 프레임] 스위치 처리: [VLAN 100 태그 추가] → 내부 전달 스위치 → MCU: [태그 제거 후 전달] ``` ### Trunk 모드 (Tagged 포트) 여러 VLAN의 트래픽이 하나의 링크를 공유한다. 태그가 유지된 채 전달된다. 스위치-스위치 간, 또는 스위치-라우터 간 링크에 주로 사용한다. --- ## VLAN의 QoS 연계 802.1Q 태그의 PCP(Priority Code Point) 3bit는 **QoS(Quality of Service)** 에 활용된다. 0~7 중 숫자가 클수록 우선순위가 높다. 차량 네트워크에서 안전 관련 메시지(예: 긴급 제동 명령)에 높은 QoS 클래스를 부여해 스위치 큐에서 먼저 처리하도록 한다. ``` PCP 7: Network Control (가장 높은 우선순위) PCP 6: Internetwork Control PCP 5: Critical (음성, 영상) PCP 4: Video PCP 3: Excellent Effort PCP 2: Spare PCP 1: Background PCP 0: Best Effort (기본값) ``` --- ## 임베디드/AUTOSAR에서의 VLAN AUTOSAR 스택에서 `EthCtrl` 모듈이 VLAN 태그를 지원한다. 특정 EtherType 또는 VID 기반으로 프레임을 필터링하고, 정해진 VLAN으로만 송신하도록 설정할 수 있다. ```c // AUTOSAR EthCtrl VLAN 설정 개념 (pseudo-code) EthCtrl_SetVlan(controller_id, VLAN_ID_ADAS, PCP_CRITICAL); ``` --- ## 정리 VLAN은 비용 효율적인 네트워크 분리 수단이다. 차량 이더넷 아키텍처를 설계하거나 임베디드 스위치 설정을 다룰 때, VLAN ID와 QoS 우선순위 설계는 초기에 결정해야 하는 핵심 항목이다. 나중에 바꾸면 전체 네트워크 설정이 흔들린다.
멀티캐스트 MAC 주소 — IP에서 MAC으로의 변환 원리
포트(Port) — 하나의 IP에서 수천 개의 통신 채널을 분리하는 법
// COMMENTS
Newest First
ON THIS PAGE
No content selected.