본문 바로가기
ComputerScience/Network

[Network/Protocol] IP 인터넷 프로토콜

by whitele 2021. 3. 22.
반응형

네트워크 계층

ip는 OSI 7계층중 네트워크 계층의 프로토콜이다. 네트워크와 네트워크를 잇기 위해 라우터를 거쳐야 하고 그곳이 어딘지 어떻게 가야 하는지를 알기 위해 ip주소를 사용한다. LAN 환경에서는 굳이 ip주소가 아니더라도 MAC 주소를 이용하여 통신이 가능하지만 그 이상은 네트워크 주소가 필요하다. 그래서 사용하는 것이 ip 주소이다.

이 계층은 경로를 찾고 최적의 경로를 선택하는 기능을 가진다. 네트워크와 네트워크 사이 패킷이 오가는 것을 담당하는 계층이다. 더불어 스위칭 기능도 있다.(L3 스위치)

이 계층의 대표적인 프로토콜로 IP, ICMP, IGMP, ARP가 있다.

IP

현재 IP 프로토콜은 IPv4와 IPv6가 있다. 현재 주로 IPv4를 사용한다.

IPv4

IP 주소는 0~255를 네 자리로 '.'을 사용하여 ip주소를 표현한다. 총 2^32(약 43억) 개의 주소를 가질 수 있다. 그러나 특별한 용도로 예약되어 있는 주소도 있어 43억 개 모두 쓸 수는 없다.

IP CLASS

A Class

IP A 클래스 구조

8bit를 네트워크 ID, 나머지 24bit를 호스트 ID로 사용한다. 주소는 0.0.0.0~127.255.255.255이다. 그중 127.0.0.0~127.255.255.255는 가상으로 할당하는 주소로 예약되어있어 사용할 수 없는 주소이다. 가끔 가상 머신을 돌리게 된다면 이 주소로 할당되는 것을 확일 할 수 있다. 그래서 실 사용 주소는 1.0.0.0~126.255.255.255이다.

B Class

IP B클래스 구조

네트워크 ID에 16bit, 호스트 ID에 16bit를 사용한다. 사용 주소는 128.0.0.0~191.255.255.255를 사용한다.

C Class

IP C클래스 구조

네트워크 ID에 24bit 호스트 ID에 8bit를 사용한다. 사용 주소는 192.0.0.0~223.255.255.255이다.

클래스마다 공인 IP, 사설 IP대역이 나눠져 있다.

IP 헤더

IP header

version : 버전

Header Length: 헤더 길이

Differentiate Services : 패킷의 대역을 제어하는 QoS에 사용된다.

Total Length: 전체 길이

Identification: 식별 필드

Flag: 패킷 분할 제어

Fragmentation Offset: 재결합 시 flag, Id와 함께 사용

Life Time: TTL, 라우터 수 제한

Protocol: 상위 계층의 프로토콜 정의

Checksum: 오류 검사

Source IP

Destination IP

Option

IPv6

ipv6는 ipv4의 주소의 부족 문제를 해결하기 위해 나온 차세대 IP 프로토콜이다. 아직은 IPv4에 비해 사용량은 매우 적다. IPv4와의 차이점은 16진수를 표현하여 8자리로 표현한다. IPv4의 호환성을 유지하면서 더 많은 기능을 가지는 방향으로 개발된 프로토콜이다. 초연결화 시대에 접어들면서 부족은 당연한 일이다. IPv6는 1인당 70억 명이 약 4600만 개 사용할 수 있다.

IPv6의 특징

IPv4의 기존 32비트 크기에서 128비트 크기의 주소를 제공한다. 사실상 소진의 가능성은 거의 없다. 주소를 자동적으로 설정이 가능하며 효율적인 라우팅 기능을 제공한다. 제일 큰 특징점은 헤더의 크기가 한정되어있는 IPv4와 달리 더 큰 헤더로 확장 옵션이 가능하다. 덕분에 더 많은 기능이 제공된다. 이 확장 헤더는 검사 할 필요가 없어 라우팅이 더 빠르다. 서비스 유형 필드를 삭제하고 플로우 레이블 항목을 추가하여 더 많은 기능을 요청할 수 있다. 암호화 인증 기능도 추가되어 보안이 향상되었다.

주소 표현

IPv4는 기존 0.0.0.0으로 표현했다면 IPv6는 1000:100a:0000:1111:0000:1203:1111:ffff처럼 표현이 가능하다. 여기서 특이한 점은 0을 축약할 수 있다 자릿수가 0이라면 ::로 0을 대체할 수 있다.

IPv6의 헤더

IPv6헤더

version:ip의 버젼을 나타낸다. ipv6 에서는 값이 6이다.

traffic class : TOS의 명칭이 변경된 것 QoS용으로 사용한다. 일반적으로 0

flow label : 미사용

playload length : IPv4의 전체길이 필드와 동일하다.

Next header : IPv4의 프로토콜 필드와 같은 것으로 상위 프로토콜을 정한다.

Hop Limit : 홉 수를 제한한다. 통과하는 라우터 수를 제한한다.

확장 헤더

IPv6는 기본헤더에서 헤더를 확장할 수 있다. 기본 헤더로 구성된 패킷을 사용하고 필요시 확장 패킷 헤더를 사용하여 라우팅 효율이 높다. 추가 확장 헤더들은 다음 같은 것들이 있다.

  • Hop by Hop 헤더
  • 라우팅 헤더
  • 목적지 옵션 헤더

등이 있다.

IPv6의 특장점

IPv6의 특장점으로는 다음과 같은 것들이 있다.

  • 더 많은 주소
  • 단순화된 헤더
  • 강화된 보안
  • 이동성이 강화된 IP
  • 간편한 주소 설정 기능
  • 플러그 앤 플레이 가능
728x90
반응형

댓글