CS정리/컴퓨터 네트워크

[컴퓨터 네트워크] OSI 7 계층 소개 (2계층 : 데이터링크 계층)

freelini 2022. 3. 11. 15:28

2계층 : 데이터링크 계층 (Datalink Layer)

데이터링크 계층의 정의 및 특징

  • 서로 다른 주변 네트워크 장치들의 데이터를 주고 받을 수 있도록 함
  • 3계층과 연결되어 필요에 따라 데이터를 3계층으로 전달
  • 데이터링크 계층에서 전송되는 데이터 : 프레임(Frame)
  • 3계층에서는 프레임 전달은 MAC 주소를 기반으로 함
  • 스위치 기반으로, 스위치는 MAC-Table*을 사용하여 프레임을 전송함
  • 48bit의 16진수를 사용해서 표현됨
  • H/W 적으로 주소 변경은 불가능하지만, S/W를 사용해서 변경이 가능
  • 스위치 기반의 보안을 위해서 사용되기도 함

 

MAC 주소와 MAC-Table

MAC-Table이 완성되는 과정(1)

MAC Table*이란? : 스위치가 연결되어 있는 end device 사용자들의 MAC 주소를 저장한 테이블

  →  랜(LAN) 포트 간에 프레임을 효율적으로 전환하기 위해 테이블을 유지 및 관리함

 

MAC-Table이 완성되는 과정(2) 예시

  • MAC-Table 완성 전에는 전달 받고자하는 PC의 MAC 주소를 모르므로 보내는 PC에서 이외의 모든 PC로 프레임을 flooding* 하여 전달 
  • MAC-Table 완성 후에는 flooding을 멈추고 유니캐스트 통신(unicast, 1대1)을 통해 전달하고자 하는 PC로 직접 전달

flooding* 이란? : 어떤 사용자에게서 온 하나의 프레임 또는 패킷을 스위치나 라우터에 접속되어 있는 다른 모든 사용자로 전달하는 것

 

Aging Time

  • 스위치가 MAC-Table을 유지하는 시간. 평균 5분의 세팅
    • 5분보다 적으면 flooding point가 생겨 유니캐스트가 아닌 flooding이 자주 일어나므로 비효율적
    • 5분보다 많으면 스위치의 메모리가 한정되어 있어 MAC-Table이 커져야 하므로 좋지 않음

 

데이터링크 계층의 3가지 주요 기능

  1. 프레이밍(Framing) : 물리 계층에서 수신한 신호를 조합하여 프레임 단위의 정해진 크기로 데이터를 만듦 (랜카드 기반으로 전기적인 신호가 전송되면 프레임 단위로 환원)
  2. 흐름 제어(Flow Control) : 송신 측과 수신측 간에 흐름을 제어함 (예시. 너무 많이 프레임을 보내면 천천히 보내라고 흐름 제어)
  3. 오류 제어(Error Control) : 프레임 전송 시 발생한 오류를 복원하거나 재전송 (오류 발생시, 물리 계층에 관여하는 것이 아니라 2계층의 스위치에서 오류를 복원하거나 재전송함)

Sequence Number 예시

Sequence Number

  • 정의 : TCP에서 데이터를 보낼때 마다 각 데이터에 고유한 번호를 부여하여 전송. 이때 이 번호를 Sequence Number이라 칭함.
  • 설명 : 데이터를 보낼 때, 모든 양의 데잍러르 한꺼번에 보낼 수 없어 데이터를 segmentation해서 모두 잘라서 보냄. 이때, 데이터를 받을 때 재조립을 해야하는데 순서대로 도착하지 않으면 재조립이 어렵기에 보내기 전에 쪼개면서 sequence number을 붙임
  • 장점 : 목적지에 도착했을 때 보낸 순서대로 오지 않아도 sequence number을 기반으로 재조립해서 사용 가능