Ethernet Frame과 MAC Address 이해하기

Ethernet Frame과 MAC Address 이해하기#

1. LAN 케이블을 연결하면 데이터는 어떻게 이동할까#

두 장비를 Ethernet Cable로 연결했다고 생각해보겠습니다.

주차관제 서버
      │
      │ Ethernet
      ↓
    Switch
      │
      ↓
Gate Controller

Cable의 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 Packet

Ethernet은 여기에 필요한 정보를 앞뒤에 붙입니다.

┌──────────────────────────────┐
│ 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:ff

Frame을 간단하게 나타내면:

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 → Controller

Controller가 Frame을 보냅니다.

Source MAC
AA:AA:AA:AA:AA:01

Switch는 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:01

MAC Table:

BB:BB:BB:BB:BB:01
→ Port 7

Switch는 해당 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.20

Application은 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:FF

Switch 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.40

Server가 Ethernet Frame의 Destination MAC에 원격 장비의 MAC을 직접 넣는 것은 일반적인 Routed Network의 동작이 아닙니다.

Server는 다음 Hop인 Default Gateway로 Frame을 보냅니다.

IP 목적지
10.20.30.40

Ethernet 목적지 MAC
Default Gateway MAC

Router를 지날 때마다 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
↓
FCS

VLAN 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:03

Camera가 Server로 차량정보를 전송하면 Ethernet Network에서는 Frame이 만들어집니다.

Destination MAC
00:10:20:30:40:02

Source MAC
00:10:20:30:40:01

EtherType
IPv4

Payload
IP Packet

Switch는 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
↓
Application

Wireshark는 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:FF

Switch는 자신의 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도 하나의 연결된 흐름으로 이해할 수 있습니다.

이 페이지의 목차