TIL130. Network : 데이터 링크 계층(DataLink Layer)

ID짱재·2022년 2월 23일
0

Network

목록 보기
3/6
post-thumbnail

📌 이 포스팅에서는 OSI 7계층 중 데이터 링크 계층(DataLink Layer)에 대해 정리하였습니다.



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

🔥 MAC 주소와 프레이밍

🔥 스위치 구조

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



1.데이터 링크 계층의 역할과 이더넷

✔️ 데이터 링크 계층은 여러 네트워크 장비 간에 신호를 주고 받기 위해 이더넷(Ethernet)이란 규칙이 활용되는 계층으로, 랜에서 데이터를 정상적으로 주고 받기 위해 필요한 계층이다.

✔️ 규칙이 필요한 이유 중 하나는 허브에 연결된 여러 대의 PC가 동시에 데이터를 보내면 서로 충돌이 발생할 수 있는데, 이 때 이더넷이 여러대의 PC의 전송 흐름을 제어하기 떄문에 충돌이 발생하지 않도록 역할을 한다.

✔️ 이를 이더넷은 CSMA/CD 방식이라하는데, 여기서 CSMA란 데이터를 보내려는 목적지 PC에 데이터가 흐르고 있는지 파악하고 흐르지 않는다면 데이털르 전송하는 규칙이다. 또한 충돌이 발생하는지 확인하는 규칙을 CD라고 한다.

✔️ 하지만, 현재는 CSMA/CD 방식이 비효율적이다는 이유로 사용하지 않고, 스위치라는 네트워크 장비를 이용한다.

✔️ 또한 데이터 링크 계층에서는 여러 데이터를 앞 뒤에 구분자(이더넷 헤더, 트레일러)를 붙여 전송함으로써 데이터를 상대측에서 식별할 수 있도록 프레이밍 작업이 이뤄진다.


2.MAC 주소와 프레이밍

✔️ MAC 주소는 랜카드를 제조할 때 지정되기 때문에 "물리 주소"라고도 불리며, 전 세계에서 고유한 번호가 할당된다.

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

✔️ OSI 모델에서는 L6 계층에 해당하는 데이터 링크 계층, TCT/IP 모델에서는 네트워크 계층에서 이더넷 헤드와 트레일러를 붙이는데, 이 이더넷 헤드에는 목적지의 MAC주소(6바이트) + 목적지 MAC주소(6바이트) + 유형(2바이트)"로 구성되어 있다.

✔️ 트레일러는 데이터 뒤에 붙는 꼬리 부분으로 FCS(Frame Check Sequence)라고도 하는데, 데이터 전송 도중 오류가 발생하는지 확인하는 용도로 사용한다.

✔️ 이처럼 데이터 링크 계층에서 이더넷 헤더와 트레일러를 붙여 프레임을 만들고, 이 프레임이 송신 측 PC에서 물리 계층으로 보내면, 물리 계층에서 전기 신호로 변환하여 네트워크로 진입하게 된다.

✔️ 반대로 수신측 PC의 데이터 링크 계층에서 역캡슐화를 통해 이더넷 헤더와 트레일러를 해제시키고, 이더넷 헤더에 포함된 MAC주소를 확인 후, 자신의 MAC주소와 일치하면 데이터를 상위 계층으로 전송하지만 일치하지 않는다면 바로 폐기시킨다.


3.스위치 구조

✔️ 스위치는 데이터 링크 계층에서 동작하고, 레이어 2스위칭 또는 스위칭 허브(허브와 비슷하게 생김)라 불린다.

✔️ 스위치는 내부에는 MAC 주소 테이블(MAC Address Table)이 존재하고, 여기서 스위치의 port번호와 해당 port에 연결되어 있는 PC의 MAC 주소가 매핑되어 있다. 이에 브릿지 테이블이라고도 불린다.

✔️ 송신측 PC에서 프레임밍을 통해 데이터를 전송하게 될 때 스위치를 거치게 되는데, 이 때 MAC 주소 테이블에 스위치의 port번호와 해당 기기의 Mac주소가 매핑된다. 이 과정을 MAC 주소 학습 기능이라 부른다.

✔️ 이에 스위치의 MAC 주소 테이블에 수신측 MAC주소와 port가 매핑되어있다면 다른 연결된 port로는 데이터가 전달되지 않는다.

✔️ 다만, 프레임의 저장된 기기의 MAC주소와 port번호가 MAC 주소 테이블에 매핑되있지 않다면 모든 연결된 port의 PC로 데이터가 전달된다. 이를 플러딩(flooding, 홍수) 한다.


4. 스위치와 허브 비교

✔️ 케이블의 구조적 측면에 있어 데이터의 송수신을 동시에 하는 전이중 통신 방식과 회선 하나로 송신과 수신을 번갈아가하면 반이중 통신 방식이 있다.

✔️ 이에 전이중 통신 방식을 데이터를 동시에 전송해도 충돌이 발생하지 않지만, 반이중 통신 방식은 데이터를 동시에 전송하면 충돌이 발생한다.

✔️ 예를 들어, 휴대폰으로 통신을하는 것은 전이중 통신 방식이고, 무전기로 통신하는게 반이중 통신 방식이라 생각할 수 있다.

✔️ PC 2대를 랜케이블(크로스 케이블)로 직접 연결하면 전이중 방식으로 통신하지만, 허브를 통해 연결하면 반이중 방식으로 통신하기 때문에 충돌 발생한다. 반면, 스위치는 전이중 방식으로 통신하기 때문에 동신의 데이터를 전송해도 충돌이 일어나지 않는다.

✔️ 뿐만아니라, 충돌이 발생할 때 영향을 미치는 범위를 충돌 도메인(collision domain)이라 하는데, 허브 방식은 한 곳에서 충돌이 발생해도 연결된 모드 PC에 영향을 미친다.

✔️ 하지만, 스위치는 연결된 모든 PC에서 충돌에 대한 영향을 미치지 않고, 충돌 범위가 작기 때문에 통신 효율이 높다.

profile
Keep Going, Keep Coding!

0개의 댓글