본문 바로가기
컴퓨터공학/컴퓨터네트워크

9. 데이터 링크 계층

by meow0110 2024. 7. 6.

■ Data Link Layer
- 물리 계층을 이용하여 디지털 정보 전송
- Frame 단위로 데이터 송수신
- 공유 통신 매체 관리

 

■ Data Link Layer 추가적 내용

- 물리 계층이 정상적으로 동작하는데 필요한 기본적인 소프트웨어 기능을 지원한다.

- 인접 노드 간 : 물리적(전기적)으로 연결된 이라고 생각하자.

- 데이터 전송을 책임짐 : 단순히 보내는 것으로 끝이 아님. 데이터 전송 중의 오류, 오류 수정 등, 데이터 전송 과정의 모든 것들을 포함해서 책임진다는 뜻으로 해석하자.

 

■ 최종 목적지까지의 전송은 책임지지 않음

- 물리 계층이 서로 연결돼 있는, 전기적으로 연결되어 있는 경우까지만 말함.(LAN 정도의 범위)

- 즉, LAN - 게이트웨이 -  WAN - LAN 으로 이어지는 범위로의 전송의 경우는 책임지지 않음. 

- 위의 그림으로 이해보자. PC2에서 PC3는 책임져줌. 왜냐? LAN이라는 범위 내에서 허브를 통하는것은 물리적 연결이 되어 있으니까.

- 그러나 PC2 - Hub - G.W(먼곳으로 가정) -  PC1 의 전송은 책임지지 않음. 최종목적지까지 WAN 구간과 같은 먼 구간을 넘어가게 되니까. 

 

■ Frame 

- 데이터의 전송 단위
- 전송의 시작과 끝을 확인하는 동기화 필요

 

■ Frame 추가 내용

- 바이트 들의 묶음

- 데이터링크 계층에서 데이터의 묶음을 부를 때는 [프레임]이라고 기억하자.

 

■ 그림 설명

- 위의 주황색은 1계층, 아래는 2계층(데이터링크 계층)이다. 즉 아래 그림은 헤더가 붙은 모습이라 생각하면 된다.

 

■ MAC Address
NIC 등에 주어진 고유 번호
Data Link Layer에서 송수신을 위해 사용하는 식별 번호
계층 구조가 아님 (반대로 3계층의 IP는 계층구조다!)

 

■ 데이터링크 계층의 기본 기능

- 오류를 확인하고 때론 수정함 : 때론은 반드시 오류를 수정한다는 것이 아님.

- 전송 매체 공유를 관리함 : 예를 들면 철도가 있다. 철도의 선이 하나라면, 양쪽으로 오는 철도에 대한 제어와 관리가 필요하다. 기본적으로 이러한 관리는 물리계층에서 한다. 그러나 그 이상의 소프트웨어적인 관리가 필요한경우도 있다. 이럴 경우 [데이터링크 계층]에서 한다라는 뜻이다.  

■ 멀티플렉싱

- 예를들면 4차선의 도로가 있다. 그런데 차선이 좁아지면, 자동차끼리 안부딫치게 관리가 필요하다. 이를 담당하는 것이 멀티플렉싱이라고 생각하면 된다. 

- 소프트웨어적으로 우선순위, 순서를 지정해서 데이터 충돌을 방지한다고 생각하자.

- 하나의 선으로 모아줬다가 풀어주는 것

- 충돌 회피 or 감소를 위한 방법 제공 : 데이터의 충돌을 확인하고 복구

 

■ 디 멀티플렉싱

- 멀티플렉싱의 반대라고 생각하자.

- 분산시키는 것

 

■ 전송 확인은 선택 사항임을 잊지말자!

- check sum : 오류 검출이라고 생각하자. 

 

■ 추가내용. 다음 3계층에서 배울 내용이다.

- 흐름제어 : 제대로 받았니? 응받았어. 다음꺼 보내줘.  

- 오류 확인 그리고 알림 : 어? 이 데이터 못받았어. 똑똑! 나 뭔가 못받았어.

- 재전송 : 알았어. 다시 보내줄게.

- 참고로 이 기능들은 2계층에서도 할 수 있다. 그러나 만약 못하면 다음 3계층에서 수행한다.

 

■ 이더넷에서 사용하는 프레임의 구조

 

■ 2계층은 도착지 안 책임진다며? 근데 왜 2계층 헤더(출발지, 목적지 맥주소)를 쓰는거야? 그리고 맥주소는 왜 써?

- Dest. IP / Source IP는 LAN을 벗어난 WAN과 같은 넓은 곳, 확장된 범위로 나갈 때 알기 위한 주소라고 생각하자.

- 그리고 MAC주소는 물리적으로 연결된, 즉 허브에 연결된 기계들끼리(위보다 좁은 범위) 알기 위한 주소라고 생각하자.

