[Network] 3장 요약

3-1. LAN을 넘어서는 네트워크 계층

데이터 링크 계층의 한계

물리, 데이터 링크 계층만으로 LAN을 넘어서 통신하기 어렵다.

  • 이유?
    1. 물리, 데이터 링크 계층만으로 다른 네트워크까지의 도달 경로를 파악하기 어렵다.
      • 라우팅(routing): 패킷이 이동할 최적 경로를 결정하는 것
      • 물리, 데이터 링크 계층 장비: 라우팅 불가능
      • 네트워크 계층 장비: 라우팅 가능
    2. MAC 주소만으로 모든 네트워크에 속한 호스트의 위치를 특정하기 어렵다.
      • MAC 주소
        • 택배의 수신인 역할
        • NIC마다 할당되는 고정된 주소
      • IP 주소
        • 수신지 역할
        • 호스트에 직접 할당 가능하고, 한 호스트가 복수의 IP 주소를 가질 수도 있다.
      • MAC 주소 + IP 주소 활용: IP 주소 우선 활용(택배 보낼 때 수신지를 먼저 사용하는 것과 비슷)

인터넷 프로토콜

  • 인터넷 프로토콜(IP: Internet Protocol)
    • 네트워크 계층의 가장 핵심적인 프로토콜
    • 두 가지 버전
      • IPv4(IP 버전 4): 일반적으로 사용하는 버전이다.
      • IPv6(IP 버전 6)

 

  • IP의 기능
    • IP 주소 지정(IP addressing)
      • IP 주소를 바탕으로 송수신 대상을 지정
    • IP 단편화(IP fragmentation)
      • 전송 패킷의 크기가 MTU보다 클 때, 그 이하의 복수의 패킷으로 나누는 것
      • MTU(Maximum Transmission Unit): 한 번에 전송 가능한 IP 패킷의 최대 크기로, IP 패킷의 헤더도 포함된다.

 

  • IPv4
    • IPv4 패킷은 프레임의 헤더, 페이로드, 트레일러 중 페이로드로 데이터 필드에 명시된다.
    • 주소 형태(IPv4)
      • 4바이트(32비트), 4개의 10진수로 표기
      • 할당 가능 주소 2^32개로 약 43억개 → 주소 고갈 문제
      • 옥텟(octet): 점으로 구분된 8비트
      • 예. 192.168.1.1
    • IP 패킷 헤더
      • IP 단편화 기능
        1. 식별자(identifier)
          • 패킷에 할당된 번호
          • 패킷이 어떤 메시지에서부터 쪼개졌는지 인식하기 위해 사용된다.
        2. 플래그(flag): 총 3개의 필드로 구성된 필드
          1. 항상 0으로 예약된 비트로, 현재 사용하지 않는다.
          2. DF(Don’t Fragment): 1이면 IP 단편화를 수행하지 말 것, 0이면 단편화 가능
          3. MF(More Fragment): 1이면 쪼개진 패킷이 더 있음, 0이면 이 패킷이 마지막 패킷임
        3. 단편화 오프셋(fragment offset)
          • 패킷이 단편화되기 전 초기 데이터에서의 순서
          • 수신자가 패킷을 재조합하기 위해 사용된다.
      • IP 주소 지정 기능
        1. TTL(Time To Live)
          • 패킷의 수명
          • 패킷이 라우터를 거칠 때마다(홉마다) 1씩 감소, 0이 되면 폐기
          • 홉(hop): 패킷이 호스트 or 라우터에 한 번 전달되는 것
          • 무의미한 패킷이 네트워크상에 지속적으로 남아있는 걸 방지하기 위해 사용된다.
        2. 프로토콜
          • 상위 계층의 프로토콜이 무엇인지 나타낸다.
          • 예. TCP - 6번, UDP - 17번
        3. 송신지와 수신지 IP 주소
          • 송수신지의 IPv4 주소

 

  • IPv6
    • 부족한 IPv4 주소 고갈을 방지하기 위해 등장했다.
    • 주소 형태
      • 16바이트(128비트), 8개의 16진수로 표기
      • 할당 가능 주소 2^128개로 거의 무한
    • IP 패킷 헤더(IPv4에 비해 간소화)
      1. 다음 헤더(next header)
        • 상위 계층의 프로토콜을 가리킴 or 확장 헤더를 가리킴
        • 기본 헤더
        • 확장 헤더(extension header)
          • 추가적인 헤더 정보가 필요할 경우 확장헤더를 가질 수 있다.
          • 기본 헤더와 페이로드 데이터 사이에 위치
      2. 홉 제한(hop limit)
        • TTL 필드와 비슷하게 패킷의 수명을 나타낸다.
      3. 송신지와 수신지 IP 주소
    • 헤더는 40바이트로 고정적(Ipv4의 헤더는 가변적)

ARP

  • ARP(Adress Resolution Protocol)
    • IP 주소를 통해 MAC 주소를 알아내는 프로토콜
    • 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낸다.
    • 동작 과정
      1. ARP 요청
        • 네트워크 내의 모든 호스트에게 IP 주소를 브로드캐스트 방식으로 메시지를 전송한다.
      2. ARP 응답
        • 자신의 주소가 아닌 호스트는 무시하고, 자신의 주소인 경우 MAC 주소를 유니캐스트 방식으로 메시지를 전송한다.
      3. ARP 테이블 갱신
        • ARP 테이블: IP 주소와 MAC 주소 테이블을 대응하는 표
        • 일정 시간이 지나면 삭제되고, 임의로 삭제 가능하다.
        • 테이블 갱신이 되면 ARP 요청 보낼 필요가 없다.
    • 다른 네트워크에 속한 호스트의 통신
      • 네트워크가 외부로 나가기 위한 장비(라우터)의 MAC 주소를 알아내 패킷을 전송한다.
      • 예시. 호스트 A가 호스트 B에게 패킷을 전송할 때
        1. 호스트 A와 라우터 A의 ARP
        2. 라우터 A와 라우터 B의 ARP
        3. 라우터 B와 호스트 B의 ARP로 패킷 전달

출처 강민철님 혼자 공부하는 네트워크

Categories:

Updated:

Leave a comment