OSI 2계층: 데이터 링크 계층

Choizz·2023년 3월 14일
0

OSI

목록 보기
3/5

이번 포스팅은 두 번째 계층인 OSI 2계층인 물리 계층에 대해 포스팅 해보려고 합니다.


데이터 링크 계층

  • 같은 랜에(같은 네트워크)서 데이터를 주고 받기 위해 필요한 계층입니다.
  • 네트워크 장비 간에 신호를 주고받는 규칙을 정합니다.
  • 일반적으로 이더넷(Ethernet) 규칙을 많이 사용합니다.

이더넷(Ehernet)

  • 이더넷은 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용하는 규칙입니다.
  • 컴퓨터 여러 대가 동시에 데이터를 보내면 데이터들이 서로 부딪힐 수 있습니다(충돌).
  • 이더넷은 데이터 충돌을 막기 위한 규칙으로 CSMA/CD 방식을 사용합니다. (현재는 거의 사용하지 않음, 스위치 사용)

    CSMA/CD: 이더넷에서 시점을 충돌을 피하기 위해 데이터 보내는 시점을 늦추는 방법.
    - CS(Carrier Sense) : 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지 확인한다.
    - MA(Multiple Access) : 케이블에 데이터가 프르고 있지 않다면 데이터를 보낸다.
    - CD(Collision Detection) : 충돌이 발생하고 있는지를 확인한다.

MAC(Media Access Control Address) 주소

  • 랜카드에 MAC 주소라는 전 세계에서 유일한 번호가 할당되어 있습니다.
  • 랜카드를 제조할 때 새겨지기 때문에 물리 주소라고도 부릅니다.
  • 48비트로 구성돼 있습니다.(제조사(24) + 일련번호(24))

MAC을 활용한 통신

  • 각 계층에서 헤더를 붙일 때, 데이터 링크 계층에서는 이더넷 헤더트레일러를 붙입니다.
  • 이더넷 헤더트레일러가 추가된 데이터를 프레임이라고 합니다.

이더넷 헤더

  • 목적지의 MAC 주소(6 바이트), 출발지 MAC 주소(6 바이트), 유형(2 바이트)로 구성돼 있습니다.
    • 유형(ethernet type): 프로토콜 종류를 식별하는 번호.

트레일러

  • 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용합니다.

통신 방법 예시(허브)

컴퓨터 1에서 컴퓨터 2로 허브를 통해 데이터를 전송한다고 가정해 보겠습니다.

  • 컴퓨터 1은 이더넷 헤더에 목적지인 컴퓨터 2의 MAC 주소와 자신의 MAC 주소를 넣고 데이터를 전송합니다.

  • 컴퓨터 1에서 캡슐화를 통해 이더넷 헤더와 트레일러를 추가하여 프레임을 만들고 물리 계층에서 전기 신호로 변환하여 네트워크를 통해 전송하는 것입니다.

  • 컴퓨터 1이 보낸 데이터는 허브의 포트를 통해 허브에 수신됩니다.

  • 그리고 나머지 모든 포트에 연결돼있는 컴퓨터에 데이터를 전송합니다.

  • 포트의 연결된 컴퓨터 들은 목적지 MAC 주소와 자신의 MAC 주소를 비교한 후 주소가 다르면 데이터를 파기 합니다.

  • 컴퓨터 2는 목적지 MAC 주소와 자신의 MAC 주소가 일치하므로 데이터를 받고 역캡슐화를 진행합니다.

  • 만약 컴퓨터 2가 동시에 데이터를 다른 컴퓨터에 전송하는 경우 충돌을 방지하기 위해 CSMA/CD가 사용됩니다.

스위치

  • 허브와 달리 스위치는 데이터 충돌이 발생하지 않습니다.
  • 스위치는 데이터 링크 계층에서 동작하고 레이어 2 스위치, 스위칭 허브라고도 불립니다.

MAC 주소 테이블

  • 스위치 내부에는 MAC 주소 테이블(브릿지 테이블)이라는 것이 있습니다.

  • 스위치의 포트 번호와 해당 포트에 연결돼 있는 컴퓨터의 MAC 주소가 등록돼 있는 데이터베이스입니다.

  • 컴퓨터 1에서 컴퓨터 2로 데이터를 전송한다고 가정할 때, 컴퓨터에서 목적지 MAC 주소가 추가된 프레임이 전송되면 스위치는 MAC 주소 테이블을 확인합니다.

    • 만약, 출발지 MAC 주소가 등록되어 있지 않으면, MAC 주소를 포트와 함께 등록합니다(MAC 주소 학습 기능).

  • 그런데, 목적지 MAC 주소는 아직 주소 테이블에 등록돼있지 않습니다.
  • 그래서, 우선 스위치는 모든 포트에 프레임을 보냅니다.<플러딩(flooding)>
  • 그 후, 데이터를 수신한 컴퓨터 2의 MAC 주소를 테이블에 등록합니다.

  • MAC 주소가 등록되고 나면, 이 후의 데이터 전달은 플러딩을 하지 않고, 테이블에 등록돼 있는 MAC 주소로 곧 바로 데이터를 전달합니다.<MAC 주소 필터링>

전이중 통신과 반이중 통신

전이중 통신

  • 데이터의 송수신을 동시에 통신하는 방식입니다.
  • 충돌이 발생하지 않습니다.
  • 스위치에서 사용하는 방식입니다.

반이중 통신

  • 회선 하나로 송신과 수신을 번갈아 가면서 통신하는 방식입니다.
  • 충돌이 발생합니다.
  • 허브에서 사용하는 방식입니다.

이러한 이유 때문에 대부분은 스위치를 사용합니다!

충돌 도메인

  • 충돌이 발생할 때, 그 영향이 미치는 번위를 충돌 도메인이라고 합니다.

  • 허브의 경우, 반이중 통신이기 때문에 연결돼잇는 전체 컴퓨터가 충돌 도메인입니다.

  • 스위치의 경우, 전이중 통신 방식이기 때문에 , 충돌 도메인이 전체 컴퓨터가 아닌 관련된 컴퓨터 끼리로 범위가 한정 됩니다.


Reference

profile
집중

0개의 댓글