[OSI 모델 Layer 2] - 데이터 링크 계층

Jin Hur·2022년 1월 16일
0

네트워크(Network)

목록 보기
14/24

reference: "하루 3분 네트워크 교실" / 아미노 에이지

요약

  • 2계층은 신호가 도달하는 범위(=세그먼트)에서의 데이터의 송수신을 생각한다.

  • 세그먼트를 넘는다는 것은 패킷 교환기인 라우터를 통해 이루어진다.

  • 2계층에서는 WAN과 LAN의 규칙이 다르다.

  • LAN에서는 '이더넷'이 사실표준이다.

  • 1대1인 유니캐스트, 1대 전체인 브로드캐스트, 1대 다수인 멀티캐스트가 있다.

  • 기기는 한 개 이상의 유니캐스트 주소를 가진다.

  • 이더넷에서는 MAC 주소가 사용된다.

  • 이더넷에서는 수신처와 송신처의 MAC 주소, 에러 체크 등을 헤더, 트레일러로 붙인다.

  • 수신한 프레임의 수신처가 자기가 아닌 경우 파기한다.

  • 되도록 충돌을 막기 위해 CSMA/CD를 사용한다.

  • 충돌은 허브에서 발생한다.

  • 스위치는 'MAC 주소 필터링'과 '버퍼링'으로 충돌을 막는다.

  • MAC 주소 필터링: 수신처 MAC 주소에 대응한 포트만 프레임을 송신하는 것이 MAC 주소 필터링이다.

  • 버퍼링으로 수신처가 같은 프레임의 충돌을 막는다.

  • 스위치를 사용함으로써 CSMA/CD를 사용할 필요가 없어서 전이중 이더넷이 가능해진다.


2계층의 개요

source: https://velog.io/@hidaehyunlee/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%8A%B8-%ED%8C%A8%ED%82%B7-%ED%97%B7%EA%B0%88%EB%A6%B4-%EB%95%90-PDU%EB%A5%BC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

2계층에서 생각하는 범위

2계층에서 생각하는 범위인 '세그먼트'

  • 멀티액세스 네트워크라면 허브에 의해 연결되어 있는 범위
  • 포인트 투 포인트 네트워크라면 컴퓨터와 라우터, 라우터와 라우터 사이

프레이밍과 신호의 동기

1계층에서 다루는 신호랑 케이블 등에 따라 2계층의 규격이 달라짐.
2계층에서는 1계층에서 사용되고 있는 케이블이나 신호에 따라 사용하는 규칙이 다르다. 규칙은 몇 가지가 있지만 간단히 분류하면 LAN용과 WAN용이 있다. 3계층 이상의 계층에서는 LAN이나 WAN이나 동일한 사용한다.

LAN의 사실표준: 이더넷(Ethernet)


주소와 캐스트

2계층은 '세그먼트'라는 범위에서 어떻게 데이터를 송수신할지를 생각하는 계층이다.
멀티액세스 컴퓨터라면 '허브에 연결되어 있는 범위', 포인트 투 포인트 네트워크라면 '컴퓨터와 컴퓨터의 범위'이다.

LAN의 2계층에선 이더넷이 사실 표준이다.
(2계층은 LAN하고 WAN에서 사용하는 규칙이 다르다. LAN용은 이더넷을 사용한다.)

주소(address)

주소를 어떻게 사용할지, 어떻게 배정할지 같은 것을 어드레싱(addressing)이라고 한다.

데이터 전송 방법에 따라 3종류의 주소가 있다. 유니캐스트, 브로드캐스트, 멀티캐스트라는 3종류의 전송 방법이 있다. 이들은 각각 유니캐스트 주소, 브로드캐스트 주소, 멀티캐스트 주소를 사용한다.

각각의 기기는 유니캐스트 주소를 적어도 한 개 갖고 있다. 유니캐스트 주소를 수신처로 해서 다른 기기는 그 기기에 데이터를 송신하게 된다. 유니캐스트 주소는 유일해야 한다.
(라우터처럼 복수의 인터페이스를 가진 기기는 인터페이스마다 유니캐스트 주소를 갖는다.)

반면 멀티캐스트 주소는 같은 주소를 가진 기기가 여러 개 있어도 된다. 멀티캐스트 주소는 '그룹 번호'같은 취급을 한다. 멀티캐스트에 보내고 싶은 경우에는 수신처를 그룹으로 하면 그 그룹에 속한 기기가 수신된다.

MAC 주소

이더넷에서 사용되는 주소는 MAC 주소라고 불리는 주소로 이는 "인터페이스에 지정된 고정 주소"이다.

인터페이스가 고장나서 다른 인터페이스로 교환하거나 하면 MAC 주소도 변경된다. MAC 주소는 48비트 값으로 4비트마다 16진수로 고쳐씀.


이더넷 프레임

