[혼자 공부하는 네트워크] 3-1 LAN을 넘어서는 네트워크 계층

술술·2024년 9월 2일
0

데이터 링크 계층의 한계

  • 다른 네트워크까지의 도달 경로를 파악하기 어려움
    • 라우팅 - 패킷이 이동할 최적의 경로를 결정하는 것
    • 라우터 - 라우팅을 수행하는 대표적인 장비
  • MAC 주소 만으로는 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어려움
    • MAC 주소와 IP 주소는 함께 사용 되고, 기본적으로 IP 주소를 우선 활용

      IP 주소MAC 주소
      택배의 수신지 역할택배의 수신인 역할
      논리 주소물리 주소
      - 유동적으로 할당
      - 자동으로 할당 받거나 사용자가 직접 할당
      NIC마다 할당되는 고정된 주소




IP

  • 인터넷 프로토콜
  • 물리 계층과 데이터 링크 계층의 한계를 극복하는 프로토콜
  • IPv4(기본), IPv6
  • 기능
    • 주소 지정(IP addressing)
    • 단편화(IP fragmentation)

💬 RFC 문서

  • 네트워크/인터넷 관련 신기술 제안, 의견 등을 남긴 문서
  • 일부 RFC는 오늘날까지 사용되는 인터넷 표준이 됨

주소 지정

  • IP 주소를 바탕으로 송수신 대상을 지정하는 것을 의미
  • 4바이트(32비트)로 하나의 주소를 표현
  • 숫자당 8비트로 표현: 0~255 범위 안에 있는 네 개의 10진수로 표기
  • 각 숫자는 점(.)으로 구분
    • 점으로 구분된 8비트를 옥텟(octet)이라 함


단편화

  • 전송하고자 하는 패킷의 크기를 MTU 이하의 복수의 패킷으로 나누는 것
  • MTU(Maximum Transmission Unit)
    • 한 번에 전송 가능한 IP 패킷의 최대 크기
    • IP 패킷의 헤더도 MTU 크기에 포함
    • 일반적인 MTU 크기는 1500바이트
    • MTU 크기 이하로 나누어진 패킷은 수신지에 도착하면 다시 재조합


IPv4

  • IPv4 패킷은 프레임의 페이로드로 데이터 필드에 명시


IPv4 패킷의 핵심 필드

  1. 식별자(identifier)
    • 패킷에 할당된 번호
    • 쪼개져서 도착한 IPv4 패킷들이 어떤 메시지에서 쪼개졌는지를 알기 위해 사용

  2. 플래그(flag)
    • 3개의 비트로 구성
    • 첫 번째 비트는 항상 0: 현재 사용하지 않음
    • DF 비트 - IP 단편화를 수행하지 말라는 표시
      • 1 - 단편화 수행 X, 0 - 단편화 가능
    • MF 비트 - 단편화된 패킷이 더 있는지를 나타냄
      • 1 - 쪼개진 패킷 더 있음, 0 - 마지막 패킷

  3. 단편화 오프셋(fragment offset)
    • 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타냄
      • 수신지가 패킷들을 순서대로 재조합 하려면 단편화 된 패킷이 초기 데이터에서 몇 번째에 해당하는 패킷인지 알아야 함

  4. TTL(Time To Live)
    • 패킷의 수명
    • 무의미한 패킷이 네트워크 상에 지속적으로 남아있는 것을 방지하기 위해 존재
    • 패킷이 하나의 라우터를 거칠때마다 TTL이 1씩 감소, 값이 0으로 떨어진 패킷은 폐기
    • 홉 - 패킷이 호스트 또는 라우터에 한 번 전달되는 것
      • 홉마다 1씩 TTL 감소

  5. 프로토콜
    • 상위 계층의 프로토콜이 무엇인지를 나타내는 필드

  6. 송신지 IP 주소
  7. 수신지 IP 주소


IPv6

  • 이론적으로 할당 가능한 IPv4 주소 개수는 2^32 개로 약 43억개
  • 전 세계 인구가 하나씩 IP 주소를 가지고 있어도 부족
  • IPv6은 16바이트(128비트)로 주소를 표현할 수 있고, 콜론으로 구분된 8개 그룹의 16진수로 표기
  • 이론적으로 할당 가능한 IPv6 주소는 2^128개 - 사실상 무한에 가까움


IPv6 패킷의 핵심 필드

  1. 다음 헤더(next header)
    • 상위 계층의 프로토콜 또는 확장 헤더를 가리키는 필드
    • 확장 헤더
      • IPv6는 기본 헤더와 더불어 확장 헤더라는 추가 헤더를 가질 수 있음
      • 확장 헤더는 기본 헤더와 페이로드 데이터 사이에 위치
      • 마치 꼬리에 꼬리를 물듯 또 다른 확장 헤더를 가질 수도 있음
  2. 홉 제한
    • IPv4 패킷의 TTL 필드와 비슷
    • 패킷의 수명을 나타내는 필드

  3. 송신지 IP 주소
  4. 수신지 IP 주소



ARP(Address Resolution Protocol)

  • IP 주소를 통해 MAC 주소를 알아내는 프로토콜
  • 동일 네트워크 내에 있는 송수신 대상의 IP 주소를 통해 MAC 주소를 알아낼 수 있음
  • ARP 동작
    • ARP 요청
      • 네트워크 내의 모든 호스트에게 브로드캐스트 메시지를 보냄
      • 이 브로드캐스트 메시지 = ARP 요청이라는 ARP 패킷
    • ARP 응답
      • 네트워크 내의 모든 호스트가 ARP 요청 메시지를 수신하지만, B를 제외한 나머지 호스트는 자신의 IP 주소가 아니므로 무시
      • 이 유니캐스트 메시지는 ARP 응답이라는 ARP 패킷
    • ARP 테이블 갱신
      • ARP 테이블은 IP 주소와 그에 맞는 MAC 주소 테이블을 대응하는 표
      • ARP 테이블은 일정 시간이 지나면 삭제되고, 임의로 삭제할 수도 있음
      • ARP 테이블에 등록된 호스트에 대해선 ARP 요청을 보낼 필요 없음

통신하고자 하는 호스트 A와 B가 서로 다른 네트워크에 속해 있을 경우

  1. ARP 요청 - ARP 응답 과정을 통해 라우터 A의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
  2. ARP 요청 - ARP 응답 과정을 통해 라우터 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
  3. ARP 요청 - ARP 응답 과정을 통해 호스트 B의 MAC 주소를 알아낸 뒤, 이를 향해 패킷 전송
profile
Hello

0개의 댓글

관련 채용 정보