ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크 13주차: Link) ARP, ethernet
    교내 강의/컴퓨터 네트워크 2024. 6. 3. 20:24

    MAC Address:

    3계층에서는 32bit IP로 주소를 구분한다.

    2계층에서는 MAC 주소 (Media Access Control address)를 쓴다. (물리적 주소)

    (맥 주소는 물리적으로 연결된 인터페이스 간에 프레임을 전송하는 데 사용된다)

     

    맥 주소는 48비트로 표현한다.

    16진수(4비트)를 12개 이어붙인 형태로 사용하며 두 개씩 끊어서 하이픈('-') 으로 구분한다.

    (예시 : 1A-2F-BB-76-09-AD)

     

    LAN 환경의 모든 인터페이스는 고유한 맥 주소를 가지고 있다. 


    ARP Protocol:

    IP를 이용해 MAC주소를 알아내는 프로토콜.

     

    모든 IP 노드는 ARP table을 가지고 있다.
    ARP table에는 정보가 <IP address, MAC address, TTL> 형식으로 저장된다.

    TTL은 언제까지 이 주소 매핑을 저장할지 유효 시간을 나타낸다. (보편적으로 20분을 사용한다.)

     

    ARP의 동작 방식:

    A가 B에게 datagram을 보내려고 할 때,

    A의 ARP테이블에 B의 MAC주소가 없을 경우 ARP Protocol을 사용한다.

    • A는 MAC주소를 FF-FF-FF-FF-FF-FF로 설정하여 ARP query 패킷을 boradcast 한다.
    • LAN에 속한 모든 노드는 ARP query 패킷을 받는다.
    • B는 ARP query 패킷을 받고 A에게 MAC 주소를 보내준다. (Unicast)
    • A는 받은 MAC주소를 ARP table에 저장한다.

    *ARP는 pulg-and-play이다.

     

    ARP format:

    Hardware type: Ethernet(0001) 2Bytes

    Protocol type: IPv4 (0800) 2Bytes

    Hardware Address Length: MAC 주소 길이 = 6Bytes(06)

    Protocol Address Length: IPv4 주소 길이 = 4Bytes(04)  

    Opcode: 물어보는지 응답하는지 표기 (0001로 요청 0002로 응답)

    출발지 MAC 6Bytes-> 출발지 IPv4 4Bytes-> 목적지 MAC 6Bytes-> 목적지 IPv4 4Bytes

     

    Addressing(routing to another LAN):

    *DHCP를 통해 first hop router의 IP, DNS서버의 IP와 이름, network mask 

    0. A에서 B로 보낼 때 우선 LAN인지 WAN인지 체크한다.

    1. WAN인 경우 MAC주소에 라우터의 주소를 명시해서 frame을 전송한다.

    2. 라우터에서 frame의 헤더를 제거한 뒤 network layer로 보낸다.

    3. 라우터의 내부 라우팅 테이블을 보고 outgoing link를 결정한다.

        Link layer로 내려보내고 src/dest MAC을 명시해서 보낸다.

    4. frame이 B에 전달되면 datagram을 추출해서 IP에게 전달한다.

    *여기서 모든 MAC 주소는 ARP 프로토콜로 얻어낸다.

     


    Ethernet:

    이더넷은 가장 대표적인 컴퓨터 네트워크 기술 중 하나로, 같은 네트워크 안의 컴퓨터끼리 데이터를 주고 받을 때 사용된다.

    IP datagram을 Ethernet Frame으로 캡슐화 한다.

    여담 : 이더넷이라는 말은 빛의 매질이라 상상했던 가상의 물질인 에테르 (ether) 에서 따 왔다고 한다. 연결을 정의하는 맥락이라고 이해하면 될 것 같다

    preamble에서는 clock을 맞춘다. (101010 ... 으로 7바이트를 보내고 마지막 한바이트에서 ...101011로 싱크를 맞춤)

    *dest를 먼저보내는 이유는 본인인지 먼저 확인하고 아니면 받지 않으면 되기 때문이다.

    (wireshark에서는 본인 패킷이 아니여도 끝까지 받음, sniffing)

    • type : 상위 계층에서 어떤 프로토콜을 사용하는지를 나타낸다. 대부분 IP 이지만 다른 것도 가능하다. demultiplex 에 사용한다.
    • crc: CRC로 에러체크를 한다. (에러가 있으면 drop한다)

    type에서 사용하는 코드

     

    Ethernet: connectionless, unreliable

    connectionless: handshaking 과정이 존재하지 않는다.

    unreliable: ACK 이나 NAK 과 같은 확인 메시지를 보내지 않는다.

    *CSMA/CD와 binary backoff을 사용한다.

    Ethernet: physical topology

    bus:

        모든 노드는 충돌이 발생가능하다. (collision domain)

    star:

        active switch가 중앙에 있다.

        충돌이 없다.


    Physical layer:

    중요하지 않다.

    선 종류에 따라 대역폭이나 속도가 달라진다.

    이정도만 알고 넘어가자.

    '교내 강의 > 컴퓨터 네트워크' 카테고리의 다른 글

    14주차: Link) MPLS, DataCenter  (1) 2024.06.08
    13주차: Link) switch, VLAN  (1) 2024.06.04
    12주차: Link) MAP  (0) 2024.05.30
    12주차: Link) EDC(Error Dectection, Correction)  (0) 2024.05.25
    11주차: NET) AS SDN  (0) 2024.05.22
Designed by Tistory.