OSI 모델의 두 번째 계층인 데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층입니다. 그 규칙들 중 일반적으로 가장 많이 사용되는 규칙이 이더넷(Eternet)입니다.
이더넷은 컴퓨터 네트워크 기술 중 하나로 전 세계의 사무실이나 가정에서 일반적으로 사용되는 랜에서 가장 많이 활용되는 기술 규격입니다. 이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용합니다. 만약 이더넷을 사용하지 않는 허브에 연결된 컴퓨터에서 여러 대가 동시에 데이터를 보내면 데이터들이 서로 충돌(collision)할 수도 있습니다. 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어있는데 데이터를 보내는 시점을 늦추거나 하는 방식을 이용합니다. 이러한 방법은 CSMA/CD라고 합니다.
CSMA/CD에서 CS는 '데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다'라는 규칙입니다. 그리고 MA는 '케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다'라는 규칙입니다. 마지막으로 CD는 '충돌이 발생하고 있는지를 확인한다'라는 규칙입니다. 이러한 규칙으로 데이터를 주고받으면 충돌이 일어나지 않는데 지금은 효율이 좋지 않다는 이유로 CSMA/CD를 거의 사용하지 않고 스위치(switch)라는 장비를 사용합니다.
랜 카드는 비트열(0과 1)을 전기 신호로 변환하는 역할을 수행하는데 이러한 랜 카드에는 MAC 주소라고 번호가 정해져 있습니다. 제조할 때 새겨지기 때문에 물리 주소라고도 부르는데 전 세계에서 유일한 번호로 할당됩니다. 즉, 랜에서 사용되는 네트워크 모델인 이더넷의 물리적인 주소로 컴퓨터 네트워크에서 각각의 기기를 구분하기 위해 사용하는 주소입니다. MAC 주소는 48비트 숫자로 구성되어 있는데, 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호입니다.
이러한 MAC 주소는 헤더에서 사용됩니다. OSI 모델의 데이터 링크 계층이나 TCP/IP 모델의 네트워크 계층에서 이더넷 헤더와 트레일러를 붙입니다. 이더넷 헤더는 목적지의 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트) 이렇게 총 14바이트로 구성됩니다.
이더넷 유형은(Eternet type)은 이더넷으로 전송되는 상위 계층 프로토콜의 종류를 나타냅니다. 아래의 표에 나와있는 프로토콜을 식별하는 16진수 번호가 들어갑니다.
유형 번호 | 프로토콜 |
---|---|
0800 | IPv4 |
0806 | ARP |
8035 | RARP |
814C | SNMP over Eternet |
86DD | IPv6 |
데이터 뒤에 추가되는 트레일러는 FCS(Frame Check Sequence)라고 하는데, 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용합니다.
이렇게 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 합니다. 네트워크를 통해 프레임이 전송되는 구조입니다.
그림과 같이 컴퓨터 1에서 컴퓨터 2로 데이터를 전송해 본다고 가정하겠습니다. 컴퓨터 1은 이더넷 헤더에 데이터의 목적지인 컴퓨터 2의 MAC 주소(목적지 MAC 주소)와 자신의 MAC 주소(출발지 MAC 주소) 정보를 넣고 데이터를 전송합니다.
컴퓨터 1에서는 캡슐화가 일어나는데 데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고, 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송하는 것입니다.
허브는 컴퓨터 1이 보낸 데이터를 수신하고 해당 포트를 제외한 나머지 포트에 전송합니다. 그러면 데이터가 컴퓨터 2~4에 전송되지만 컴퓨터 3,4는 목적지 MAC 주소가 자신의 MAC 주소와 다르기에 데이터를 파기합니다. 반면 컴퓨터 2는 자신의 MAC 주소와 데이터의 목적지 MAC 주소가 같기에 데이터를 수신합니다. 그러면 컴퓨터 2에서는 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리합니다.
위 그림은 스위치(switch) 스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치 또는 스위칭 허브라고 불립니다. 스위치는 랜을 구성할 때 사용하는 단말기 간 스위칭 기능이 있는 통신망 중계 장치입니다. 스위치 내부에는 MAC 주소 테이블(MAC address table)이라는 것이 있습니다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터 베이스입니다.
전이중 통신 방식: 데이터의 송수신을 동시에 통신하는 방식
반이중 통신 방식: 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식
허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어난다고 위에서 설명하였습니다. 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인(collision domain)이라고 합니다. 허브는 충돌이 발생할 때 아래의 그림과 같이 연결 되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 됩니다.
스위치는 데이터를 동시에 송수신할 수 있는 전이중 통신 방식이기 때문에 충돌이 일어나지 않고 충돌 도메인의 범위도 아래와 같이 좁습니다.
충돌 도메인의 범위가 넓을수록 네트워크가 지연되기 때문에 네트워크를 지연시키지 않기 위해서라도 충돌 도메인의 범위를 좁히는 것이 매우 중요합니다.
참조
모두의 네트워크