IP

dustjs159·2021년 12월 22일
0

Network

목록 보기
2/2

📌 IP(Internet Protocol)

  • 인터넷에서 송신자와 수신자가 패킷 단위로 데이터를 주고받기 위한 프로토콜
  • Routing기능이 핵심
  • 컴퓨터에서 컴퓨터간 데이터 전송이 가장 주된 목적
  • IP는 신뢰성을 중요하게 생각하지 않고 빠르게 전송할 수 있는 최적의 경로만을 찾아 패킷을 분해하고 조립하는 과정을 진행함
  • OSI 7 계층 중 3 계층(네트워크)에서 사용

IP Packet Header

  • Version : IP 버전 정보
  • IHL : IP 헤더 길이 값
  • Type of Service : 데이터 우선 순위
  • Total Length : IP 패킷 전체 크기
  • Identification : 단편화 되기 전 원본 데이터 식별자
  • IP Flags : 단편화 정보 표시(x : 사용하지 않는 bit / D : 단편화된 경우 0 안되면 1 / M : 마지막 단편화 조각이면 0 아니면 1)
  • Fragment offset : 단편화 데이터 순서
  • TTL(Time To Live) : 패킷이 거쳐야 할 라우터의 개수. 라우터 하나 거칠 때 마다 1씩 감소. 0되면 폐기
  • Protocol : 상위 프로토콜 정보
  • Header Checksum : IP 헤더 오류 혹은 변조 여부를 확인하기 위한 값
  • Source IP : 출발지 IP 주소
  • Destination IP : 목적지 IP 주소

IP 주소(IP Address)

  • 인터넷 상에 있는 컴퓨터의 고유한 주소(사람의 주민등록 번호)
  • 호스트(컴퓨터)들을 구별하기 위해 지정
  • 송신측과 수신측이 데이터를 전송할 때 라우팅을 하기위한 IP 주소를 지정

IPv4

  • 가장 널리 사용되는 IP 주소. 8비트씩 4그룹으로 구성되어 있고 총 32비트의 값을 가지게 됨

  • 각 그룹마다 0~255사이의 숫자로 구성될 수 있고 이에 따라 IPv4는 0.0.0.0 ~ 255.255.255.255 범위를 가질 수 있음
  • 하나의 그룹을 옥텟(Octet)이라고 명칭
  • 32비트의 IPv4 주소 체계는 네트워크들을 식별하기 위한 네트워크 부와 호스트를 식별하기 위한 호스트 부 로 구성

  • 네트워크 부는 호스트가 속한 네트워크의 주소를 나타내며 다른 네트워크와 구분하는 역할을 함(IP 주소 할당 기관에서 할당)
  • 호스트 부는 다른 호스트들과 구별되는 주소. 인터넷 전체에서 중복 없이 단 하나만 존재하도록 설정(네트워크 관리자가 할당)
  • 약 42억개의 IP 주소 부여 가능
  • 전 세계적으로 인터넷 보급률이 높아지며 주소가 부족해지기 시작함

IPv4 Class

  • IPv4 주소체계에서 네트워크 부와 호스트 부를 구별하기 위한 방법

Class A

  • 32비트중 앞 8비트(1 Octet)를 네트워크 부, 뒤 24비트(3 Octet)를 호스트 부로 구성
  • 첫 번째 옥텟의 첫 번째 비트가 0으로 시작함(네트워크 부 첫 비트가 0으로 고정)
  • 네트워크 부의 첫 비트를 제외한 나머지 7개의 비트로 0~127 숫자 구성.
  • 0.0.0.0 ~ 127.255.255.255
  • IP 주소 할당 기관이 Class A에 해당하는 IP 주소 할당 시 네트워크 관리자는 할당받은 IP 주소 하나당 약 1677만개의 호스트 구축 가능(대규모 네트워크 구축 시 적합)

Class B

  • 32비트중 앞 16비트(2 Octet)를 네트워크 부, 뒤 16비트(2 Octet)를 호스트 부로 구성.
  • 첫 번째 옥텟의 첫 두 비트가 10으로 시작함(네트워크 부 첫 두 비트 10 고정).
  • 네트워크 부의 첫 두 비트(10)를 제외한 나머지 6개의 비트로 128~191 숫자 구성.
    128.0.0.0 ~ 191.255.255.255

Class C

  • 32비트 중 앞 32비트(3 Octet)를 네트워크 부, 뒤 3비트(1 Octet)를 호스트 부로 구성.
  • 첫 번째 옥텟의 첫 세 비트가 110으로 시작함(네트워크 부 첫 세 비트 110고정).
  • 네트워크 부의 첫 세 비트(110)를 제외한 나머지 5개의 비트로 192~223 숫자 구성.
  • 192.0.0.0 ~ 223.255.255.255
  • 소규모 네트워크 구축에 적합.
  • 같은 네트워크 부에 속해있는 호스트들은 라우터를 거치지 않고 통신이 가능함
  • 라우터가 IP 주소의 네트워크 부를 보고 라우팅하여 데이터를 전송하기 때문.

