Data Link Layer | 데이터 링크 계층

데이터 링크 계층의 역활과 이더넷

이더넷이란?

랜에서 데이터를 주고 받으려면 데이터 링크 계층의 기술이 필요하다.

데이터 링크 계층은 네트워크 장비 간에 신호를 주고받는 규칙을 정하는 계층으로, 랜에서 데이터를 정상적으로 주고받기 위해 필요한 계층이다.

그 규칙들 중 일반적으로 가장 많이 사용되는 규칙이 이더넷이다.

이더넷은 랜에서 적용되는 규칙이다.

이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용한다.

허브를 사용하는 랜 환경에서는 특정한 컴퓨터 한 대에 데이터를 보내려고 해도 다른 모든 컴퓨터에 전기 신호가 전달된다.

보내려는 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어 있다.

컴퓨터가 여러 대가 동시에 데이터를 보내려면 데이터들이 서로 충돌날수 있다.

그래서 이더넷은 여러 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있다.

데이터가 동시에 케이블을 지나가면 충돌할수 밖에 없어서 데이터를 보내는 시점을 늦추는 것이다.

이처럼 이더넷에서 시점을 늦추는 방법을 CSMA/CD(Carrier Sense Multiple Access with Collision Detection) 라고 한다.

CS는 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르는지 확인하는 규칙이다.

MA는 케이블에 테이터가 흐르지 않는 다면 데이터를 보내도 좋다는 규칙이다

CD는 충돌이 발생하고 있는지 확인한다는 규칙이다.

하지만 효율이 좋지 않아서 CSMA/CD를 사용하지 않는다.

스위치라는 네트워크 장비를 사용하면 충돌이 일어나지 않는다.

MAC 주소의 구조

MAC 주소란?

랜 카드는 비트열을 전기 신호로 변환하는데 이러한 랜카드에는 MAC주소라는 번호가 정해져 있다.

제조할때 새겨지기 떄문에 물리 주소라고 불리는데 전 세계에서 유일한 번호로 할당되어 있다.

MAC 주소는 48비트 숫자로 구성되어 있다 앞쪽 24비트는 랜 카드를 만든 제조사 번호고 뒤쪽 24비트는 제조사가 랜 카드에 붙인 일련번호이다.

OSI 모델에서는 데이터 링크 계층에 해당하고 TCP/IP 모델에서는 네트워크 계층에 해당하는데 이 계층에서 이더넷 헤더와 트레일러를 붙인다.

이더넷 헤더는 목적지의 MAC 주소 6바이트, 출발지 MAC 주소 6바이트 유형 2바이트 이렇게 총 14 바이트로 구성되어 있다.

이더넷 유형은 이더넷으로 전송되는 상위 계층 프로토콜의 종류(IPv4,ARP,RARP,SNMP over Ethernet, IPv6)를 나타낸 것이다.

유형에 프로토콜을 식별하는 번호가 들어간다만 알면 된다.

트레일러는 FCS(Frame Check Sequence)라고도 하는데 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다.

이처럼 이더넷 헤더와 트레일러가 추가된 데이터를 프레임이라고 한다.

컴퓨터1에서 3으로 데이터를 전송할때

컴퓨터1 은 이더넷 헤더에 데이터의 목적지인 컴퓨터3의 MAC 주소와 자신의 MAC 주소 정보를 넣고 데이터를 전송한다.

데이터 링크 계층에서 데이터에 이더넷 헤더와 트레일러를 추가하여 프레임으로 만들고 물리 계층에서 이 프레임 비트열을 전기 신호로 변환하여 네트워크를 통해 전송하는 것이다.

허브는 컴퓨터1 이 보낸 데이터를 1번 포트로 수신하고 2~5번의 모든 포트로 전송한다.

그러면 데이터는 컴퓨터2~5에 전송되지만 컴퓨터2,4,5은 목적지 MAC 주소가 자신의 MAC 주소와 다르기 떄문에 데이터를 파기한다.

반면 컴퓨터3은 자신의 MAC 주소가 컴퓨터1이 보낸 데이터의 목적지 MAC 주소와 같으므로 데이터를 수신한다.

컴퓨터3에서는 물리 계층에서 전기 신호로 전송된 데이터를 비트열로 변환하고 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리한다.

만약 컴퓨터1과 2가 동시에 컴퓨터3에 데이터를 전송하는 경우 충돌을 방지하기 위해 CSMA/CD 방식이 사용된다.

