본문 바로가기
네트워크/OSI 7계층

OSI 7계층 - 데이터 링크 계층

by J-non 2024. 11. 14.

<목차>

1. 데이터 링크 계층

2. 이더넷

3. 스위치

4. 결론


 

데이터 링크 계층

OSI 7계층 중 2계층으로, 네트워크 기기 간 데이터 전송, 요류 검출 및 제어, 흐름 제어 등을 담당하는 계층이다.

 

물리 계층에 허브라는 장치가 있다고 했는데, 이 허브는 더미허브라고도 불리며 내가 보낸 신호를 특정한 컴퓨터에만 전달하는게 아닌, 연결되어 있는 모든 컴퓨터에 전송하는 특징이 있다.

이러한 통신은 엄청난 비효율이 야기되며, 연결된 컴퓨터가 많으면 많을수록 극대화된다.

 

이러한 문제를 해결하기 위해 여러개의 상위 계층들이 존재하며, 데이터 링크 계층은 신호를 올바른 목적지로 전달하고, 전송중 발생할 수 있는 요류의 검출 및 수정, 흐름 제어를 하는 역할을 한다.


 

이더넷

이더넷이란 컴퓨터 네트워크 기술의 하나로, LAN, MAN, WAN에서 많이 활용되는 기술 규격이다.

이더넷은 네트워크에 연결된 각 기기들이 48비트 길이의 고유 MAC주소를 가지고 이 주소를 이용해 상호간에 데이터를 주고 받을 수 있도록 만들어졌다.

 

MAC주소

랜카드에는 MAC 주소라는 번호가 할당되어 있다. 이 MAC 주소는 고유한 값을 가지며 동일한 MAC주소를 가진 랜카드는 없다.

MAC 주소는 48비트 숫자로 구성ㅚ어 있으며 앞 24비트는 랜카드제조사 번호이며, 뒤 24비트는 제조사가 붙인 일련번호다.

 

이더넷 헤더와 트레일러

이더넷 헤더란 `목적지 MAC 주소(6바이트), 출발지 MAC 주소(6바이트), 이더넷 유형(2바이트)`을 가진 헤더를 말한다. 전송하는 데이터의 앞쪽에 붙는다고 해 헤더라는 용어를 사용한다.

이더넷 유형은 IPv4, ARP, IPv6등이 있다.

 

트레일러란 전송하는 데이터의 맨 뒤에 붙어서 데이터 전송 중 오류가 발생했는지 확인하는 역할을 하며, FCS(Frame Check Sequence)라고도 한다.

 

이더넷 헤더, 데이터, 트레일러를 합친 형태를 프래임이라고 부른다.

이렇게 프레임을 생성하고 이 프레임을 전기 신호로 변환하여 전송한다.


 

스위치

스위치는 데이터 링크 계층에 속하는 장치로, L2 스위치 또는 스위칭 허브라고 불린다.

스위치는 허브와 다르게 MAC 주소를 등록하고 관리하는 데이터베이스를 가지고 있다. 이를 MAC 주소 테이블 이라고 부른다.

 

MAC 주소 테이블

스위치가 MAC 주소를 등록하고 관리하는 데이터베이스이며, 스위치를 켜자마자 연결된 기기의 MAC주소를 저장하는 것이 아니라 처음 목적지에 방문하는 순간 MAC 주소를 등록한다. 이를 MAC 주소 학습 기능이라고 한다.

 

MAC 주소 학습

1. 초기 상태

- 스위치의 MAC 주소 테이블에 목적지 MAC 주소가 없습니다.

- 이 경우 스위치는 Flooding을 수행하여 데이터를 모든 포트로 전송한다.(초기에는 허브와 같은 동작을 함)

2. Flooding

- 데이터를 전송 받은 장치는 응답을 보낸다.

- 예를 들어, 장치 B가 데이터를 받았다면 장치 B는 스위치에게 응답을 보내면서 자신의 MAC 주소롸 연결된 포트 정보를 스위치에게 전달합니다. 

3. Learning

- 스위치는 응답 받은 장치의 MAC 주소와 포트 번호를 MAC 주소 테이블에 저장한다.

 

Forwarding/Filtering

포워딩과 필터링은 스위치의 필수 기능이다.
패킷이 스위치에 들어온 경우 목적지 MAC를 확인할 후 MAC 주소 테이블을 통해 해당 포트로 전송하는 것을 포워딩이라고 하며, 다른 포트로는 패킷을 전송하지 않는 것을 필터링이라고 한다.
스위치에서는 이 기능을 여러 포트에서 동시에 수행 할 수 있다.


 

결론

데이터 링크 계층은 디지털 데이터 신호를 받아서 출발지, 목적지, 유형에 대한 정보(이더넷 헤더)를 추가하고, 트레일러로 FCS를 넣어주어 프레임을 만들어 준다. 또한, 흐름 제어를 통해 전송 속도를 조절할 수 있으며, 접근 제어를 통해 여러 기기에서 동시에 데이터를 전송할 때 발생할 수 있는 충돌을 방지하거나 관라하는 역할 도 한다.

 

참고자료

https://jake-seo-dev.tistory.com/226

 

https://losskatsu.github.io/os-kernel/network-basic03/#4-%EC%8A%A4%EC%9C%84%EC%B9%98

 

 

'네트워크 > OSI 7계층' 카테고리의 다른 글

OSI 7계층 - 세션 , 표현 , 응용 계층  (0) 2024.11.19
OSI 7계층 - 전송 계층  (0) 2024.11.15
OSI 7계층 - 네트워크 계층  (0) 2024.11.14
OSI 7계층 - 물리 계층  (0) 2024.11.14