모두의 네트워크 - 데이터 링크 계층 (1) 데이터 링크 계층 역할과 이더넷
포스팅은 모두의 네트워크에 기반하여 작성되었습니다.
목차
1. 이더넷이란?
2. MAC 주소의 구조
이더넷이란?
랜에서 데이터를 주고받으려면 데이터 링크 계층의 기술이 필요합니다. 데이터 링크 계층은 네트워크 장비(허브, 스위치, 라우터 등) 간에 신호를 주고받는 규칙을 정하는 계층입니다. 가장 많이 사용하는 규칙이 이더넷입니다.
허브를 사용하는 경우 랜 환경에서 특정한 컴퓨터 한대에 데이터를 보내려고 해도 허브에 연결된 모든 포트에 전기 신호가 전달됩니다. 이런 경우를 위해 데이터의 내용을 못 보게 하는 확실한 규칙이 정해져있다. 이더넷은 이 규칙을 명시하는 것 같다.
데이터에 목적지 정보를 추가(MAC 주소)해서 보내는 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어 있습니다.
허브는 들어온 데이터를 그대로 모든 포트에 보냅니다. 이로 인해 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 부딪히는 충돌이 발생할 수 있습니다. 이로 인해 사고가 발생할 수 있습니다. 그래서 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있습니다.
위 그림처럼 동시에 케이블을 지나가면 충돌할 수 밖에 없다. 그래서 이더넷은 CSMA/CD 규칙을 통해 데이터를 보내는 시점을 늦추고 충돌을 방지합니다.
CSMA/CD란 Carrier Sense Multiple Access with Collision Detection 의 약어입니다.
CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지 확인하는 규칙
MA : 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙
CD: 충돌이 발생하고 있는지를 확인하는 규칙
위 규칙을 준수할 경우 충돌이 발생하지 않습니다.
하지만 현재는 효율이 좋지 않아 CSMA/CD 규칙을 거의 사용하지 않는다고 합니다. 허브 대신 스위치라는 네트워크 장비를 사용하여 충돌을 방지합니다.
MAC 주소의 구조
랜 카드를 제조할 때 정해지는 물리적인 주소에 대해서 알아보겠습니다. 랜 카드가 비트열을 전기 신호로 변환하기 때문에 물리 계층에서 데이터를 전송할 수 있다고 했었는데요. 이러한 랜 카드에는 MAC 주소라는 번호가 정해져 있습니다. 제조할 때 새겨지기 때문에 물리 주소라고도 부릅니다. 전 세계에서 유일한 번호로 할당된다는 특징이 있습니다.
MAC 주소는 48비트 숫자(16진수)로 구성되어 있다. 앞쪽 24비트는 제조사 번호, 뒤쪽 24비트는 랜 카드에 붙인 일련번호입니다.
{00 - 23 - AE} - {D9 - 7A - 9A}
랜 카드 제조사 번호 | 제조사가 붙인 일련번호
한편, OSI 레이어 데이터 링크 계층, TCP/IP 스택의 네트워크 계층에서는 이더넷 헤더와 트레일러를 붙입니다.
이더넷 헤더는 목적지 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) 이렇게 총 14바이트로 구성되어 있습니다.
여기서 말하는 유형(ethernet type)은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타냅니다. 이더넷 유형에 들어가는 프로토콜의 종류로는 OSI 레이어 기준 네트워크 레이어에 속하는 IPv4, IPv6, ARP 등이 포함되어 있습니다.
데이터 링크 계층에서는 이더넷 헤더 외에도 트레일러를 붙입니다. FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용합니다. 데이터 링크 계층에서 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 합니다. 이 과정을 캡슐화라고 부릅니다.