Skip to main content

[Network] Chapter 4. 데이터 링크 계층 : LAN에서 데이터 전송하기

모두의 네트워크 책을 읽고 공부한 노트입니다.




데이터 링크 계층의 역할과 이더넷 #

  • 데이터 링크 계층
    • 랜에서 네트워크 기기 간에 신호를 전송하고, 물리주소를 결정하는 계층이다.
    • 신호를 전송하기 위해 가장 많이 사용되는 규칙이 이더넷이다.
  • 이더넷(Ethernet)
    • 같은 네트워크 안에서 컴퓨터 및 기타 장치를 네트워크에 연결하기 위해 개발된 통신 표준이다.
    • 허브와 달리, 데이터에 목적지 정보를 추가해서 목적지 이외의 컴퓨터는 데이터를 받더라도 무시하게 되어 있다.
    • 이더넷은 충돌을 방지하기 위해 여러 컴퓨터가 동시에 데이터를 전송하면 시점을 늦춘다. 이것을 CSMA/CD 라고 한다.
      • 하지만 지금은 효율이 좋지 않아서 사용하지 않고, 스위치(switch)를 사용한다.
  • 충돌(collision)
    • 컴퓨터 여러 대가 동시에 데이터를 보내서 데이터들이 서로 부딪히는 것이다.
  • CSMA/CD
    • Carrier Sense (CS)
      • 데이터를 보내려고 하는 컴퓨터가 케이블에 신호가 흐르고 있는지 아닌지를 확인한다는 규칙이다.
    • Multiple Acess (MA)
      • 케이블에 데이터가 흐르고 있지 않다면 데이터를 보내도 좋다는 규칙이다.
    • with Collision Detection (CD)
      • 충돌이 발생하고 있는지를 확인한다는 규칙이다.



MAC 주소의 구조 #

  • 데이터 링크 계층에서는 이더넷 헤더와 트레일러을 붙인다.
    • 이 두 가지가 추가된 데이터를 프레임이라고 한다.
  • 이더넷 헤더(Ethernet Header) (총 14 bytes)
    • 6 bytes
      • 목적지의 MAC 주소
    • 6 bytes
      • 출발지의 MAC 주소
    • 2 bytes
      • 유형 (상위 계층 프로토콜 종류를 식별하는 16진수 번호)
  • 트레일러(Trailer)
    • FCS(Frame Check Sequence)라고도 한다.
    • 데이터 전송 도중에 오류가 발생하는지 확인하는 용도로 사용한다.
  • MAC(Medium Access Control) 주소
    • 이더넷의 물리적인 주소로써, 네트워크에서 기기를 구분하기 위해 사용하는 주소이다.
    • 랜 카드에 48bit의 숫자가 부여되어 있다.
    • 물리 주소라고도 부르며, 전 세계에서 유일한 번호이다.
      위치 의미
      앞쪽 24bit 랜 카드를 만든 제조사의 번호
      뒤쪽 24bit 제조사가 랜 카드에 붙인 일렬번호

  • 보내는 측의 컴퓨터에서
    • 데이터 링크 계층에서 이더넷 헤더와 트레일러를 추가해서 프레임을 만든다. (캡슐화)
    • 그러면 물리 계층에서 이 프레임 비트열을 전기 신호로 변환해서 네트워크를 통해 전송한다.
    • 허브는 연결된 모든 포트로 데이터를 전송한다.
    • 이때 연결된 각각의 컴퓨터는 목적지의 MAC 주소가 자신의 MAC 주소와 다르면 데이터를 파기한다.
    • 만약에 동시에 여러 대의 컴퓨터가 동일한 목적지로 데이터를 전송하면?
      • 충돌을 방지하기 위해서 CSMA/CD 방식을 사용한다.
  • 받는 측의 컴퓨터에서
    • 목적지의 MAC 주소가 자신의 MAC 주소와 같다면 데이터를 수신한다.
    • 물리 계층에서 전기 신호를 비트열로 변환하고,
    • 데이터 링크 계층에서 이더넷 헤더와 트레일러를 분리한다. (역캡슐화)



스위치의 구조 #

스위치
Image Source

  • 스위치(switch)
    • 레이어 2 스위치, 스위칭 허브라고도 불린다.
    • 허브와 마찬가지로 여러 기기를 하나로 연결하는 장치이다. 다른 점은 원하는 목적지에만 신호를 보낸다는 것이다.
  • 그러기 위해서, 내부에 MAC 주소 테이블을 가지고 있다.
    • 스위치의 포트 번호, 스위의 포트에 연결되어 있는 컴퓨터의 MAC 주소가 등록되어 있는 데이터베이스이다.
    • 처음에는 아무것도 등록되어 있지 않지만, 프레임이 전송되면 등록된다. (MAC 주소 학습 기능)
    • 처음에는 아무것도 등록되어 있지 않아서, 특정 컴퓨터 목적지로 데이터를 전송해도 모든 컴퓨터에 데이터가 전송된다. 이것을 플러딩(flooding) 이라고 한다.
    • 이 후 등록되면 목적지인 컴퓨터에만 데이터가 전송된다. 이처럼 MAC 주소를 기준으로 목적지를 선택하는 것을 MAC 주소 필터링이라고 한다.



데이터가 케이블에서 충돌하지 않는 구조 #

  • 통신 방식
    방식 설명 동시 전송 시 예시
    반이중 통식 방식 데이터 송신과 수신을 번갈아가면서 통신하는 방식 충돌 발생 O 허브
    전이중 통식 방식 데이터 송수신을 동시에 통신하는 방식 충돌 발생 X 스위치
    • 스위치는 전이중 통신 방식을 사용하기 때문에 네트워크 업체 대부분이 허브 대신 스위치를 사용한다.

  • 충돌 도메인(collision domain)
    • 충돌이 발생할 때 그 영향이 미치는 범위이다.
    • 허브는 접속되어 있는 모든 컴퓨터가 충돌 도메인이 된다.
    • 스위치는 충돌 도메인이 좁으므로 네트워크가 지연되지 않는다.

  • ARP(Address Resolution Protocol)
    • 네트워크 계층과 데이터 링크 계층 주소 사이의 변환을 담당한다.
    • 목적지 컴퓨터의 IP주소를 이용해서 MAC 주소를 찾기위한 프로토콜이다.
    • 출발지 컴퓨터는 목적지 컴퓨터의 MAC 주소를 프레임에 담아야 한다.
    • 이걸 모르면, 네트워크에 브로드캐스트 한다.(ARP 요청)
    • 그러면 지정된 IP주소를 갖은 컴퓨터는 MAC 주소를 응답으로 보낸다.(ARP 응답)
    • 출발지 컴퓨터는 얻은 MAC 주소와 IP 주소의 매핑 정보를 메모리에 보관한다. (ARP 테이블)
    • 일정 시간이 지나면 ARP 캐시를 삭제하고 다시 ARP 요청을 한다.



이더넷의 종류와 특징 #

  • 이더넷은 케이블 종류나 통신 속도에 따라 다양한 규격으로 분류된다.
  • 규격 예시: 10BASE5, 10BASE-T
    • 10
      • Mbps 단위인 통신 속도이다.
    • BASE
      • BASEBAND라는 전송 방식을 나타낸다.
    • 5
      • 동축케이블의 경우 케이블의 최대 길이를 나타낸 것이다.
    • _T
      • UTP 케이블의 경우 그 종류를 나타낸다.