Ethernet Frame과 MAC Address 이해하기
Ethernet Frame과 MAC Address 이해하기#
1. LAN 케이블을 연결하면 데이터는 어떻게 이동할까#
두 장비를 Ethernet Cable로 연결했다고 생각해보겠습니다.
주차관제 서버
│
│ Ethernet
↓
Switch
│
↓
Gate ControllerCable의 Link LED도 정상적으로 켜졌습니다.
IP Address도 설정했습니다.
그렇다면 서버가 Controller로 데이터를 보낼 때 Cable 안에는 무엇이 지나갈까요?
우리가 프로그램에서 보는 데이터는 다음과 같을 수 있습니다.
{
"gate": "01",
"command": "OPEN"
}하지만 이 JSON 문자열이 그대로 Cable을 돌아다니는 것은 아닙니다.
실제 데이터는 여러 계층을 거치면서 포장됩니다.
Application Data
↓
TCP 또는 UDP
↓
IP Packet
↓
Ethernet Frame
↓
PHY
↓
전기 또는 광 신호Ethernet Network에서 장치 사이를 전달되는 기본적인 데이터 단위가 Ethernet Frame입니다.
2. Ethernet은 무엇인가#
Ethernet은 LAN에서 가장 널리 사용되는 유선 네트워크 기술입니다.
IEEE 802.3 계열 표준은 Ethernet의 MAC 계층과 다양한 물리 계층을 정의합니다. 오늘날 Ethernet은 Twisted Pair Copper Cable뿐 아니라 Fiber 등 여러 전송 매체와 속도를 지원합니다.
우리 주변에서 흔히 사용하는:
100 Mbps
1 Gbps
10 Gbps등의 유선 LAN도 Ethernet 계열입니다.
Ethernet을 이해하려면 두 부분을 함께 보는 것이 좋습니다.
Ethernet
├─ 실제 Signal을 전달하는 Physical Layer
└─ Frame과 MAC Address를 처리하는 Data Link 영역앞에서 살펴본 Cable과 전기 신호가 데이터를 실제로 운반한다면, 이번에는 그 신호에 어떤 데이터를 넣어 전달하는가를 살펴보는 것입니다.
3. Frame이란 무엇인가#
Frame은 Data Link Layer에서 사용하는 데이터 전달 단위입니다.
쉽게 말하면 데이터를 Ethernet Network에 맞게 포장한 것입니다.
예를 들어 IP Packet이 있다고 생각해보겠습니다.
IP PacketEthernet은 여기에 필요한 정보를 앞뒤에 붙입니다.
┌──────────────────────────────┐
│ Destination MAC │
│ Source MAC │
│ EtherType │
├──────────────────────────────┤
│ IP Packet │
├──────────────────────────────┤
│ FCS │
└──────────────────────────────┘이렇게 만들어진 것이 Ethernet Frame입니다.
4. 우편물로 생각하면 이해하기 쉽다#
Ethernet Frame을 우편물에 비유해보겠습니다.
우편물에는 다음 정보가 있습니다.
받는 사람 주소
보내는 사람 주소
내용물의 종류
실제 편지Ethernet Frame도 비슷합니다.
Destination MAC
→ 어디로 보낼 것인가
Source MAC
→ 누가 보냈는가
EtherType
→ 안에 무엇이 들어 있는가
Payload
→ 실제 전달할 데이터
FCS
→ 전송 중 Frame이 손상됐는지 확인이 구조만 이해해도 Ethernet의 상당 부분을 이해할 수 있습니다.
5. Ethernet Frame의 기본 구조#
대표적인 Ethernet Frame 구조는 다음과 같습니다.
Preamble
↓
SFD
↓
Destination MAC
↓
Source MAC
↓
Type / Length
↓
Payload
↓
FCS일반적인 Ethernet Frame에는 6Byte Destination MAC, 6Byte Source MAC, 2Byte Type 또는 Length 영역, Payload와 4Byte FCS가 포함됩니다. 일반적인 Ethernet Payload는 기본 Frame에서 46~1500Byte 범위입니다.
6. Preamble은 무엇인가#
Frame이 전달되기 전에 수신 측이 신호를 받을 준비를 할 수 있도록 Preamble이 사용됩니다.
개념적으로는:
Preamble
↓
이제 Ethernet Frame이 시작된다라고 생각하면 됩니다.
이어지는 SFD는 Start Frame Delimiter의 약자로 Frame의 시작 지점을 구분합니다.
Preamble과 SFD는 실제 PHY 전송 과정과 밀접한 영역입니다.
일반적인 Packet Capture에서는 Network Interface Hardware가 이를 처리하기 때문에 Wireshark 화면에서 보이지 않는 경우가 일반적입니다.
7. Destination MAC은 누구에게 보낼지를 나타낸다#
Frame에서 가장 먼저 중요한 값은 Destination MAC Address입니다.
예:
11:22:33:44:55:66이 값은 해당 Ethernet Frame의 목적지를 나타냅니다.
Switch는 Frame을 받으면 Destination MAC을 확인하고:
이 MAC Address가 어느 Port에 연결되어 있는가?
를 판단합니다.
그리고 가능한 경우 해당 Port로 Frame을 전달합니다.
8. Source MAC은 누가 보냈는지를 나타낸다#
Source MAC은 Frame을 보낸 Network Interface의 MAC Address입니다.
예:
aa:bb:cc:dd:ee:ffFrame을 간단하게 나타내면:
Source
aa:bb:cc:dd:ee:ff
↓
Destination
11:22:33:44:55:66입니다.
Switch는 Source MAC도 매우 중요하게 사용합니다.
왜냐하면 이 값을 이용해 어떤 MAC Address가 어느 Port에 연결되어 있는지 학습하기 때문입니다.
9. MAC Address는 무엇인가#
MAC은 Media Access Control의 약자입니다.
일반적인 Ethernet MAC Address는 48bit, 즉 6Byte입니다.
표시는 보통 다음과 같습니다.
00:1A:2B:3C:4D:5E또는 장비에 따라:
001A.2B3C.4D5E처럼 보일 수도 있습니다.
MAC Address는 Ethernet Segment에서 Frame을 전달하는 데 사용되는 Layer 2 Address입니다.
10. MAC Address를 단순히 물리적 주소라고 외우면 부족하다#
MAC Address를 흔히 물리적 주소라고 설명합니다.
입문 단계에서는 이해하기 편한 표현이지만 실제 시스템에서는 조금 더 주의할 필요가 있습니다.
NIC에 제조 단계에서 주소가 할당되는 경우가 많지만 운영체제나 가상화 환경에서는 MAC Address를 변경하거나 별도로 할당할 수도 있습니다.
예를 들어:
- Virtual Machine
- Container Network
- Network Bonding
- 일부 Embedded Device
- Software-defined Network
에서는 MAC Address가 반드시 장비 외부 Label과 일치한다고 볼 수 없습니다.
따라서 정확하게는 Ethernet에서 사용하는 Layer 2 Address라고 이해하는 편이 좋습니다.
11. MAC Address와 IP Address는 무엇이 다른가#
초보자가 가장 많이 혼동하는 부분입니다.
예를 들어 한 Controller가 다음 주소를 가지고 있다고 가정합니다.
MAC
00:11:22:33:44:55
IP
192.168.10.20둘은 같은 주소가 아닙니다.
MAC Address
→ Ethernet Frame 전달에 사용
IP Address
→ IP Network에서 논리적인 목적지를 식별계층으로 보면:
Application
↓
TCP / UDP
↓
IP Address
↓
MAC Address
↓
Ethernet입니다.
12. EtherType은 Frame 안에 무엇이 들어 있는지 알려준다#
Destination MAC과 Source MAC 다음에는 Type을 나타내는 영역이 있습니다.
Ethernet II Frame에서는 대표적으로 EtherType을 사용합니다.
예:
0x0800
→ IPv4
0x0806
→ ARP
0x86DD
→ IPv6즉 EtherType은 수신 장비에게:
Ethernet Payload 안에 어떤 상위 Protocol이 들어 있는가?
를 알려주는 역할을 합니다.
13. Payload에는 실제 상위 데이터가 들어간다#
Ethernet Frame의 Payload 안에는 상위 계층 데이터가 들어갑니다.
IPv4 통신이라면:
Ethernet Frame
┌───────────────────────┐
│ Ethernet Header │
├───────────────────────┤
│ IPv4 Packet │
│ ├─ IP Header │
│ └─ TCP / UDP │
│ └─ Application │
├───────────────────────┤
│ FCS │
└───────────────────────┘와 같이 볼 수 있습니다.
결국 프로그램에서 만든:
{"cmd":"OPEN"}같은 데이터도 여러 계층을 거쳐 Ethernet Payload 안으로 들어갑니다.
14. Frame과 Packet을 구분하자#
현장에서 Frame과 Packet이라는 말을 섞어 사용하는 경우가 많습니다.
엄밀하게 구분하면 일반적으로:
Ethernet
→ Frame
IP
→ Packet
TCP
→ Segment
UDP
→ Datagram이라고 부릅니다.
예를 들어:
Ethernet Frame
└─ IP Packet
└─ TCP Segment
└─ Application Data처럼 하나 안에 다른 계층의 데이터가 들어갑니다.
실무에서는 모두 Packet이라고 부르는 경우도 많지만 장애 분석에서는 어느 계층을 이야기하는지 구분하는 것이 좋습니다.
15. FCS는 무엇인가#
FCS는 Frame Check Sequence의 약자입니다.
Frame이 전송 과정에서 손상됐는지 확인하기 위해 사용됩니다.
Ethernet에서는 CRC 기반의 오류 검출이 사용됩니다.
개념적으로:
송신 측
Frame
↓
CRC 계산
↓
FCS 추가
↓
전송수신 측에서는 다시 계산합니다.
Frame 수신
↓
CRC 계산
↓
수신 FCS와 비교
↓
일치?일치하지 않으면 정상 Frame으로 처리할 수 없습니다.
16. FCS는 오류를 고치는 기능이 아니다#
이 부분이 중요합니다.
FCS는 일반적으로:
오류 발견을 위한 것입니다.
오류 수정을 위한 기능은 아닙니다.
따라서 손상된 Ethernet Frame은 폐기될 수 있습니다.
그 이후의 복구는 상위 Protocol 특성에 따라 달라집니다.
TCP라면 필요한 경우 손실된 데이터의 재전송이 발생할 수 있습니다.
Ethernet Frame 손실
↓
TCP Segment 미도착
↓
TCP 재전송처럼 연결될 수 있습니다.
17. Wireshark에서 FCS가 안 보이는 이유#
초보자가 실제 Capture를 해보고 자주 하는 질문입니다.
Ethernet Frame에 FCS가 있다는데 Wireshark에는 왜 없죠?
정상적인 상황일 수 있습니다.
많은 Ethernet NIC와 운영체제는 FCS를 Hardware에서 확인한 후 Capture 프로그램으로 전달하기 전에 제거합니다.
Wireshark도 일반적인 환경에서는 FCS를 받지 못하는 경우가 많다고 설명합니다. 일부 NIC와 Driver에서는 FCS Capture가 가능할 수 있습니다.
따라서:
Wireshark에 FCS 없음이라고 해서:
Ethernet에서 FCS를 사용하지 않음이라는 뜻은 아닙니다.
18. Switch는 MAC Address를 어떻게 배울까#
Switch에 다음 장비가 연결되어 있다고 가정해보겠습니다.
Port 1 → Server
Port 2 → Camera
Port 3 → ControllerController가 Frame을 보냅니다.
Source MAC
AA:AA:AA:AA:AA:01Switch는 Frame이 Port 3으로 들어왔다는 것을 알고 있습니다.
따라서 내부 MAC Address Table에 다음과 같이 기록할 수 있습니다.
AA:AA:AA:AA:AA:01
→ Port 3즉 Switch는 들어온 Frame의 Source MAC을 보고 MAC의 위치를 학습합니다.
19. MAC Address Table은 무엇인가#
Switch 내부에는 다음과 비슷한 정보가 유지됩니다.
| MAC Address | VLAN | Port |
|---|---|---|
| AA:AA:AA:AA:AA:01 | 10 | Gi1/0/3 |
| BB:BB:BB:BB:BB:01 | 10 | Gi1/0/7 |
| CC:CC:CC:CC:CC:01 | 20 | Gi1/0/12 |
이를 장비에 따라:
- MAC Address Table
- Forwarding Table
- CAM Table
등으로 부릅니다.
Switch는 Destination MAC을 이 Table과 비교해서 어느 Port로 Frame을 보낼지 판단합니다.
20. Switch가 목적지 MAC을 알고 있다면#
예를 들어 다음 정보가 있다고 하겠습니다.
Destination MAC
BB:BB:BB:BB:BB:01MAC Table:
BB:BB:BB:BB:BB:01
→ Port 7Switch는 해당 Frame을 필요한 Port 방향으로 전달할 수 있습니다.
Port 3
↓
Switch
↓
Port 7이것이 Switch가 Hub와 다른 중요한 이유 중 하나입니다.
21. Switch가 목적지 MAC을 모르면 어떻게 될까#
MAC Address Table에 Destination MAC이 없다고 가정해보겠습니다.
Destination
DD:DD:DD:DD:DD:01
MAC Table
→ 없음이 경우 Switch는 해당 VLAN의 Forwarding 대상 Port들로 Frame을 Flooding합니다.
이를 Unknown Unicast Flooding이라고 합니다. 수신 Port 자체는 제외됩니다.
┌→ Port 2
Frame → Switch ─→ Port 3
└→ Port 4목적지 장치가 응답하여 Source MAC이 관찰되면 Switch는 해당 MAC의 위치를 학습할 수 있습니다.
22. Unknown Unicast와 Broadcast는 다르다#
이 부분은 정확히 구분해야 합니다.
Destination MAC이 특정 장치 MAC인데 Switch Table에 없는 경우:
Unknown Unicast입니다.
반면 Destination MAC 자체가:
FF:FF:FF:FF:FF:FF라면 Broadcast입니다.
둘 다 여러 Port로 전달될 수 있기 때문에 겉으로 비슷해 보이지만 Frame의 목적과 Destination MAC 자체가 다릅니다.
따라서:
목적지를 모르면 Broadcast로 바꿔서 보낸다.
라고 이해하면 안 됩니다.
원래 Unicast Frame 그대로 Flooding하는 것입니다.
23. Broadcast MAC Address#
Ethernet Broadcast Address는 다음과 같습니다.
FF:FF:FF:FF:FF:FF이 Destination MAC을 가진 Frame은 같은 Broadcast Domain 안의 여러 장비가 받을 수 있습니다.
대표적인 사용 사례 중 하나가 ARP Request입니다.
누가 192.168.10.20을 가지고 있습니까?라는 질문을 같은 LAN에 전달할 때 Broadcast를 사용합니다.
24. ARP가 필요한 이유#
Server가 다음 IP를 가진 Controller에 데이터를 보내려고 한다고 가정하겠습니다.
Server
192.168.10.10
Controller
192.168.10.20Application은 Controller의 IP Address를 알고 있습니다.
하지만 Ethernet Frame을 만들려면 Destination MAC도 필요합니다.
Destination IP
192.168.10.20
↓
Destination MAC
?이때 IPv4 환경에서 ARP가 사용됩니다.
ARP는 IP Address를 해당 Link에서 사용할 MAC Address와 연결하는 역할을 합니다.
25. ARP와 Switch MAC Table은 전혀 다른 역할이다#
둘을 혼동하기 쉽습니다.
ARP Table은 대략 다음 관계입니다.
IP Address
↓
MAC Address예:
192.168.10.20
→ AA:BB:CC:DD:EE:FFSwitch MAC Table은:
MAC Address
↓
Switch Port입니다.
예:
AA:BB:CC:DD:EE:FF
→ Port 7따라서 전체적으로 보면:
IP Address
↓
ARP
↓
MAC Address
↓
Switch MAC Table
↓
Port가 됩니다.
이 구조를 이해하면 IP, ARP, MAC, Switch의 역할을 한 번에 연결할 수 있습니다.
26. 다른 Network로 데이터를 보낼 때 MAC은 어떻게 될까#
Server가 같은 Subnet이 아닌 외부 Network의 장비와 통신한다고 가정해보겠습니다.
예:
Server
192.168.10.10
목적지
10.20.30.40Server가 Ethernet Frame의 Destination MAC에 원격 장비의 MAC을 직접 넣는 것은 일반적인 Routed Network의 동작이 아닙니다.
Server는 다음 Hop인 Default Gateway로 Frame을 보냅니다.
IP 목적지
10.20.30.40
Ethernet 목적지 MAC
Default Gateway MACRouter를 지날 때마다 Ethernet Frame의 Layer 2 Header는 해당 Link에 맞게 새로 만들어질 수 있습니다.
반면 IP Packet의 목적지는 계속 원격 장비를 가리킵니다.
27. MAC Address는 Router를 넘어 그대로 전달되지 않는다#
이 점이 MAC과 IP의 중요한 차이입니다.
예를 들어:
PC
↓
Switch
↓
Router
↓
Switch
↓
Server구조가 있다면 첫 번째 LAN에서 사용되는 Destination MAC은 Router Interface의 MAC일 수 있습니다.
Router가 Packet을 다른 Network로 전달하면 다음 Ethernet 구간에서는 새로운 MAC Header를 사용합니다.
즉:
MAC Address
→ Local Link 중심
IP Address
→ Routed Network의 논리적 주소라는 차이가 있습니다.
28. VLAN이 있으면 MAC Table도 VLAN과 함께 봐야 한다#
현대 Switch에서는 MAC Address만 보는 것으로 충분하지 않은 경우가 많습니다.
VLAN이 있기 때문입니다.
예를 들어 같은 MAC Table에도:
VLAN 10
AA:AA:AA:AA:AA:01
→ Port 3
VLAN 20
BB:BB:BB:BB:BB:01
→ Port 8처럼 관리될 수 있습니다.
Cisco도 Layer 2 Forwarding Table에서 Destination MAC과 VLAN을 함께 사용해 Forwarding Port를 결정하는 방식을 설명합니다.
따라서 장비의 MAC이 정상적으로 보여도 잘못된 VLAN에 있다면 서로 통신하지 못할 수 있습니다.
29. VLAN Tag가 붙으면 Ethernet Frame도 달라진다#
IEEE 802.1Q VLAN을 사용하면 Ethernet Frame에 4Byte VLAN Tag가 추가될 수 있습니다.
개념적으로:
Destination MAC
↓
Source MAC
↓
802.1Q Tag
↓
EtherType
↓
Payload
↓
FCSVLAN Tag에는 VLAN Identifier와 우선순위 등에 필요한 정보가 포함됩니다.
따라서 Packet Capture에서:
802.1Q Virtual LAN같은 항목을 볼 수도 있습니다.
30. 실제 주차관제 시스템에 적용해보자#
다음과 같은 시스템을 가정해보겠습니다.
LPR Camera
│
│
↓
Switch
│
├── Parking Server
│
└── Gate Controller각 장비에는 MAC Address가 있습니다.
예:
LPR Camera
00:10:20:30:40:01
Parking Server
00:10:20:30:40:02
Gate Controller
00:10:20:30:40:03Camera가 Server로 차량정보를 전송하면 Ethernet Network에서는 Frame이 만들어집니다.
Destination MAC
00:10:20:30:40:02
Source MAC
00:10:20:30:40:01
EtherType
IPv4
Payload
IP PacketSwitch는 Destination MAC을 보고 Server가 연결된 Port 방향으로 전달합니다.
31. JSON이 Ethernet Frame에 들어가는 과정#
Camera가 다음 데이터를 보낸다고 해보겠습니다.
{
"plate": "12가3456",
"lane": "01"
}TCP 기반 API를 사용한다면 개념적으로 다음처럼 포장될 수 있습니다.
JSON
↓
HTTP
↓
TCP
↓
IP
↓
Ethernet
↓
전기 또는 광 Signal수신 측에서는 반대 과정이 진행됩니다.
Signal
↓
Ethernet
↓
IP
↓
TCP
↓
HTTP
↓
JSON따라서 개발자가 보는 JSON과 Network Engineer가 보는 Ethernet Frame은 서로 다른 데이터가 아니라 같은 데이터의 서로 다른 계층 표현입니다.
32. tcpdump로 MAC Address를 확인해보자#
Linux에서는 tcpdump의 -e 옵션을 이용해 Link Layer Header 정보를 확인할 수 있습니다.
예:
tcpdump -e -i eth0출력은 환경에 따라 다음과 비슷하게 나타날 수 있습니다.
aa:bb:cc:dd:ee:ff > 11:22:33:44:55:66,
ethertype IPv4 (0x0800)이를 해석하면:
Source MAC
aa:bb:cc:dd:ee:ff
Destination MAC
11:22:33:44:55:66
EtherType
IPv4입니다.
이 한 줄만으로도 Ethernet Frame의 핵심 정보를 확인할 수 있습니다.
33. Wireshark에서는 어디를 보면 될까#
Wireshark에서 Ethernet Frame을 선택하면 일반적으로 다음과 같은 정보를 볼 수 있습니다.
Ethernet II
Destination
Source
Type그 아래에는:
Internet Protocol Version 4
Transmission Control Protocol
Application Data등이 계층적으로 표시될 수 있습니다.
이 구조를 그대로 읽으면 됩니다.
Ethernet
↓
IP
↓
TCP
↓
ApplicationWireshark는 Protocol 계층 구조를 시각적으로 공부하기에도 매우 좋은 도구입니다.
34. 현장에서 장비가 연결되지 않을 때 MAC을 어떻게 활용할까#
예를 들어 Controller가 Network에 연결되지 않는다고 가정해보겠습니다.
먼저 Switch에서 MAC Table을 확인할 수 있습니다.
Vendor에 따라 명령은 다르지만 개념적으로:
show mac address-table같은 명령을 사용할 수 있습니다.
Controller의 MAC이 특정 Port에 보인다면:
Controller MAC
AA:BB:CC:DD:EE:FF
→ Gi1/0/12최소한 해당 Port를 통해 Source Frame이 관찰되고 있다는 중요한 단서를 얻을 수 있습니다.
35. MAC Table에 장비가 없다면 무엇을 확인할까#
다음 순서로 범위를 좁혀볼 수 있습니다.
장비 전원
↓
Ethernet Link
↓
Cable
↓
Switch Port 상태
↓
VLAN
↓
장비가 실제 Frame을 송신하는가MAC Table에 없다고 바로 IP Address 문제라고 판단하면 안 됩니다.
Switch의 MAC 학습은 Layer 2에서 이루어지기 때문입니다.
36. MAC이 보여도 통신이 안 될 수 있다#
반대로 Switch MAC Table에 장비가 정상적으로 보인다고 해서 모든 통신이 정상이라는 뜻도 아닙니다.
예를 들어:
MAC 학습 정상
↓
Ethernet Layer 정상 가능성 증가하지만:
IP Address 오류
Subnet Mask 오류
Gateway 오류
VLAN 문제
Firewall
TCP Port
Application문제는 여전히 존재할 수 있습니다.
즉 MAC Table은 진단의 하나의 증거이지 전체 정상 여부를 보장하지 않습니다.
37. MAC Address가 갑자기 다른 Port에서 보인다면#
같은 MAC Address가 예상하지 못한 Port에서 계속 이동한다면 확인이 필요합니다.
예:
10:00
AA:BB:CC:DD:EE:FF
→ Port 10
10:01
AA:BB:CC:DD:EE:FF
→ Port 24
10:02
AA:BB:CC:DD:EE:FF
→ Port 10이런 현상은 환경에 따라:
- 잘못된 배선
- Network Loop
- Virtualization
- Redundancy 구성
- MAC 중복
- 장비 구성 문제
등과 관련될 수 있습니다.
단순히:
MAC이 바뀌었다.
와
같은 MAC이 다른 Port에서 학습된다.
는 완전히 다른 현상이므로 구분해야 합니다.
38. NAT와 MAC Address를 혼동하지 않는다#
NAT는 일반적으로 IP Address와 Port를 변환하는 Layer 3 이상의 기능입니다.
따라서 장비 Label의 MAC Address와 Captured Source MAC이 다르다고 해서 곧바로:
NAT 때문에 MAC이 바뀌었다라고 판단하는 것은 적절하지 않습니다.
Router를 거쳤다면 Ethernet Header가 다음 Link에 맞게 새로 만들어지기 때문에 MAC Address가 달라지는 것이 자연스럽습니다.
즉 MAC 변화는 Layer 2 Link가 어디인가를 기준으로 분석해야 합니다.
39. FCS Error가 증가한다면 물리 계층도 확인한다#
Switch Port에서 다음과 같은 Counter가 증가한다고 가정해보겠습니다.
CRC / FCS Error
0
3
21
87이 경우 Ethernet Frame 자체의 손상이 감지되고 있다는 중요한 단서입니다.
확인할 항목은:
Cable
Connector
Port
NIC
EMI
Speed / Duplex등입니다.
단순히 Application을 재시작하는 것으로 끝내기보다 물리 Link의 상태를 먼저 확인해야 합니다.
40. Broadcast가 많다고 모두 장애는 아니다#
LAN에는 정상적인 Broadcast Traffic도 존재합니다.
대표적으로 IPv4 ARP Request가 있습니다.
문제는 비정상적으로 많은 Broadcast 또는 Unknown Unicast Flooding이 발생하는 경우입니다.
이때는:
- Loop
- 잘못된 Network 구성
- 비정상 장비
- MAC Table 문제
- 대량 Discovery Traffic
등을 확인할 수 있습니다.
따라서 단순히:
Broadcast 발견
→ 장애라고 판단해서는 안 됩니다.
Traffic의 양과 발생 원인을 함께 봐야 합니다.
41. MAC Address만으로 보안하면 안 된다#
MAC Address는 Network Access Control에 참고 정보로 사용할 수 있습니다.
하지만 MAC Address는 Software적으로 변경될 수 있기 때문에 강력한 신원 확인 수단으로 보기 어렵습니다.
따라서 중요 Network에서는 환경에 따라 다음과 같은 보안 기술을 함께 검토할 수 있습니다.
802.1X
Network Access Control
Port Security
VLAN 분리
Device Authentication
Firewall즉:
허용 MAC인가?만으로 모든 장비 인증을 끝내는 것은 충분하지 않을 수 있습니다.
42. Frame 장애를 분석하는 기본 순서#
Ethernet 장비가 통신되지 않는다면 다음 흐름으로 확인할 수 있습니다.
1. 장비 전원
↓
2. Link 상태
↓
3. Cable / Connector
↓
4. Switch Port
↓
5. Speed / Duplex
↓
6. VLAN
↓
7. MAC Address Table
↓
8. ARP Table
↓
9. IP Address / Subnet
↓
10. Routing
↓
11. TCP / UDP
↓
12. Application이 흐름을 기억하면:
Ping이 안 됩니다.
라는 한 문장만 가지고 Network 전체를 무작정 점검하는 일을 줄일 수 있습니다.
43. Ethernet·MAC·ARP·IP의 관계를 한 번에 정리하기#
다음 흐름을 이해하는 것이 이번 글에서 가장 중요합니다.
Server가 다음 장비에 데이터를 보내려고 합니다.
192.168.10.20먼저 IP Address를 가지고 있습니다.
IP
192.168.10.20같은 Local Network라면 ARP를 이용해 MAC Address를 확인합니다.
ARP
192.168.10.20
↓
AA:BB:CC:DD:EE:FF그다음 Ethernet Frame을 만듭니다.
Destination MAC
AA:BB:CC:DD:EE:FFSwitch는 자신의 MAC Table을 봅니다.
AA:BB:CC:DD:EE:FF
↓
Port 7그리고 Frame을 전달합니다.
전체를 연결하면:
Destination IP
↓
ARP
↓
Destination MAC
↓
Ethernet Frame
↓
Switch MAC Table
↓
Switch Port
↓
목적지 장비이 구조가 Ethernet LAN 통신의 핵심입니다. ARP는 IPv4 Address를 MAC Address와 연결하고, Switch의 Layer 2 Table은 Destination MAC과 VLAN을 이용해 실제 Forwarding Port를 결정합니다.
44. 핵심 용어 한눈에 정리하기#
| 용어 | 핵심 역할 |
|---|---|
| Ethernet | LAN에서 사용하는 대표적인 유선 Network 기술 |
| Frame | Ethernet에서 전달되는 데이터 단위 |
| Destination MAC | Frame을 받을 목적지 |
| Source MAC | Frame을 보낸 출발지 |
| EtherType | Payload의 상위 Protocol 종류 |
| Payload | 실제 상위 계층 데이터 |
| FCS | Frame 손상 여부 검사 |
| MAC Table | MAC이 어느 Switch Port에 있는지 기록 |
| ARP | IPv4 Address를 MAC Address와 연결 |
| Flooding | 목적지 위치를 모를 때 여러 Port로 Frame 전달 |
45. 자기 점검#
Q1. Ethernet Frame에서 Destination MAC은 무엇을 의미하는가?#
현재 Ethernet Link에서 Frame을 전달할 목적지 MAC Address입니다. Switch는 이 값을 이용해 Forwarding Port를 결정합니다.
Q2. Source MAC은 Switch에서 어떤 역할을 하는가?#
Switch는 들어온 Frame의 Source MAC과 수신 Port를 보고 해당 MAC의 위치를 학습할 수 있습니다.
Q3. Switch가 Destination MAC을 모르면 Broadcast Frame으로 바꾸는가?#
아닙니다. 원래 Unicast Frame을 해당 VLAN의 여러 Forwarding Port로 Flooding합니다. 이를 Unknown Unicast Flooding이라고 합니다.
Q4. ARP Table과 Switch MAC Table은 같은 것인가?#
아닙니다. ARP는 IP → MAC 관계를 저장하고 Switch MAC Table은 MAC → Port 관계를 관리합니다.
Q5. Wireshark에 Ethernet FCS가 없으면 Frame에 FCS가 없는 것인가?#
아닙니다. 많은 NIC와 Driver가 FCS를 Hardware에서 처리한 후 Capture Software에 넘기지 않기 때문에 Wireshark에서 보이지 않는 경우가 흔합니다.
46. Ethernet Frame을 이해할 때 반드시 기억할 것#
첫째, Ethernet은 IP보다 아래에서 동작합니다.
IP Packet
↓
Ethernet Frame둘째, MAC Address와 IP Address는 역할이 다릅니다.
MAC
→ 현재 Link에서 Frame 전달
IP
→ Network 사이에서 논리적 목적지 식별셋째, ARP와 Switch의 MAC 학습도 서로 다릅니다.
ARP
IP → MAC
Switch
MAC → Port넷째, Unknown Unicast와 Broadcast는 같은 것이 아닙니다.
다섯째, FCS Error는 상위 Protocol보다 아래쪽의 물리적인 문제를 추적할 중요한 단서가 될 수 있습니다.
47. 이 글을 마치며#
Ethernet을 처음 공부하면 MAC Address, IP Address, ARP, Switch가 각각 별개의 개념처럼 보입니다.
하지만 실제 통신에서는 모두 하나의 흐름으로 이어집니다.
Application이 데이터를 만든다
↓
TCP / UDP가 처리한다
↓
IP Packet이 만들어진다
↓
Local Link에 필요한 MAC을 결정한다
↓
Ethernet Frame이 만들어진다
↓
Switch가 Destination MAC을 확인한다
↓
적절한 Port로 전달한다
↓
목적지 NIC가 Frame을 수신한다현장에서 장비가 연결 안 됨으로 표시된다면 처음부터 서버 프로그램만 볼 필요는 없습니다.
다음처럼 단계별로 확인할 수 있습니다.
Link가 올라왔는가
↓
Switch가 MAC을 학습했는가
↓
올바른 VLAN인가
↓
ARP가 정상인가
↓
IP 설정이 정상인가
↓
TCP / UDP가 정상인가
↓
Application이 정상인가이 흐름을 이해하면 단순한:
Ping이 안 된다.
장비가 Offline이다.
서버와 연결되지 않는다.라는 증상을 훨씬 구체적으로 나눌 수 있습니다.
Ethernet Frame은 단순한 Header 구조를 외우기 위한 개념이 아닙니다.
MAC Address가 어디에서 사용되고, Switch가 Frame을 어떻게 전달하며, 그 위에 IP와 TCP가 어떻게 올라가는지를 이해하기 위한 출발점입니다.
이 기본 구조가 잡히면 이후의 Switch, ARP, IP Address, Subnet Mask, Gateway, VLAN, Routing도 하나의 연결된 흐름으로 이해할 수 있습니다.