[데이터 통신과 네트워킹] Introduction to Data-link Layer

YJ·2024년 4월 7일
0

도입

Internet

  • 인터넷은 라우터나 스위치와 같은 장치들로 연결되는 네트워크 조합이다.
  • 만약 패킷이 호스트에서 다른 호스트로 전달되면, 이러한 네트워크들을 통과하는 경로가 필요하다.

노드와 링크

  • 한 호스트의 프레임은 다른 지점에 도달하기 위해 LAN과 WAN과 같은 많은 네트워크를 통해 전달된다.
    • 호스트와 라우터를 노드
    • 그 사이의 네트워크를 링크
  • data-link layer에서의 통신은 node-to-node로 이루어진다.
    • network layer에서의 통신은 end-to-end

서비스

data-link layer가 제공하는 서비스

  • Framing : frame에 datagrame을 encapsulation
    • header와 Trailer를 붙임
  • Flow Control : 소비되는 frame의 속도에 따라 생산되는 frame 속도 제어
    • 네트워크마다 다른 속도를 파악해서 데이터를 보내는 속도 조절
  • Error Control : error 발생 여부를 알아내고 폐기(discard)하거나 재전송(retransmit)
  • Congestion Control : 링크가 frame에 의해 혼잡해 질 수 있다. 이를 제어
    • 대부분의 data-link layer에서는 congestion control을 직접 사용하지 않음

링크의 두 가지 유형

  1. Point to Point Link : 서로 연결된 2개의 장치가 전용으로 사용

  1. Broadcast Link : 링크의 용량 중 일부만을 사용

1) bus형 - 케이블을 공유해서 사용

  • Tap : 데이터를 보내주고 받음, transeive라고도 부름

2) star형 : 허브에 연결

3) 기지국 : 무선으로 연결

  • Data Link Control(DLC)
  • Media Access Control(MAC) : broadcast에서만 필요
    • 케이블을 누가 쓸지 조절

  • 각 layer들의 address

  • packet은 IP 주소만을 사용해서는 목적지에 도달할 수 없다.

    • 목적지와 송신 측 IP 주소는 2개의 end를 정의한다.
    • 어느 링크를 따라 가야되는지 IP주소로 정해지는 것이 아니다.
  • datagrame이 network layer에서 data-link layer로 전달되는 경우

    • datagrame이 frame 속으로 encapsulation됨
    • 두 개의 link layer 주소가 frame header에 들어간다.
  • link-layer 주소와 같은 용어

    • Link Address, Physical Address, MAC Address, Ethernet
      Address, Hardware Address, Adaptor Address ...

IP와 link-layer address

  • frame이 한 link에서 다른 link로 갈때마다 link layer의 주소가 변경된다.

  • 주소 순서
    • IP 주소 : 송신측-수신측
    • link-layer 주소 : 수신측-송신측

주소의 세가지 유형

link-layer 프로토콜은 3가지 유형의 주소를 정의한다.

1) Unicast Address : one-to-one 통신

  • 2번쨰 자리가 짝수
  • 라우터의 각 호스트 또는 각 인터페이스에는 unicast 주소가 할당됨

2) Multicast Address : one-to-many 통신 (group)

  • 2번째 자리가 홀수
  • 관할 지역

3) Broadcast Address : one-to-all 통신

  • 48비트의 모든자리가 1
  • frame은 link 내에 모든 entity에게 전달된다.

Address Resolution Protoccol (ARP)

  • IP 주소는 frame을 다음 link로 이동하는데 도움이되지 않는다.
    • 다음 노드에 link-layer 주소가 필요하다.

  • Address Resolution Protocol
    • 중간 노드의 link-layer의 주소를 알려준다.
    • ARP는 IP 주소를 해당 link-layer의 주소로 매핑하여 data-link layer에 전달
    • network layer에 속한다.

  • ARP operation

  • Request

    • A는 B의 ip주소를 알고 있음
    • link-layer의 주소를 알아내야함
    • 누군지 모르니 broadcast를 함
  • Reply

    • B의 link-layer 주소를 unicast로 답변
  • ARP packet : 28 바이트

  • ARP packet은 data-link layer에서 frame으로 encapsulation된다.
  • Eternet frame
    • Eternet frame 길이는 64 바이트 (512 bit)
    • 데이터에 최소 길이는 46바이트, 최대 1500바이트
    • 만약 데이터가 46바이트보다 작으면 0을 채워줌

ARP requst와 response message 예시

  • A host
    • Ip 주소 N1
    • physical MAC 주소 L1
  • B host
    • IP 주소 N2
    • physical MAC 주소 L2 (A host는 모름)

  • ARP caching
    • A가 ARP를 사용하여 시스템 B의 link-layer 주소를 얻으면, A는 해당 주소를 캐시 메모리에 저장한다.
    • A의 ARP 캐시에는 20분 동안 저장된다.
    • A는 이 캐시 정보를 사용하여 B에게 프레임을 보낸다.

통신 예제

  • data-link lyaer에서 어떻게 통신이 일어나고, 어떻게 link-layer 주소를 찾는가?

1) Alice → R1

  • forwarding table을 조사해서 다음 목적지의 IP 주소를 찾음
  • 해당 IP 주소를 통해 ARP를 가지고 다음 목적지의 MAC 주소를 받아옴

2) R1 → R2

3) R2 → Bob

4) Bob

profile
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.

0개의 댓글

관련 채용 정보