ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 네트워크] 네트워크 계층 -1 : 인터넷 프로토콜(IP:Internet Protocol)
    Network 2025. 1. 26. 22:40
    반응형

    네트워크 계층

    LAN을 넘어서 다른 네트워크와 통신하기 위해서 네트워크 계층의 역할이 필수적이다.

    • 물리 계층과 데이터 링크 계층의 한계
      1. 다른 네트워크까지의 도달 경로를 파악하기 어려움
        • 라우팅(routing) : 패킷이 이동할 최적의 경로를 결정하는 것
        • 라우터(router) : 라우팅을 수행하는 대표적인 장비
      2. 모든 네트워크에 속한 모든 호스트의 위치를 특정하기 어려움
        • IP주소와 MAC주소는 함께 사용되고, 기본적으로 IP 주소를 우선 활용
    IP 주소  MAC 주소
    택배의 수신지 역할 택배의 수신인 역할
    논리 주소 (소프트웨어적 할당) 물리 주소 (하드웨어적 할당, 변경 어려움)
    - 유동적으로 할당
    - DHCP(Dynamic Host Configuration Protocol)를 통해 자동으로 할당 받거나 사용자가 직접 할당 
     - NIC마다 할당되는 고정된 주소

     

    인터넷 프로토콜(IP:Internet Protocol)

    • IP 기능
      1. 주소 지정(IP addressing)
        • 각 장치(컴퓨터, 스마트폰 등)에 고유한 IP 주소를 부여하고, 이 IP 주소를 이용해 누가(보내는 쪽) 누구에게(받는 쪽) 데이터를 전달할지를 결정하는 과정
      2. 단편화(IP fragmentation)
        • 전송하고자 하는 패킷의 크기가 너무 클 때 여러 개의 패킷으로 쪼개서 보내는 것
        • MTU(Maximun Transmission Unit) : 한 번에 전송 가능한 IP 패킷의 최대 크기
          • 나누어진 패킷은 수신지에 도착하면 다시 재조합
          • 일반적으로 1500byte

    페이로드의 데이터 크기는 46~1500byte

     

    IPv4 (IP version.4)

    • 오늘 날에 주로 사용하는 프로토콜
      • IPv4 주소 형태
        • 4byte(32bit)로 주소를 표현할 수 있고, 숫자당 8bit로 표현되기에 0~255 범위 안에 있는 점(.)으로 구분된 네 개의 10진수로 표기
        • 점으로 구분된 각 숫자를 옥텟(octet)이라고 함.
        e.g. 192.168.1.1
    • IPv4 패킷의 핵심 필드

      1. 식별자(identifier)
        • 패킷에 할당된 번호
        • 어떤 메시지에서부터 쪼개졌는지 인식하기 위해 사용
      2. 플래그(flag)
        • 3bit로 이루어짐
          1. 첫 번째 비트 : 0
            • 항상 0으로, 현재 사용되지 않고 있음
          2. 두 번째 비트 : DF(Don’t Fragment) 비트
            • 1 : IP 단편화 하지 마세요
            • 0 : IP 단편화 해도 됨
            • 부가 정보
              • MTU를 초과하는 패킷이 들어온다면?
                • 해당 패킷을 강제로 쪼개지 않고 라우터에 의해 폐기 후, 발신지에 ICMP(Internet Control Message Protocol) “Fragmentation Needed and DF Set” 메시지가 반환
              • DF비트를 1로 설정하는 주된 이유
                • “Path MTU Discovery”(PMTUD)를 위해서이다.
                  • Path MTU Discovery
                    1. 송신 측에서 DF 비트를 1로 설정한 패킷을 전송한다.
                    2. 중간에 라우터가 패킷 크기가 MTU를 초과했다며 단편화하지 않고 폐기하고, 송신지에 ICMP 메시지를 보낸다.
                    3. 송신 측은 ICMP 메시지 정보를 바탕으로 패킷 크기를 줄여 다시 전송한다.
                    4. 결과적으로 네트워크 경로 중 가장 작은 MTU를 파악해, 효율적인 전송 크기를 찾을 수 있다.
                이처럼 DF 비트를 1로 설정함으로써 라우터가 임의로 패킷을 쪼개지 못하게 하여, 최적의 패킷 크기를 찾도록 하는 과정이 가능해진다.
              • → 네트워크 경로상에 있는 각 구간에 따라 MTU 값이 제각각이다.
          3. 세 번째 비트 : MF(More Fragment) 비트
            • 1 : 단편화된 패킷이 아직 더 남아있다.
            • 0 : 단편화된 패킷이 더이상 남아있지 않고 이게 마지막 패킷이다.
      3. 단편화 오프셋 (fragment offset)
        • 초기 데이터에서 몇 번째로 떨어진 패킷인지를 나타냄
        • 단편화된 패킷들이 순서대로 도착하지 않을 수 있기 때문에 순서대로 재조합하려면 초기 데이터에서 몇 번째에 해당하는 패킷인지 알아야 함
      4. TTL (Time To Live)
        • 패킷의 수명. 무의미한 패킷이 네트워크상에 계속 남아있는 것을 방지
        • 패킷이 하나의 라우터를 거칠 때마다 TTL이 1씩 감소. TTL 값이 0이 되면 폐기
        • 홉(hop) : 패킷이 호스트 또는 라우터에 한 번 전달되는 것. TTL 필드 값은 홉마다 1씩 감소
      5. 프로토콜
        • 상위 계층의 프로토콜이 무엇인지 나타내는 필드(어떤 계층을 캡슐화했는지)
        e.g. 전송계층 프로토콜인 TCP는 6번, UDP는 17번
      6. 송신지 IP 주소
      7. 수신지 IP 주소

     

    IPv6 (IP version.6)

    • IPv4 주소는 이론적으로 2의32승 으로 약 43억 개까지 할당 가능하다. 하지만 이 또한 부족하여 IPv6가 등장했다.
    • IPv6 주소 형태
      • 16byte(128bit)로 표현할 수 있고, 콜론(:)으로 구분된 8개의 16진수.
      • 이론적으로 할당 가능한 IPv6 주소 갯수는 2의128승 개
      e.g. 2001:0230:abcd:ffff:0000:0000:ffff:1111
    • IPv6 패킷

      1. 다음 헤더 (next header)
        • 상위 계층의 프로토콜 또는 확장 헤더를 가리키는 필드
        • 확장 헤더(extension header) : 추가적인 헤더. IPv6 기본 헤더 뒤에 필요한 확장 헤더들을 체인(Chaining) 형식으로 연결하여 사용함.
          • 여러 개의 확장 헤더가 연달아 붙을 수 있음
          • 확장 헤더 종류
            • 홉 간 옵션(Hop-by-Hop Options) : 송신지에서 수신지에 이르는 모든 경로의 네트워크 장비가 이 패킷을 검사하도록 하는 옵션
            • 수신지 옵션(Destination Options) : 수신지에서만 패킷을 검사하도록 하는 옵션
            • 라우팅(Routing) : 패킷이 특정 경로(중간 노드들)를 거쳐가도록 지정하고 싶을 때 사용.
            • 단편(Fragment) : IPv6는 라우터에 의한 단편화가 불가하고, 오직 송신지에서만 단편화를 수행할 수 있음.
            • ESP(Encapsulating Security Payload), AH(Authentication Header) : 암호화 인증
      2. 홉 제한 (hop limit)
        • 패킷의 수명을 나타내는 필드 ( = Pv4 패킷의 TTL 필드)
      3. 송신지 IP 주소
      4. 수신지 IP 주소
    • IPv6 단편화
      • IPv4의 단편화와 다른 점
        • IPv4는 패킷 크기가 MTU보다 큰 경우, 중간 라우터가 단편화를 수행할 수 있었지만, IPv6는 중간 라우터가 단편화하는 기능이 제거되어 큰 패킷이 전송되다가 MTU를 초과할 경우 라우터는 패킷을 폐기(drop)하고 송신 호스트에게 ICMPv6 “Packet Too Big” 메시지를 전송
      • 단편화 확장 헤더를 통해 단편화가 이루어짐
        단편화 확장 헤더
      • (단편화 확장 헤더의)다음 헤더 : 또 다른 확장 헤더 혹은 상위 프로토콜을 가리킴
      • 예약됨(reserved), 예약(res) : 0으로 설정되어 사용하지 않음
      • 단편화 오프셋(fragment offset) : 전체 메시지에서 현재 단편화된 패킷의 위치 ( = IPv4의 단편화 오프셋 필드)
      • M 플래그 (M flag) : 남아 있는 단편화 패킷 여부 ( = IPv4의 MF 플래그 필드)
        • 1 : 더 많은 단편화 패킷이 있음
        • 0 : 마지막 패킷
      • 식별자(Identification) : 동일한 메시지에서부터 단편화된 패킷임을 식별 ( = IPv4의 식별자 필드)

     

    더보기
    반응형
Designed by Tistory.