- 결론 : 맥주소는, 물리적으로 연결되어 있는 디바이스 간의 데이터를 주고받기 위해 사용하는 것.

- 그래서 2계층이 맥주소로 할 수 있는 범위 내의 데이터 전송은 책임지지만, 그 이상(IP를 통해 나가야하는 아주 먼, 최종목적지)은 책임지지 않는다. 

 

■ 정리

- 데이터 링크 레이어는 맥주소를 이용해 물리적 연결된 디바이스 끼리의 데이터 전송은 책임짐 (좁은 범위까지만)

- 그러나 그 이상, WAN과 같이 멀리 나가야한다면, 책임 안짐. 대신 3계층(네트워크 계층)에서 책임져줌!

 

■ 맥주소

- 3계층에서 사용하는 IP는 길찾기에 특화! 라우터를 효과적으로 사용할 수 있다.

- 그러나 2계층의 맥주소는 길찾기에 특화가 된 것이 아니다. 한마디로 조금만 멀리 나가면, 길을 구분을 못한다. 

- 그래서 맥주소는 물리적으로 연결되어 있는 디바이스 간의 데이터를 주고 받을 때만 사용한다.

- 즉, 우리 집 안에 있는 기기 정도를 찾아가는데만 쓸 뿐, 그 이상 나가는 용도의 주소가 아니다!

 

■ 데이터 링크 레이어는 둘로 나눌 수 있다.

- Logical Link control Sublayer

- Media Access control Sublayer

 

■ Logical Link control Sublayer

- 멀티플렉싱(Mux)과 디 멀티플렉싱(De Mux)의 역할을 함

- 경우에 따라서 오류 수정도 해줌

- 왜 Logical? : 멀티플렉싱 >> 디 멀티플렉싱으로 가는 연결이 그때그떄 다르기 때문. 

 

■ 이 기능은 권고 사항 같은 것이다. 반드시가 아님! 

 

■ Media Access control Sublayer

- 미디어( 선 이라고 생각하자)를 동시에 접속하지 못하도록 함. 이는 1계층에서 하던 기능임. 하지만 2계층에서 일부 소프트웨어적으로 담당하기도 함. 이 때 Media Access control sublayer가 하게 됨.

 

■ Media Access contorl sublayer가 소프트웨어적으로 뭘 해주는가?

- 프레임(데이터 묶음)의 대기 관리 혹은 스케쥴 관리

- 위의 2가지 방식이 있다. 

- 다수의 패킷을 전송하는 방식이다.

 

■ VLAN 가상랜

- 가상 네트워크를 만들 때 사용

 

■ Frame Synchronization 프레임 동기화

- 바이트들이 모여있는 프레임을 동기화

- 데이터가 a에서 b로 가는데, 그게 어디서 어디까지를 한 묶음으로 봐야하는가? 이거를 처리해주는 것

- 예를 들면, 선은 하나다. 여러 앱 혹은 디바이스가 동시에 접근한다고 가정하자. 그럼 프레임의 처음과 끝을 분명히 확인해줄 수 있어야 한다. 미디어를 공유하고 있기 때문에 모든 미디어를 공유하는 디바이스들의 소프트웨어들이 서로 합의를 봐야한다. 그 합의를 보는 4가지 방법이다.

 

■ 4가지 방법

- Time based : 프레임 사이에 정해진 시간 간격을 둠

- Character counting : 데이터를 주고받는 양을 카운팅.

- byte stuffing : 시작과 끝을 특정문자열(바이트)로 표기

- bit stuffing : 시작과 끝을 비트열로 표기

 

 

■ 맥주소는 계층적이지 않다

■ 맥주소는 계층적인 구조에 맞지 않다

■ 반대로 IP주소는 계층적이다. a b c  등의 클래스로 나눠져있다

■ 데이터링크 계층의 대표적인 예 : 이더넷, 토큰링

 

 

 

 

■ 학습정리

1. Data Link Layer

  • 물리 계층을 사용하여 Network 계층에 서비스를 제공
  • 동일 구역 내의 통신을 책임짐
  • 데이터 오류 처리는 선택 사항

2. Logical Link Control Sublayer

  • 멀티 플렉싱을 통해 미디어 공유
  • 주소를 이용한 연결과 송수신 관리

3. Media Access Control Sublayer

  • 다수 노드 간 통신 매체 공유 관리
  • Frame 동기화 관리

 

 

 

'컴퓨터공학 > 컴퓨터네트워크' 카테고리의 다른 글

11. 전송 계층  (0) 2024.07.07
10. 네트워크 계층  (0) 2024.07.06
8. 물리 계층  (0) 2024.07.05
7. OSI 7 계층 개요  (0) 2024.07.05
6. 인터넷의 기본 동작 원리  (0) 2024.06.12