데이터링크 계층(L2)
- 같은 네트워크(LAN)에 있는 여러 대의 컴퓨터가 데이터를 주고받을 수 있게 작업
- MAC주소(물리주소)를 이용하여 출발지에서 정확한 목적지로 데이터(프레임) 전송 (Point-to-Point)
- 기능 : 흐름 제어, 프레임 동기화, 오류 제어, 순서 제어
이더넷(유선)
- IEEE 802.3
- 네트워크를 이루는 컴퓨터들의 통신 수단 중 하나
- LAN 환경에서 절대 다수를 차지하는 네트워크 이다
이더넷 프레임 구조
- 목적지 주소 : 목적지 MAC 주소(다음 노드), ARP로 알아냄
- 출발지 주소 : 출발지 MAC 주소(자기자신)
- Type : 데이터 타입(보통 IP)
WIFI(무선)
- IEEE 802.11
- 무선환경에서 사용하는 통신 수단
WIFI 프레임 구조
- Address 1 : AP(목적지) MAC 주소
- Address 2 : 출발지 MAC 주소
-
Address 3 : AP와 연결되어 있는 라우터의 MAC 주소
- AP는 스위치이기 때문에 출발지에서 전송한 프레임을 해석 할 수 없다
- 프레임을 해석할 수 있는 라우터에게 포워딩 할 라우터의 주소를 같이 적어준다
MAC 주소
- Media Access Control의 줄인 말로
NIC
에 할당된 고유 식별자 -
48비트(6바이트) : 16진수 12자리
00-00-00-00-00-00
앞 24비트 : OUI(Organizational Unique Identifier) - 제조사 코드
뒤 24비트 : UAA(Universally Administered Address) - 각 제조사가 부여한 고유 코드 - ARP를 통해 목적지의 MAC주소를 알아낼 수 있다
스위치
- 목적지 MAC 주소를 확인하고 해당 목적지로만 데이터를 전송한다
-
스위칭 테이블
에 MAC주소를 저장 후 참고한다
1. 플러딩
- 스위치가 처음 부팅되면
스위칭 테이블
에 아무런 정보가 없기 때문에 허브처럼 모든 포트로 데이터를 전송한다(브로드캐스팅) - 이렇게 스위치에 연결된 모든 곳으로 데이터를 전송하는 것
2. 어드레스 러닝
- 데이터를 목적지로만 보내기 위해
스위칭 테이블
을 만들고 유지하는 과정
3. 포워딩/필터링
- 목적지 MAC주소를 확인하고 해당 포트로만 데이터를 보내는 것
- 필터링 : 목적지 이외의 포트로는 데이터를 보내지 않는 것
- 유니캐스트로 전송
VLAN
- 물리적 배치와 상관없이 논리적으로 LAN을 분리하는 기술
- 한 대의 스위치를 여러 개의 VLAN으로 분할 할 수 있다
-
VLAN은 서로 독립적인 네트워크이기 때문에 VLAN간의 통신에는 라우터가 필요하다
- 포트기반 VLAN : 스위치의 포트를 기반으로 VLAN을 할당한다 (1번포트 : VLAN10 / 2번포트 : VLAN20)
- MAC기반 VLAN : 단말의 MAC주소를 기반으로 VLAN을 할당한다
통신방식
CSMA/CD(유선)
- Carrier Sence Multiple Access + Collision Detection
-
회선의 상태에 따라 누구든 동시에 접근할 수 있으면서 충돌을 감지해 제어하는 통신 방식
- 아무도 전송하지 않을 때 프레임을 전송하는 방식
- 아무도 전송하지 않는 것을 전송하기 전에 확인하더라도
Propagation delay
로 인해 충돌은 피할 수 없다- Collision : 어느 한 순간에 누군가의 프레임과 겹쳐지는 상황
- 충돌을 감지하면 전송을 즉시 멈추고 일정시간(Backoff) 후 재전송한다
- 충돌이 계속 일어난다면 Backoff 시간을 늘려간다
- 충돌이 안날 때 까지 계속해서 전송을 시도하며 언젠가는 전송이 완료되게 된다
- 데이터링크 계층은 손실률이 없기 때문에 전송을 하면 무조건 받았다고 생각해서 ACK신호가 없다
CSMA/CA(무선)
- Collision Avoidance
-
사전에 충돌이 가능한 상황을 회피하는 통신 방식
- 무선 LAN은 전송매체(공기) 상에서 충돌 감지가 불가능 하기 때문에 상황을 회피하는 방식을 선택해야 한다
-
무선의 상황은 손실률이 높기 때문에 receiver가 프레임을 받으면 ACK를 전송한다
- RTS/CTS 교환
- RTS: Request To Send / CTS : Clear To Send
- 노드는 AP로 데이터 전송을 하기 전에 AP에게
RTS 프레임
을 먼저 전송하여 전송해도 되는지를 확인한다 - RTS를 받은 AP는 전송 가능한 상태라면
CTS 프레임
을 모든 노드에게 전송해 응답한다 - CTS 응답을 받은 노드는 데이터 전송을 시작한다
- 데이터를 잘 받은 AP는
ACK
를 전송한다
- 노드는 AP로 데이터 전송을 하기 전에 AP에게
- RTS: Request To Send / CTS : Clear To Send