공인(Public) IP

  • ISP(Internet Service Provider, 인터넷 서비스 공급자)가 제공하는 전 세계에서 유일무이한 IP.(한국에서 대표적인 ISP로 SKT, KT, LG U+)
  • 외부에 공개된 IP
  • 외부에 공개되어 있기 때문에 인터넷에 연결된 외부의 호스트들과 통신이 가능

자신의 공인 IP 확인하기 : https://www.findip.kr/

사설(Private) IP

  • 가정이나 회사 내부 등에 할당된 네트워크의 IP 주소
  • 내부 네트워크에서만 사용이 되고 외부에서는 사용 불가
  • 사설 IP 주소로 사용 가능한 IP 주소는 정해져 있음
  • 사설 IP의 대역
  • 10.0.0.0 ~ 10.255.255.255(10/8 prefix)
  • 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)
  • 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)

특수한 목적을 가진 IP 주소

  • 루프백 주소 : 자기 자신을 가리키기 위한 목적으로 사용되는 예약 IP 주소
  • 보통 127.0.0.1을 사용
  • ping 명령어로 루프백 주소로 패킷을 보내면 외부로 패킷이 전송되지 않고 시스템 자신에게 다시 돌아옴
  • 네트워크 점검 및 테스트 시 사용

할당할 수 없는 IP 주소

네트워크 주소 : IP 주소의 호스트 부의 모든 비트가 0인 IP 주소.

  • IP 주소가 속한 네트워크 부의 IP 주소를 알 수 있음.
  • Ex) 172.110.13.8와 172.110.13.21은 172.110.13.xx의 네트워크 부에 속해있는 호스트 라는 것을 알 수 있다

브로드캐스트 주소 : IP 주소의 호스트 부의 모든 비트가 1인 IP 주소.

  • 같은 네트워크 부 내의 호스트들에게 동시에 데이터를 보내고자 할 때 사용.
  • Ex) IP 주소가 172.110.13.8인 호스트가 네트워크 내 모든 호스트에게 데이터를 전송하고자 할 때 172.110.13.255로 전송하면 네트워크 내 모든 호스트들이 데이터 수신.

Subnetting

  • IP 주소를 클래스보다 더 작은 단위로 분할하는 것
  • 클래스 단위로 IP 주소를 할당하게 되면 필요 이상으로 할당하게 되는 경우가 발생(소규모의 네트워크를 구성하려고 할 때 Class A의 IP 주소를 할당 받는 것은 낭비)
  • 클래스 단위의 IP 주소를 서브넷팅함으로써 IP주소의 낭비를 막을 수 있음.

예를 들어 Class A를 서브넷팅 하면 호스트 부의 비트를 사용하여 네트워크 부(서브넷 부)를 확장

  • 네트워크 부 하나에 할당되는 호스트의 IP 주소를 낭비하지 않고 사용할 수 있음
  • 서브넷 부가 다르면 라우터를 이용해서 통신해야 한다.
  • IPv4의 주소 고갈 문제를 해결하기 위해 사용

Subnet Mask

  • 서브넷팅을 하면 IP 주소의 네트워크 부, 호스트 부의 구분이 어려워 짐(서브넷팅을 한다고 해서 IP 주소가 바뀌는 것은 아니기에).

  • 네트워크 부와 호스트 부의 경계를 구분하기 위한 Class가 무의미해짐
  • Class대신 Subnet Mask를 통해 네트워크 부와 호스트 부를 구분
  • IP 주소의 32비트에 대응한 32비트로 구성이 되어있고 0 or 1로 구성
  • IP 주소의 네트워크 부에 속하는 비트는 1, 호스트 부에 속하는 비트는 0으로 대응.

표기법

  • 10진수 표기법

  • CIDR Prefix 표기법

기존 Class로 네트워크 부, 호스트 부 나누는 것보다 더 작은 단위로 나눌 수 있기 때문에 네트워크 부 하나 당 더 적은 호스트가 포함 될 수 있고 그에 따라 IP 주소 낭비 없이 효율적인 할당과 유연한 네트워크 구성이 목적

Supernetting

  • 서브넷팅의 반대 개념.
  • 서브넷팅이 필요 이상의 IP 주소 할당으로 인한 낭비를 막기 위함이였다면 슈퍼넷팅은 필요한 IP 주소보다 적은 수의 IP 주소를 할당받았을 때 네트워크 부의 비트를 사용하여 호스트 부를 확장

NetMask

  • 네트워크 주소 부분의 비트를 1로 치환한 것
  • IP 주소와 넷 마스크를 AND연산 하면 네트워크 주소를 얻을 수 있다

IPv6

  • IPv4는 서브넷팅, 유동적인 IP 주소 할당, NAT 등을 통해 주소 고갈 문제를 어느정도 해결
  • IPv4의 근본적인 문제를 해결하기 위한 주소 체계
  • 16비트씩 8그룹으로 나누어 총 128비트로 표현되며 각 그룹을 16진수로 표현
  • 그룹간 구분은 : (콜론) 으로 표현
  • 모든 호스트에 자동으로 공인 IP 주소를 할당할 수 있을 만큼 무한대에 가까운 IP 주소 체계
  • 기존 IPv4로 구성된 인프라들이 대부분이라 아직까지는 IPv6으로의 전환이 어려운 상황

0개의 댓글