데이터 링크 계층

정문·2022년 6월 4일
0

Network

목록 보기
4/12

데이터 링크 계층

인접한 네트워크 노드끼리 데이터를 전송하는 기능과 절차를 제공
물리계층에서 발생할 수 있는 오류를 감지 및 수정
대표적인 프로토콜로 이더넷이 있으며 장비로는 스위치가 있음

2개의 부계층으로 구성

- MAC(Media Access Control) : 물리적인 부분으로 매체간의 연결방식을 제어하고 1계층과 연결

주요 기능

- Framing : Dategram을 캡슐화하여 프레임 단위로 만들고 헤더와 트레일러를 추가

  • 헤더는 목적지, 출발지 주소, 데이터 내용을 정의
  • 트레일러는 비트 에러를 감지

- 회선제어 : 신호간의 충돌이 발생하지 않도록 제어

  • ENQ/ACK 기법 : 장비와 장비가 1:1로 연결되어 있는 상태에서 사용됨

  • Polling 기법 : 1:多로 사용됨
    - Select 모드 : 송신자가 나머지 수신자들을 선택하여 전송
    - Poll 모드 : 수신자에게 데이터 수신 여부를 확인하여 응답을 확인하고 전송(multipoint)

- 흐름제어 : 송신자와 수신자의 데이터를 처리 하는 속도 차이를 해결하기 위한 제어

  • Stop & Wait : 매번 전송한 패킷에 대한 ACK응답이 와야 그 다음 패킷을 보냄 / ACK이 오지 않으면 일정시간 후 다시 보냄 / Frame을 재전송 하게되면 Duplicate frame문제가 발생될 수 있어 시퀀스 넘버를 사용하여 동일 frame인지 구분하여 상위 계층으로 전달

  • Sliding window : ACK응답없이 여러 개의 프레임을 연속으로 전송 가능 / Window size는 전송과 수신측의 데이터가 저장되는 버퍼의 크기를 의미

- 오류제어 : 전송 중에 오류나 손실 발생 시 수신측은 에러를 탐지 및 재전송

  • ARQ(Automatic Repeat Request) : 프레임 손상 시 재전송이 수행되는 과정

Stop & Wait ARQ

전송 측에서 NAK을 수신하거나 시간 내에 ACK이 안오면 재전송

Go Back n ARQ : Sliding window에서 사용되는 방식

전송측 Frame 여러개 전송 -> 수신측 3번 Frame문제 발생 -> 수신측 NAK3으로 손상 응답
-> 전송측 3번이 포함된 345 재전송

Selective Repeat ARQ : Go Back n ARQ의 패키지 전체를 폐기하는(3번만 문제인데 345전부 폐기함) 비효율적인 부분을 개선함. 손상된 Frame만 선별해서 재전송.

이더넷 프레임 구조

- Ethernet v2

데이터 링크 계층에서 MAC통신과 프로토콜의 형식을 정의

  • Preamble : 이더넷 프레임의 시작과 동기화
  • Dest Addr : 목적지 MAC주소
  • Source Addr : 출발지 MAC주소
  • Type : 캡슐화 되어있는 패킷의 프로토콜 정의
  • Data : 상위 계층의 데이터로 46 ~ 1500바이트의 크기(46바이트보다 작으면 뒤에 패딩이 붙음)
  • FCS(Frame Check Sequence) : 에러 체크

L2스위치

2계층 대표적인 장비로 MAC주소 기반 통신 / 허브의 단점을 보완
Half duplex -> Full duplex / 1 Collision Domain -> 포트별 Collision Domain
라우팅 기능이 있는 스위치는 L3스위치라고 부름

- 동작방식 : 목적지 주소를 MAC주소 테이블에서 확인하여 연결된 포트로 프레임 전달

  1. Learning : 출발지 주소가 MAC주소 테이블에 없으면 해당 주소를 저장
  2. Flooding - Broadcasting : 목적지 주소가 MAC주소 테이블에 없으면 전체 포트로 전달
  3. Forwarding : 목적지 주소가 MAC주소 테이블에 있으면 해당 포트로 전달
  4. Filtering - Collision Domain : 출발지와 목적지가 같은 네트워크 영역이면 다른 네트워크로 전달x
  5. Aging : MAC주소 테이블의 각 주소는 일정 시간 이후 삭제

- Learning

4개의 PC는 스위치에 각 포트에 연결되고 프레임이 스위치에 전달
스위치는 해당 포트로 유입된 프레임을 보고 MAC주소를 테이블에 저장

- Flooding

PC1은 목적지 aa:bb:cc:dd:ee:05 주소로 프레임 전달
스위치는 해당 주소가 MAC Table에 없어서 전체 포트로 전달

- Forwarding

PC1은 목적지 aa:bb:cc:dd:ee:05 주소로 프레임 전달
스위치는 해당 주소가 MAC Table에 존재하므로 해당 프레임을 PC5로 전달

- Filtering

PC1은 목적지 aa:bb:cc:dd:ee:02 주소로 프레임 전달
스위치는 해당 주소가 동일 네트워크 영역임을 확인하여 다른 포트로 전달하지 않음
필터링은 각 포트별 Collision Domain을 나누어 효율적 통신이 가능

- Aging

스위치의 MAC주소 테이블은 시간이 지나면 삭제
이유는 테이블 저장공간을 효율적으로 사용하기 위함
해당 포트에 연결된 PC가 다른 포트로 옮겨진 경우도 발생
Cisco기준 기본 300초 저장, 프레임이 발생되면 다시 카운트

ARP(Address Resolution Protocol)

IP주소를 통해서 MAC주소를 알려주는 프로토콜
컴퓨터 A가 B에게 IP통신을 시도하고 통신을 수행하기 위해 목적지 MAC주소를 알아야 함
목적지 IP에 해당되는 MAC주소를 알려주는 역할을 ARP가 해줌

- 동작과정

  1. PC1은 목적지 IP 172.20.10.9로 패킷 전송을 시도하기 위해 우선 ARP Cache Table 확인


    172.20.10.9 없으므로 ARP Request 수행

  2. PC1은 목적지 IP 172.20.10.9에 대한 ARP Request 전송 - Broadcasting

  3. IP 172.20.10.9에서 목적지 MAC 주소를 ARP Reply로 전달

  4. 목적지 MAC주소는 ARP Cache Table에 저장되고 패킷 전송

- ARP 헤더 구조

  • Hardware Type : ARP가 동작하는 네트워크 환경, 이더넷
  • Protocol Type : 프로토콜 종류, 거의 IPv4
  • Hardware & Protocol Length : MAC주소 6Byte, IP주소 4Byte
  • Operation : 명령코드, 1 = ARP Request, 2 = ARP Reply
  • Hardware Address : MAC
  • Protocol Address : IP

profile
공부 정리 블로그

0개의 댓글