[Network] 3. 데이터 링크 계층

KYJ의 Tech Velog·2023년 4월 20일
0

Network

목록 보기
4/21
post-thumbnail

Data Link Layer

직접 연결된 네트워크 장비 간의 데이터 전송을 담당하는 계층입니다.

데이터 링크 계층은 다음과 같은 기능을 합니다.

  • Framing
    데이터에 헤더와 트레일러를 붙혀 캡슐화시켜서 프레임(Frame)을 만듭니다.
  • 회선 제어
    통신하는 컴퓨터 신호 간의 충돌이 발생하지 않도록 회선을 제어합니다.
  • 흐름 제어
    송수신 간에 데이터를 주고 받을 때 데이터가 너무 많거나 너무 적게 송수신하지 않도록 데이터 흐름을 적절히 제어합니다.
  • 오류 제어
    프레임 전송 시에 발생한 오류를 탐지하고 수정할 수 있도록 합니다. 프레임이 손상되어 재전송이 수행될 수도 있습니다.

Ethernet

데이터 링크 계층에서는 위에서 설명드렸던 기능을 지원하기 위해 이더넷(Ehternet)이라는 프로토콜을 사용합니다. LAN에서 적용되는 프로토콜로 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고 받을 때 사용합니다.

이더넷에서 송수신되는 프레임은 이더넷 프레임이라고 합니다.

특정 컴퓨터에게 데이터를 보내는데 다른 컴퓨터가 그 데이터를 받아 보면 안될 것입니다. 따라서 다른 컴퓨터는 데이터를 못보게 하는 규칙이 정해져 있습니다. 보내려는 데이터에 목적지 정보를 추가해서 보내고 목적지 이외의 컴퓨터는 데이터를 받아도 무시하게 합니다.

다만, 여러 대의 컴퓨터가 동시에 데이터를 보내면 데이터가 서로 충돌이 일어날 수 있는데 이더넷은 여러 대의 컴퓨터가 동시에 데이터를 전송해도 충돌이 일어나지 않는 구조로 되어 있습니다. 이를 위해 이더넷에서는 CSMA/CD라는 방법을 사용합니다.

CSMA/CD

Carrier Sense Multiple Access with Collision Detection
반송파 감지 다중 접속 및 충돌 탐지

CS는 데이터를 전송하고자 하는 컴퓨터가 케이블에 신호가 흐르는지 확인한다는 규칙이고 MA는 케이블에 신호가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙이고 CD는 충돌이 발생하고 있는지를 확인한다는 규칙입니다. 이러한 규칙으로 데이터를 주고 받으면 충돌이 일어나지 않습니다.

현재는 효율이 좋지 않다는 이유로 CSMA/CD는 거의 사용하지 않고 스위치(Switch)라는 네트워크 장비를 사용하여 충돌을 막습니다.


MAC

Media Access Control Address
LAN 카드에는 MAC 주소라는 번호가 할당되어 있습니다. 전 세계에서 유일한 번호로 할당되어 있습니다. 중복되지 않도록 규칙이 명확하게 정해져 있고 48비트 숫자로 구성되어 있습니다. 앞 24비트는 랜 카드를 만드는 제조사 번호, 뒤 24비트는 제조사가 랜 카드에 붙인 일련번호입니다.

앞선 포스팅에서 데이터가 전송될 때 7계층부터 1계층으로 내려오면서 헤더를 붙인다고 하였습니다. 데이터 링크 계층에서는 이더넷 헤더트레일러가 붙습니다.

이데넛 헤더는 목적지 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 유형(2바이트)으로 총 14바이트로 구성되어 있습니다. 유형은 프로토콜을 나타냅니다. 프로토콜의 종류에는 IPv4, ARP, IPv6 등이 있습니다.

트레일러는 FCS(Frame Check Sequence)라고도 부르며 데이터 전송 중 오류를 확인하는 용도입니다.


Switch

스위치(Switch)는 데이터 링크 계층에서 동작하는 장비입니다. 허브와는 다르게 스위치 내부에는 MAC 주소 테이블이 존재합니다. MAC 주소 테이블은 스위치의 포트 번호와 해당 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되어 있는 데이터베이스입니다.

MAC 주소 테이블

스위치는 자체적으로 스위치 내부에 MAC 주소를 등록합니다.

스위치의 전원을 켰을 때, MAC 주소 테이블에는 아무것도 등록되어 있지 않습니다. 연결되어 있는 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이 전송되면 MAC 주소 테이블을 확인합니다. 출발지 MAC 주소가 등록되어 있지 않다면 MAC 주소를 포트와 함께 등록합니다. 이 기능을 MAC 주소 학습 기능이라고 합니다.

Flooding

스위치가 수신 포트 이외의 모든 포트에서 데이터를 송신하는 것을 플러딩(Flooding)이라고 합니다. 도착지 MAC 주소가 아직 MAC 주소 테이블에 등록되지 않은 경우에 플러딩이 발생합니다.

도착지 MAC 주소가 MAC 주소 테이블에 등록되어 있다면 목적지에만 데이터를 송신합니다.

0개의 댓글