데이터 링크 계층(Data link layer)은 OSI 7계층 중 2번째 층으로 다음 역할을 담당한다.
- 네트워크 기기 간 데이터 전송,
- 오류검출 및 제어, 흐름 제어 등
사실 물리 계층에서 컴퓨터간 연결의 비효율성을 극복하기 위해 필요해진 계층 이다.
위 역할을 수행하기 위해서 데이터 링크 계층은 다음과 같은 기능을 가지고 있다.
1. 프레임생성 기능
데이터를 캡슐화 시켜서 프레임 단위로 만들고, 앞에 헤더, 뒤에 트레일러를 추가 한다.
헤더에는 목적지, 출발지 주소 및 데이터 내용을 정의한다. 트레일러에서는 비트 에러를 감지한다.
2. 회선 제어 기능
여러대의 컴퓨터가 통신하는 경우 각 컴퓨터 신호간의 충돌이 발생하지 않도록 회선을 제어한다.
회선을 제어 하는 방식도 여러가지 이다.
1) ENQ/ACK 방식: 손신 측에서 Enquiry 를 보내서 데이터가 필요한지 물어보면, 수신 측은 Acknowledge를 보낸다.
서로 신호를 받으면 송신 측은 데이터를 보내고 수신측은 데이터를 받으면 잘 받았다는 의미에서 Acknowledge를 다시 보낸다. 그럼 송신측에서 송수신을 종료하는 신호를 보내 종료한다.
2) polling 방식: 1:M 전송 기법으로 select 모드와 poll 모드가 있다.
① select 모드: 송신측이 수신측 중에서 선택한 수신측에만 데이터를 전송한다.
② poll 모드: 수신측이 poll 신호를 받으면 데이터를 받는 수신측만 Acknowledge를 보내고 안받으려는 수신측은 거부 신호를 보낸다.
3. 흐름 제어 기능
컴퓨터마다 성능 이슈로 인해 속도 차이가 난다. 데이터 링크는 속도 차이를 해결하기 위해 흐름을 제어한다.
1) stop&wait : 데이터를 보내고 수신측에서 Ack 를 보낼 때 까지 기다리는 방식이다.
2) sliding window: 여러 프레임을 한번에 보낼 수 있고 Ack 응답이 필요하지 않아 효율적이다.
4. 오류 제어기능
전송 도중에 네트워크 문제나 전기적인 문제로 프레임이 소멸되는 등 오류가 발생 할 수 있다. 이를 탐지하여 수정하며
프레임이 손상되어 재전송을 수행한다(automatic repeat request)
1)stop& wait ARQ: 프레임이 손상되어 수신측에서 거부 신호를 전송하거나, 주어진 시간에 수신측이 Ack 를 보내지 않을 때 프레임을 재전송한다.
2) go back and ARQ: 송신측이 여러 프레임을 한 번에 전송하고 수신측에서 한개의 프레임에 문제가 있는 경우 모든 프레임을 페기하고 거부 신호를 보내면 송신측에서 다시 프레임 세트를 보내준다.
3) selective repeat ARQ: 여러 프레임을 받았을 때, 문제가 있는 프레임에 대해서만 거부 신호를 보내면 송신측에서 손상된 프레임만 다시 보내 준다.
위의 기능을 하는 장비는 스위치이다.
스위치는 각 단말기에 연결되고 단말기로 부터 유입된 프레임을 보고 MAC 주소를 테이블에 저장한다.
할당된 MAC 주소로 프레임을 전송하며 MAC 주소가 없으면 전체 port 로 프레임을 전달한다.

'미분류 과제물(미완성 포함)' 카테고리의 다른 글
| 프로그래밍 교양: OSI 4층 전송계층 (3) | 2024.09.18 |
|---|---|
| 미니풋살 게임 와이어 프레임 (0) | 2024.09.13 |
| 프로그래밍 교양(3) OSI 7계층 - 1층 물리계층 (0) | 2024.09.01 |
| 프로그래밍 교양(2) :OSI 7계층 (0) | 2024.08.29 |
| 프로그래밍 교양(1): 클라이언트와 서버 (4) | 2024.08.26 |