이더넷에서는 '이더넷 헤더'와 '이더넷 트레일러(꼬리부)'를 (IP)데이터그램에 붙여서 '이더넷 프레임'으로 캡슐화하고, 이 이더넷 프레임이 신호(1계층)가 돼서 케이블로 전달된다.

헤더에는 '수신처의 주소', '송신처의 주소', '페이로드의 내용을 식별하는 타입'이 붙는 것이고, 트레일러는 에러를 체크하는 'FCS'가 붙는다.

신호가 전송되는 동안에 문제가 생겨서 정확하게 읽을 수 없게 되거나 '0'을 '1'로 또는 그 반대로 읽어버리는 경우가 있다. 그런 에러를 체크하기 위해 FCS를 붙여둔다.

이더넷 동작

LAN에서는 허브를 사용한 멀티액세스 네트워크를 채용하는 경우가 많은데 허브를 사용한 경우 신호는 "'플러딩'에 의해 허브에 연결되어 있는 모든 기기에 신호가 도달"한다.
허브를 사용한 멀티액세스 네트워크의 경우는 신호, 즉 데이터는 모든 기기에 도달하게 된다. 그래서 이더넷은 수신한 프레임의 수신처 MAC 주소를 보고 자기에게 온 것 외의 다른 프레임을 파기한다.

충돌 => CSMA/CD

멀티액세스 네트워크의 경우 동시에 신호가 충돌해서 읽을 수 없게 될 가능성이 '충돌'이다. 이더넷에서는 '신호를 보내는 타이밍을 겹치지 않도록 비켜나게'함으로써 '되도록 충돌이 일어나지 않도록'하는데, 이를 위해서 CSMA/CD라는 엑세스 제어를 시행한다.


허브와 스위치

CSMA/CD는 충돌을 '막는 것'이 아닌 '일어나기 어럽게' 하는 것이다. 충돌 도메인 내 컴퓨터의 수가 많으면 CSMA/CD를 사용해도 결국 2대의 컴퓨터가 동시에 송신할 가능성이 크기에 충돌 피할 순 없다.

'신호가 지나는 길을 나누는 방법'으로 이 충돌을 피할 수 있는데 바로 스위치라는 기기를 허브 대신 사용하는 것이다. (허브 => 스위치 치환)

MAC 주소 필터링

스위치 안에서 수신한 프레임을 따로따로 보낼 수 있도록 처리해서 충돌을 막는다. (1) 'MAC 주소 필터링'(2) '버퍼링'을 시행하는 것이다.

MAC 주소 필터링은 '학습'과 '스위칭'이라는 동작으로 이루어져 있다.
학습은 수신한 프레임의 송신처 MAC 주소를 기록한다. 이것으로 수신하는 포트랑 MAC 주소를 연관짓는다. 그리고 이를 '어드레스 테이블'에 기록한다. 이 테이블을 통해 다음의 스위칭에 활용한다.

프레임의 수신처 MAC 주소를 보고 그 MAC 주소가 있는 포트만 프레임을 송신하는 방식으로 충돌을 피할 수 있다. 그 결과 수신처가 다른 프레임이 동시에 스위치에 도달해도 충돌은 발생하지 않게 되는 것이다.
(MAC 주소에 의해 송신하는 포트를 필터링 하기 때문에 MAC 주소 필터링이라 함.)


버퍼링

  • 수신처가 다른 프레임이 동시에 스위치 도달 => 'MAC 주소 필터링'으로 충돌 회피
  • 수신처가 같은 프레임이 동시에 스위치 도달 => '버퍼링'으로 충돌 회피

충돌할 것 같은 프레임을 버퍼에 일시적으로 저장해 둔다.


결국 충돌 도메인은 '스위치'에 의해 분할된다.
허브로 묶여진 동일 충돌 도메인의 노드들이 '허브->스위치' 치환을 통해 분활된 것이다.

source: https://duddnr0615k.tistory.com/176


전이중 이더넷

스위치를 사용하면 전이중 통신이 가능해진다. 이를 전이중 이더넷이라 한다.

허브에서는 충돌이 발생하기에 수신 중에는 수신만 한다. 송신 중에는 다른 데서 송신해 오지 않는다(수신하지 않는다). 따라서 허브를 사용한 이더넷은 반이중 통신이다.
(반이중 통신 예: 무전기)

반면 스위치에서는 충돌이 발생하지 않고 또 케이블상에서도 충돌이 발생하지 않기에 송신 중이라도 수신할 수 있다. 따라서 스위치를 사용한 이더넷은 전이중 통신이 가능하다.
(전이중 통신 예: 전화)

단, 스위치와 허브를 캐스케이드 접속한 경우에는 허브에서 충돌이 발생하기에 전이중 통신을 불가능하다.
스위치끼리 캐스케이드 접속을 하면 충돌이 발생하지 않기에 어느 통신이라도 전이중 통신이 가능하다.

0개의 댓글

관련 채용 정보