[네트워크] 6.1 MAC & ARP

PADO·2020년 12월 14일
0

컴퓨터 네트워크

목록 보기
27/27
post-thumbnail

Next hop IP addr ↔ L2 MAC addr 관계를 Mapping 해주는 게 ARP.

hosts and routers → node

wired links, wireless links → link

layer-2 packet → frame

data-link layer의 목표는 layer 3가 있는 다음 인접 노드까지 datagram을 전달해주는 것.

framing

encapsulate datagram into frame, adding header (src/dst MAC addr), trailer

channel access if shared medium

reliable delivery btw. adjacent nodes

flow control, error detection, error correction

link layer implemented in "adaptor" (Network Interface Card)

Point-to-Point networks (typically WAN)

link의 한 쪽 끝에 src, 한 쪽 끝에 dest가 있는 구조.

Ex. ADSL, VDSL, Ethernet switch and host
(switch와 hub의 차이는 buffer의 유무, buffer가 없는 hub는 input을 flooding, link당 속도가 같음)

Broadcast networks (typically LAN)

동일한 하나의 공유된 채널에 다수의 노드들이 연결. link가 연결된 모든 노드가 receive

Ex. Wifi, HFC

→ interference, collision 발생, Media Access Control이 필요.

Multiple access protocol

다수의 송수신 노드들이 공유되는 broadcast채널로의 접속을 조정하는 문제

모든 노드들이 프레임을 전송할 수 있으므로, 2개 이상의 노드가 동시에 프레임을 전송하면 모든 노드는 동시에 여러 개의 프레임을 받게 된다. 즉, 프레임들이 각 receiver에서 충돌하는 것이다.

channel partitioning

TDMA, FDMA, CDMA

Collision Detection (CSMA-CD)

충돌이 검출 되었을 때 전송을 중단.

Collision Avoidance (CSMA-CA)

Hidden node problem: In wireless environments, there is a case in which two senders A and B cannot sense each other, but they can reach a common Wi-Fi access pointer (C). Therefore, A and B may send a packet to C at the same time which causes collision.

MAC addresses (LAN address)

link 계층 주소를 가진 것은 host나 router가 아닌 Network Interface Card(어댑터)이다.

다수의 NIC를 갖고있는 host나 router는 여러 개의 링크 계층 주소를 갖게 된다.

그러나 링크 계층 스위치는 host나 router를 연결해 주는 인터페이스에 링크 계층 주소를 할당 받지 않는다.

  • MAC주소는 길이가 6byte(48bit), 각 바이트는 2개의 16진수로 표현된다.
  • MAC주소는 어댑터의 위치에 따라 변경되지 않는다. (주민 번호) ← IEEE에서 관장
    이에 반해 IP주소는 host가 이동하면 변경 되어야 한다. (우편 번호)
    ⇒ no hierarchical structure

ARP : Address Resolution Protocol

IP주소는 알지만 MAC주소는 모르는 상태, MAC주소를 알아야 dest의 2계층까지 가져다 줌.

ARP msg를 보내어 각 host와 router들은 IP에 따른 MAC주소를(broadcast로 요청) ARP table에 keep.

IP주소와 MAC주소 간에 변환이 필요하다.ARP는 IP주소를 MAC주소로 변환해준다.

DNS와 비슷하지만, DNS는 인터넷의 임의의 장소에 있는 호스트 네임을 IP주소로 변환해 주는 반면,

ARP는 동일한 subnet 상에 있는 host나 router의 IP주소 만을 변환해준다.

IP datagram의 헤더에 있는 dest IP주소는 도착할 때까지 바뀌지 않는 반면, Layer2 frame 헤더에 있는 MAC 주소는 1 hop delivery 시마다 주소가 바뀐다.

Scenario (L5~L2)

  1. 노트북을 켜고 DHCP(L5)를 run (내 IP와 default gateway router의 IP와 LDNS의 IP 설정)
    → Internet이 enabled 됨. (DHCP는 UDP위에 있음)
    destination 주소의 특정한 MAC주소가 필요없이 broadcast하니 아직 ARP X.
  2. HTTP request. www.google.com 하면 DNS 메시지가 날라감
    LDNS 서버가 구글의 DNS 서버를 찾아 IP주소를 돌려줌
    첫 ARP table 형성. 처음으로 gateway router까지 ARP로 one hop 전송
  3. 1 hop을 갈 때마다 dest MAC addr는 변경됨.
    ⇒ one hop 갈 때마다 src, dest MAC 주소가 바뀐다!
  4. TCP 3-way handshaking
  5. HTTP request

Keywords

  • Broadcast network (like shared Ethernet or Wi-Fi), requires

-- "link layer address to identify a receiver of datagram" and

-- "media access control (MAC)

--- to avoid collision among multiple senders and

--- to decide who can send now?"

  • Ethernet performs CSMA/CD (Carrier Sensing Multiple Access/Collision Detection)
  • Wi-Fi, CSMA/CA (Carrier Sensing Multiple Access/Collision Avoidance)

--- In wireless environments, there is a case in which two senders A and B cannot sense each other, but they can reach a common Wi-Fi access pointer (C). Therefore, A and B may send a packet to C at the same time which causes collision. This is called the Hidden node problem.

  • 1-hop delivery means "go to next-hop node" or "go over one subnet".
  • In broadcast network, ARP is required to find MAC address mapped into next_hop_IP_address.

It is called ARP (Address Resolution Protocol)

  • When a client host (H) wants to download a web page, what protocols are involved in order at the client host?

-- DHCP -> ARP (for going H's gateway router) -> DNS -> TCP -> HTTP

--- No ARP is required durning DHCP, since IP and MAC addresses in DHCP messages are all broadcast address.

--- The original ARP done by the host H during DNS is stored at its ARP table and will be reused later when sending TCP and HTTP messages to H's gateway router.

0개의 댓글