[모두의 네트워크] 4. 데이터 링크 계층 : 랜에서 데이터 전송하기

진예·2023년 12월 15일
0

Network

목록 보기
4/8
post-thumbnail

💡 데이터 링크 계층 (Data Link Layer)

OSI 모델 2계층 : 네트워크 기기 간 데이터 전송 + 물리 주소 결정

물리 계층의 랜 카드에서 데이터를 전기 신호로 변환하여 주고받기 위해, 데이터 링크 계층에서는 네트워크 장비 간 신호를 주고받는 규칙을 설정한다. 그 중 일반적으로 사용되는 규칙은 이더넷(Ethernet)이다.


📒 이더넷

에서 데이터를 정상으로 주고받기 위한 규칙

허브는 한 컴퓨터가 특정 컴퓨터에게 데이터를 송신할 때, 모든 포트로 전기 신호를 보내 특정 컴퓨터를 제외한 나머지 컴퓨터에게도 데이터를 수신하게 된다는 특징을 가지고 있다.

이 때, 데이터는 목적지 정보를 포함하고 있기 때문에 나머지 컴퓨터가 데이터를 수신하더라도 목적지 정보가 자신과 다르면 해당 데이터를 무시하도록 규칙이 정해져있다.

또한, 모든 포트로 데이터를 보내기 때문에 여러 대의 컴퓨터가 동시에 데이터를 전송하게 되면 데이터 간 충돌이 발생할 수 있다. 이더넷은 이러한 충돌을 막기 위해 데이터가 흐르고 있으면 데이터 전송 시점을 늦춘다. 이를 CSMA/CD라고 한다.

✅ CSMA/CD

  • CS : 현재 케이블에 신호가 흐르고 있는지 확인
  • MA : 현재 케이블에 신호가 흐르고 있지 않다면 데이터 송신 가능
  • CD : 현재 케이블에 충돌이 발생하고 있는지 확인

하지만, CSMA/CD는 효율이 좋지 않아 현재는 거의 사용하지 않는다!


💡 MAC 주소

물리 주소 : 컴퓨터 네트워크에서 각 기기를 구분하기 위해 사용

MAC 주소는 제조사 번호 24비트 + 일련번호 24비트 = 48비트로 구성되어 있어 전 세계에서 유일한 번호이다.


📒 프레임

이더넷 헤더트레일러가 포함된 데이터 : 최종 전송되는 데이터

  • 이더넷 헤더 : 목적지 MAC 주소 (6바이트) + 출발지 MAC 주소 (6바이트) + 유형 (2바이트)

    • 유형 : 프로토콜 종류식별하는 번호
  • 트레일러 : 데이터 전송 중 오류가 발생하는지 확인

네트워크 상에서 데이터를 전송하기 위해 각 계층에서 캡슐화가 수행되는데, 그 중 데이터 링크 계층에서는 이더넷 헤더와 트레일러를 붙인다. 이 데이터를 물리 계층에서 전달받아 전기 신호로 변환하여 전송하게 된다. 데이터를 수신한 측에서는 이더넷 헤더에 적힌 목적지 MAC 주소와 자신의 MAC 주소를 비교하여 같으면 데이터를 수신하고, 다르면 파기한다.


📒 ARP

논리 주소 IP ➡️ 물리 주소 MAC 주소로 변환하는 프로토콜

  • ARP 요청 : 출발지 컴퓨터가 목적지 MAC 주소를 모르는 경우 네트워크에 브로드캐스트

  • ARP 응답 : 지정된 IP주소를 가진 컴퓨터는 응답으로 MAC 주소를 보냄

  • ARP 테이블 : 출발지 컴퓨터에서 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관하는 것


💡 스위치 (Switch)

특정 포트로만 데이터를 전송할 수 있는 장치 ↔ 허브


📒 MAC 주소 테이블

스위치의 포트 번호 + 해당 포트에 연결된 컴퓨터의 MAC 주소 저장

스위치는 허브와 달리 MAC 주소 테이블을 가지고 있어 포트 번호해당 포트에 연결된 컴퓨터의 MAC 주소를 저장해놓는다. 이 테이블을 활용하여 모든 포트에 데이터를 보내는 것이 아닌, 이더넷 헤더에 적힌 목적지의 MAC 주소에 해당하는 포트를 찾아 그 포트에만 데이터를 보내는 것이다. 이처럼 MAC 주소를 기준으로 목적지를 선택하는 것을 를 MAC 주소 필터링이라고 한다. 하지만, MAC 주소 테이블에 목적지 MAC 주소등록되어 있지 않은 경우에는 허브와 마찬가지로 모든 포트에 데이터를 전송하게 된다 (플러딩). 따라서, 각 컴퓨터의 MAC 주소를 테이블에 등록하는 것이 중요하다.

데이터를 전송할 때 출발지 MAC 주소등록되지 않은 경우, 주소와 포트를 함께 등록하는데 이를 MAC 주소 학습 기능이라고 한다.


💡 전이중 & 반이중 통신

📒 전이중 통신

데이터의 송수신동시에 통신하는 방식 : 충돌 X

ex) 랜 케이블 연결 (크로스 케이블), 스위치, ...


📒 반이중 통신

하나의 회선으로 송신과 수신번갈아가면서 통신하는 방식 : 충돌 O

ex) 허브, ...

충돌 도메인 : 충돌이 발생했을 때, 영향을 미치는 범위

  • 허브에서 충돌이 발생하게 되면, 연결된 모든 컴퓨터에 영향을 미치게 된다. ➡️ 네트워크 지연 가능성 ↑

✔️ 요약

  • 이더넷에서 데이터의 충돌을 방지하는 규칙으로 CSMA/CD 방식을 사용한다.

  • MAC 주소는 48비트다.

  • 이더넷 헤더는 14바이트로 구성되어 있는데, 그 중 목적지 MAC 주소 6바이트, 출발지 MAC 주소 6바이트, 유형 2바이트다.

  • 데이터 링크 계층에서 데이터의 마지막에 추가되는 것을 트레일러라고 한다.

  • 스위치의 포트 번호와 그 포트에 접속하는 컴퓨터의 MAC 주소가 등록되는 데이터베이스를 MAC 주소 테이블이라고 한다.

  • 스위치가 수신 포트 이외의 포트에 데이터를 송신하는 것은 플러딩이라고 한다.

  • 전이중 통신 방식이란 데이터의 송신과 수신이 동시에 일어나는 통신 방식이다.

  • 반이중 통신 방식이란 회선 하나로 송신과 수신을 번갈아가며 하는 통신 방식이다.

  • 데이터의 충돌이 발생하여 그 영향이 미치는 범위를 충돌 도메인이라고 한다.

profile
백엔드 개발자👩🏻‍💻가 되고 싶다

0개의 댓글