02 OSI - 데이터링크계층
02 OSI - 데이터링크계층
1. 데이터 링크 계층
1. 데이터 링크 계층 개요
- 네트워크 7계층 중 2번째 계층(하위 계층)
- 물리 계층에서 받은 비트열을 프레임 단위로 조직화
- 직접 연결된 두 장치 간의 안정적 데이터 전송을 담당
- MAC 주소 기반의 주소 지정 및 오류 감지 기능 제공
2. 데이터 링크 계층 역할
- 프레이밍: 연속된 비트열을 구조화된 프레임 단위로 구분
- 주소 지정: 프레임에 출발지 및 목적지 MAC 주소를 포함
- 오류 검출: 프레임에 FCS(프레임 검사 시퀀스) 추가하여 전송 오류 감지
- 매체 접근 제어(MAC): 공유 네트워크에서 누가 언제 전송할지 조정 (예: CSMA/CD)
- 스위치, 네트워크 카드(NIC) 등 장비와 직접 관련
3. 상위/하위계층
구분 | LLC 계층 | MAC 계층 |
---|---|---|
계층 위치 | 데이터 링크 계층의 상위 부분 | 데이터 링크 계층의 하위 부분 |
주기능 | 논리 연결, 오류/흐름 제어, 상위 계층 인터페이스 | 물리 주소 부여, 매체 접근 제어, 프레임 전송 |
구현 | 소프트웨어적 | 하드웨어적 (NIC 등) |
관련 표준 | IEEE 802.2 | IEEE 802.3, 802.11 등 |
2. 이더넷
1. 이더넷
- LAN(Local Area Network) 환경에서 가장 널리 사용되는 유선 통신 기술
- IEEE에서 제정한 802.3 표준 기반
- 데이터 링크 계층(2계층)과 물리 계층(1계층) 모두를 정의함
- MAC 주소 기반 통신, 프레임 단위 전송, CSMA/CD 방식 사용
- 저렴하고 설치가 간편하여 기업 및 가정에서 보편적 사용
2. 이더넷의 속도
이름 | 속도 | 비고 |
---|---|---|
이더넷 | 10 Mbps | 최초의 표준 이더넷 |
패스트 이더넷 | 100 Mbps | 100Base-T |
기가비트 이더넷 | 1 Gbps | 1000Base-T |
10기가 이더넷 | 10 Gbps | 주로 백본망 사용 |
100기가 이더넷 | 100 Gbps | 대형 데이터센터, 통신사 백본망 등 |
3. 이더넷의 규격들
규격 | 속도 | 매체 | 설명 |
---|---|---|---|
10Base-T | 10 Mbps | UTP | 10Mbps, 트위스트 페어 케이블 |
100Base-TX | 100 Mbps | UTP | 2쌍 트위스트 페어 |
1000Base-T | 1 Gbps | UTP | 기가비트, 4쌍 케이블 |
1000Base-LX | 1 Gbps | 광섬유 | 장거리 전송 (최대 10km 이상) |
10GBase-T | 10 Gbps | UTP | 고속 기가 전송, Cat6 이상 필요 |
10GBase-SR | 10 Gbps | 광섬유 | 짧은 거리용 광 통신 |
3. 데이터 링크 계층의 데이터
1. 데이터 링크 계층의 데이터
구분 | 구성 요소 | 길이 (바이트) | 설명 |
---|---|---|---|
헤더 | 목적지 MAC 주소 | 6 | 수신자의 MAC 주소 |
헤더 | 출발지 MAC 주소 | 6 | 송신자의 MAC 주소 |
헤더 | 타입 (Type) | 2 | 상위 프로토콜 구분 (IPv4 / IPv6 / ARP / VLAN 태그) |
페이로드 | 데이터 (Payload) | 46 ~ 1500 | 실제 데이터 |
트레일러 | FCS (Frame Check Sequence) | 4 | 오류 검출용 CRC |
2. 헤더
- 프레임의 앞부분에 붙는 제어 정보
- 목적지/출발지 MAC 주소, 타입 필드, 제어 정보 등이 포함됨
3. 트레일러(Trailer)
- 프레임의 끝부분에 붙는 오류 검출 정보
- 전송 중 오류를 검사하기 위한 CRC 값 등 포함
4. MAC 주소
1. MAC 주소
- MAC(Media Access Control) 주소는 네트워크 인터페이스 카드(NIC)에 할당된 고유 식별자
- 길이: 48비트(6바이트), 보통 16진수 12자리(예: 00-1A-2B-3C-4D-5E)로 표현
- 전 세계에서 유일한 주소로, LAN 내에서 장치를 식별하는 데 사용
- 네트워크 계층의 IP 주소와 달리 데이터 링크 계층에서 물리적 장치 식별 용도
- MAC 주소는 제조사별로 할당된 OUI(Organizationally Unique Identifier, 상위 3바이트)와 장치 식별자(하위 3바이트)로 구성됨
2. MAC 주소 테이블
- 스위치는 네트워크에서 들어오는 프레임의 출발지 MAC 주소를 학습하여
- 어떤 포트에 어떤 MAC 주소가 연결되어 있는지 테이블로 관리
- 이를 통해 프레임을 목적지 MAC 주소가 연결된 포트로 효율적으로 전달
테이블 구조
항목 설명 예시 MAC 주소 고유 식별자 (48비트) 00-1A-2B-3C-4D-5E OUI 제조사 코드 (상위 3바이트) 00-1A-2B (Cisco 등) 장치 식별자 개별 장치 구분 (하위 3바이트) 3C-4D-5E MAC 주소 유형 유니캐스트 / 멀티캐스트 / 브로드캐스트 유니캐스트: 단일 대상 MAC 주소 테이블 스위치가 학습하는 MAC 주소와 포트 매핑 테이블 MAC 주소 → 연결 포트 저장
5. 스위치
1. 스위치
- LAN(Local Area Network) 내에서 데이터 프레임을 목적지 장치로 효율적으로 전달하는 역할
- 여러 포트를 가지고 각 포트에 여러 장치를 연결할 수 있음
- MAC 주소를 인식하고, 이를 기반으로 데이터를 전송할 목적지를 결정함
- 리피터나 허브와 달리, 데이터 충돌을 줄이고 네트워크 효율을 크게 향상시킴
2. 스위치 동작 순서
- 프레임 수신 (입력)
- 스위치의 특정 포트로 이더넷 프레임이 들어옴
- 프레임에는 출발지 MAC 주소가 포함되어 있음
- 출발지 MAC 주소 학습
- 스위치는 프레임의 출발지 MAC 주소와 해당 포트를 기억함
- 이 정보를 MAC 주소 테이블(MAC 주소 ↔ 포트)에 등록함
- 이 과정을 통해 스위치는 네트워크에 연결된 장치들의 위치를 학습함
- 목적지 MAC 주소 확인
- 프레임의 목적지 MAC 주소를 MAC 주소 테이블에서 찾음
- 프레임 전달 (포워딩)
- 목적지 MAC 주소가 테이블에 있으면 → 해당 포트로만 프레임 전송
- 목적지 MAC 주소가 없다면 → 모든 포트로 브로드캐스트 (플러딩) / 수신 포트 제외
- 충돌 없는 프레임 전달
- 각 포트는 독립적인 충돌 도메인이기 때문에, 프레임은 충돌 없이 전송됨
- 프레임 전달 완료
- 목적지 포트로 프레임이 전송되어, 해당 장치가 데이터를 수신함
6. CSMA/CD
1. CSMA/CD(Carrier Sense Multiple Access with Collision Detection)
- 네트워크에서 여러 장치가 하나의 전송 매체(공유 케이블)를 사용할 때 발생할 수 있는 충돌(Collision)을 해결하기 위한 메커니즘
- 이더넷 초기에는 동축 케이블의 버스형 구조에서 데이터를 전송하였고, 이를 관리하기 위해 CSMA/CD가 등장.
- 지금은 대부분의 스위치 기반 네트워크에서 사용하지 않음.
2. 순서
- Carrier Sense (채널 감지)
- 전송하려는 장치가 네트워크 매체(케이블)를 감시
- 만약 다른 장치가 데이터를 전송 중이면 대기.
- 전송 시도 (전송 시작)
- 채널이 비어 있으면(유휴 상태) 장치는 데이터 전송을 시작함.
- 하지만 다른 장치도 동시에 채널이 비어 있다고 판단하고 전송할 수 있음.
- Collision Detection (충돌 감지)
- 두 장치가 거의 동시에 전송하면, 충돌이 발생함.
- 이더넷 장치는 충돌 여부를 감지하기 위해 송신 중에도 수신을 동시에 감시함.
- 충돌 발생 시, 전송 중단
- 충돌이 감지되면, 모든 장치는 즉시 전송을 중단함.
- Jamming Signal 전송
- 충돌을 인지했음을 네트워크 상에 알리기 위해 짧은 잡음 신호(Jamming Signal)를 전송
- 이로써 다른 장치도 충돌이 발생했음을 인지하게 됨.
- Backoff (재시도 대기)
- 각 장치는 랜덤한 시간만큼 기다린 뒤 전송을 다시 시도함.
- 이때 Binary Exponential Backoff 알고리즘을 사용해 재시도 간 간격을 늘림.
- 전송 재시도
- 일정 시간 대기 후, 다시 1단계부터 반복하며 전송을 재시도함.
3. 재전송
- 최대 재전송 횟수 제한이 있음(이더넷(IEEE 802.3) 표준에선 최대 16회까지 재전송 시도)
- 매번 충돌 후 기다리는 시간은 Binary Exponential Backoff 방식으로 늘어남
- 16번 연속 실패하면, 전송 실패로 간주하고 포기함
This post is licensed under CC BY 4.0 by the author.