충돌이 감지되면 컴퓨터2는 잠시 대기하고 데이터를 다시 전송한다.

스위치의 구조

스위치는 허브와 달리 데이터 충돌이 발생하지 않는다.

MAC 주소 테이블이란?

스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치 또는 스위칭 허브라고도 불린다.

스위치 내부에는 MAC 주소 테이블이 있다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되는 데이터베이스이다.

스위치의 전원을 켠 상태에서는 아직 MAC 주소 테이블에 아무것도 등록되어 있지 않는다.

하지만 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이라는 데이터가 전송되면 MAC 주소 테이블을 확인하고 출발지 MAC 주소가 등록되어 있지 않으면 MAC 주소를 포트와 함꼐 등록한다.

이를 MAC 주소 학습 기능이라고 한다.

더미 허브에는 없는 기능이다.

하지만 컴퓨터1에서 컴퓨터3에 데이터를 전송한 시점에서는 아직 컴퓨터3의 목적지 MAC 주소가 MAC 주소 테이블에 등록되어 있지 않아서 송신 포트 이외의 포트인 2~5에 데이터가 전송되는데 이러한 데이터 전송을 플러딩이라고 한다.

만약 MAC 주소 테이블에 목적지 MAC 주소가 등록되어 있으면 목적지 컴퓨터에만 데이터가 전송된다.

MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다.

이것으로 불필요한 데이터를 네트워크에 전송하지 않는다.

데이터가 케이블에서 충돌하지 않는 구조

전이중 통신과 반이중 통신

전이중 통신 방식은 데이터의 송수신을 동시에 통신하는 방식이고 반이중 통신 방식은 회선 하나로 송신과 수신을 번갈아가면서 통신하는 방식이다.

전이중 통신 방식은 데이터를 동시에 전송해도 충돌이 발생하지 않는다.

하지만 반이중 통신 방식은 데이터를 동시에 전송하면 충돌이 발생한다.

컴퓨터1 과 2를 직접 랜 케이블에 연결한다면 여덟 개, 즉 선을 네 쌍을 사용하기 떄문에 전이중 통신 방식이 된다.

반면 허브 내부에는 송수신이 나누어져 있지 않기 떄문에 컴퓨터1 과 2를 허브에 연결하면 동시에 데이터를 보낼 때 충돌이 일어난다.

이처럼 허브를 사용하면 회선하나를 송신과 수신을 번갈아가면서 사용하는 반이중 통신 방식을 사용하게 된다.

스위치는 충돌이 일어나지 않는 구조로 되어 있기 떄문에 전이중 통신 방식으로도 데이터를 주고 받는다.

허브를 사용하면 충돌이 생기면서 네트워크 지연이 발생하기 떄문에 최근에는 네트워크로 스위치를 사용하는 것이 표준이다.

허브를 사용하면 반이중 통신 방식을 사용하지만 스위치를 사용하면 전이중 통신 방식을 사용하기 때문에 효율이 높아진다.

충돌 도메인이란?

허브는 반이중 통신 방식으로 동시에 데이터를 전송하면 충돌이 일어나는데 충돌이 발생할 때 그 영향이 미치는 범위를 충돌 도메인이라고 한다.

허브는 연결되어 있는 컴퓨터 전체가 하나의 충돌 도메인이 된다.

스위치는 데이터를 동시에 송수신 할 수 있는 전이중 통신 방식이기 때문에 충돌이 일어나지 않고 충돌 도메인의 범위도 좁다.

이더넷의 종류와 특징

이더넷 규격

이더넷은 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류된다.

10BASE-T 으로 말하면

10BASET
통신 속도전송 방식케이블

첫 번쨰 10은 Mbps 단위인 통신 속도로 10Mbps라는 뜻이다.

BASE는 BASEBAND라는 전송방식을 나타내고 T는 케이블 종류를 말한다.

하이픈 뒤에는 케이블 길이나 케이블 종류를 나타내지만 동축 케이블은 케이블의 최대 길이를 100미터 단위로 표시한다.

예를 들어 10BASE4는 케이블의 최대 길이가 500미터이므로 5로 표시한다.

UTP 케이블은 케이블 종류를 표시하는데 10BASE-T는 UTP 케이블을 말하는 것이다.

동축케이블과 UTP 케이블을 표시하는 방법이 다르다.