A. 2 계층 개요
1. 2 계층의 정의
Data Link Layer라고도 불리는 2 계층에서는 프레임이란 단위로 데이터를 쪼갭니다. 프레임은 비트로 인코딩되어 물리적 회선에 배치될 준비를 합니다.사용 중인프로토콜에 따라 물리층에 대한 오류 감지 및 수정이 여기에서 제공될 수 있습니다. 2 계층은 Mac 주소체계를 사용하는데 논리적 주소가 아니며 48bit로 구성됩니다.
2. MAC 주소
이더넷은 이더넷 인터페이스 간에 데이터를 전송하므로, 데이터를 전송하려면 이더넷 인터페이스를 특정해야만 합니다. 이더넷 인터페이스를 특정하기 위해서 MAC 주소가 있습니다.
MAC 주소란 이더넷 인터페이스를 특정하기 위한 48비트 주소입니다. MAC 주소의 48비트 중 선두 24비트는 OUI, 그 뒤 24비트는 시리얼 넘버로 구성됩니다. OUI는 이더넷 인터페이스를 제조하는 벤더(메이커) 식별 코드입니다.
시리얼 넘버는 각 벤더가 할당합니다. MAC 주소는 이더넷 인터페이스에 미리 할당되어 있어, 기본적으로 변경할 수 없는 주소이므로 '물리 주소'나 '하드웨어 주소'라고 부르는 경우도 있습니다.
하기와 같은 사이트에서 OUI 번호를 검색하면 제조사 정보를 얻을 수 있습니다. (구글에서 Mac address vender라고 검색하면 비슷한 사이트를 찾을 수 있습니다.)
B. 이더넷 프로토콜 개요
1. 이더넷 프로토콜이란?
OSI 7 Layer에서 명시했듯이 2 계층은 오류제어(데이터에 오류가 있는지 확인) 및 흐름제어(누가 누구에게 데이터를 보내는지 확인)를 한다고 했습니다. 이더넷도 2 계층 프로토콜이기에 해당의 역할을 하고 있습니다. 또한, 2 계층은 같은 주소의 LAN 대역에서만 통신가능합니다. 다른 주소 대역과 통신 시 반드시 “라우터”라고 불리는 기기(3 계층)의 도움을 받아야 합니다.
2. Ethernet Protocol Header의 구조
Ethernet Header는 다음과 같이 구성되어 있습니다.
- 8byte의 Preamble(Preamble과 Start Frame Delimiter는 구별하지 않아도 됩니다.)
- 6byte의 Destination Address
- 6byte의 Source Address
- 2byte의 Ethernet Type
- 2byte의 Paylord(Data)
이중 실질적으로 중요한 것은 6byte의 Destination Address, 6byte의 Source Address, 2byte의 Ethernet Type, 3가지입니다. Ethernet Type은 페이로드(상위계층)가 어떤 형태의 데이터인지 알려줍니다. (와이어 샤크에서 확인 시 코드 08 00 = IPv4 / 08 06 = 6 arp)
상기의 사진은 Wire Shark를 통해 Ethernet을 캡처한 사진입니다. 앞서 말했듯 처음 6바이트는 목적지 MAC주소입니다. 사진 기준으로 목적지 MAC 주소는 E8:03:9A:68:C0:23입니다. 다음 6바이트는 출발지 MAC주소입니다. 사진 기준으로 출발지 MAC 주소는 E8:11:32:34:DE:1 입니다. 다음 2바이트는 이더넷 타입 즉 상위 계층의 타입입니다. 08 00으로 캡처된 것을 확인할 수 있습니다. 즉 상위계층의 프로토콜 타입은 IPv4입니다.
[용어/개념] Network - OSI 7 Layer 기본
[용어/개념] Network - Packet 구조 / 캡슐레이션(Capsulation)