데이터 링크(Data Link) 계층
● OSI 7 계층 모델에서 두 번째 계층으로, 네트워크 기기 간 데이터 전송,
오류 검출 및 제어, 흐름 제어 등을 담당
데이터 링크 계층은 왜 존재할까?
● 제 1계층인 물리 계층만 존재한다면 네트워크 기기간에 데이터를 전송할 때
비용, 시간적으로 매우 비효율
→ 원하는 목적지로 전송할 수 없어서 모든 곳에 동시에 전송해야 함
→ 물리적으로 해결해야 하기 때문에 많은 케이블이 필요하고 각 기기를 전부 연결해야 함
● 시간적으로도 비용적으로도 효율적으로 데이터를 전송하기 위해 생긴 것이 상위 계층.
● 데이터 링크 계층(Data Link Layer)은 신호를 원하는 곳에 전달하고, 전송 중 발생할 수 있는
오류를 검출 및 수정, 흐름 제어를 수행하는 역할
데이터 전송
- 위의 그림처럼 AA라는 주소를 가진 컴퓨터와 CC라는 주소를 가진 컴퓨터가 있고,
이 PC들은 스위치(Switch) 모듈과 연결되어 있음
스위치(Switch)란?
- 데이터 링크 기층에서 사용하는 물리적인 장비로 MAC 주소 기반으로 통신을 하는 기기
- 물리 계층에서 사용하는 허브(Hub) 기기의 단점을 보완
- 송수신을 특정 시간대에 맞춰서 진행하던(Hub) 것을 자유롭게 쌍방 통신이 가능하도록 개선(Switch)
Half Duplex → Full Duplex
- 패킷 전송 시 같이 연결된 다양한 네트워크 디바이스에 전달하던 것을
(물리계층에서는 원하는 곳에 보내려면 다 보내야 하는데)
포트별로 나눠서 해당되는 도메인에 대해서만 통신이 가능하도록 개선
(포트로 원하는 곳에만 보낼 수 있도록 개선함)
1 Collision Domain → Port Collision Domain
- 데이터를 순서대로 AA = 송신자 주소, CC = 수신자 주소, 0100111 = 전송할 데이터
- PC - 1에서 스위치를 통해서 PC - 2로 원하는 곳에 데이터 전송이 가능해짐
오류 검출
● 어떤 상황에서 발생할까?
- AA주소 PC가 스위치를 통해 CC로 데이터를 보낼 때 AA | DD | 0100111로 보냄
- 만약에 Error가 발생했을 때 어떻게 해결해야 하는가
- AA(송신자)에서 계산을 수행하여 Error 확인 코드 생성
- AA | CC | 0100111에서 데이터 옆에 AA | CC | 0100111 | 0x1A4D Error 코드 포함해서 전송
- CC(수신자)에서 도착한 Error 코드에 대해 동일한 계산 수행
- CC에서 계산한 값과 프레임(Frame)에 포함된 원래의 값 비교
프레임(Frame)과 패킷(Packet) 은 같은 걸까?
- 프레임 = 데이터 링크 계층에서 형성 (제2 계층) - 헤더 정보 : MAC
- 패킷 = 네트워크 계층에서 형성 (제3 계층) - 헤더 정보 : IP
- 두 값 일치하면, 데이터가 정상적으로 전송이 된 것
- 일치하지 않으면, Error가 발생한 것으로 판단 → 재전송 요청
데이터 링크 계층은 즉...
- 데이터 링크 계층(Data Link Layer)은 기기 간 데이터 전송 하는 데 있어서
흐름을 제어하고 오류를 검출하며 제어를 담당하는 계층이다
참고 사이트
rf-yeolmu tistory
'IT > Network' 카테고리의 다른 글
[네트워크] 서브넷 마스크 (0) | 2024.12.17 |
---|---|
[네트워크] TCP/IP (2) | 2024.12.16 |
[네트워크] OSI 7계층 - 네트워크 계층 (0) | 2024.12.11 |
[네트워크] WebSocket (0) | 2024.12.10 |
[네트워크] OSI 7계층 (0) | 2024.11.27 |