[Network] IP 주소

2022. 12. 9. 14:57·컴퓨터 과학/네트워크

IP 주소란?

IP 주소 : 네트워크 환경에서 컴퓨터 간 데이터를 주고받기 위해 각 컴퓨터에 부여된 네트워크 상 주소

 

각기 떨어져 있는 컴퓨터들이 데이터를 주고받기 위해서는 각 컴퓨터들의 주소가 존재해야 합니다.

그 주소가 바로 IP 주소입니다.

 

IP 주소는 네트워크 주소 + 호스트 주소로 구분됩니다.

네트워크 주소는 인터넷 상에서 네트워크를 구분하는 역할을 하고, 호스트 주소는 특정 네트워크 안에 존재하는 기기들을 구분하는 역할을 합니다.

IP와 IP 주소의 차이

우리는 흔히들 IP 주소와 IP 를 동일한 개념으로 사용하는 경우가 많은데요. 사실 차이가 있으니 이에 주의해서 사용해야 합니다.

IP : 프로토콜

IP 주소 : 인터넷 상에서 데이터를 주고받을 때 사용되는 각 컴퓨터들의 주소

IP 주소 부여 방식

IP 주소 부여 방식에는 IPv4, IPv6 가 있습니다.

IPv4 방식

IPv4 방식은 32비트의 이진수로 이루어져 있으며, 8비트씩 4개의 구간으로 나누어서 나타냅니다.

각 구간 별로 0 ~ 255의 범위로 표현 가능하며, 이론적으로 42억 9496만 7296개의 IP 가 존재할 수 있습니다.

32비트의 이진수로 구성된 IP 는 사람이 알아보기 어렵기 때문에 보통 32비트를 옥텟 단위로 구분하여 10진수의 정수로 표현하고 각 옥텟 사이를 마침표(.) 로 구분해 표기합니다.

예시) 172.16.254.1

이를 32자리 2진수 표기법으로 바꾸면 아래와 같습니다.

172 16 254 1
10101100. 00010000. 11111110. 00000001

 

옥텟(octet) : 컴퓨터에서 8개의 비트가 한데 모인 것, 32비트의 IP 주소를 8비트로 나누는 단위

IPv6 탄생 배경

현재 전세계 인구는 대략 78.4억명, 한 사람이 가지고 있는 기기의 종류만 해도 노트북, 스마트폰, PC 등이 있습니다.

78.4억 * 3대의 기기 = 235.2억 개의 IP 주소가 필요합니다.

하지만 IPv4 방식으로 표현 가능한 주소 개수는 42억 개이므로 턱없이 부족합니다.

사람들은 더 풍족한 IP 주소를 원하게 되고 이는 곧 IPv6 탄생 배경이 되었습니다.

IPv6 방식

IPv6 방식은 128비트의 IP 주소를 2옥텟(16비트) 단위로 8등분하여 나누는 단위입니다.

각 자리는 네자리의 16진수로 표현되고, 각 자릿수들은 콜론(:)으로 구분하여 표기합니다.

예시) 2001:0db8:85a3:08d3:1319:8a2e:0370:7334

정리

IP 주소는 네트워크 상에서 컴퓨터 간 데이터를 주고받기 위해 부여된 컴퓨터의 고유 주소

IP 는 프로토콜, IP 주소는 네트워크 상 컴퓨터의 고유 주소.

IP 주소는 네트워크 주소와 호스트 주소로 구성되며 하나의 네트워크 주소 안에 호스트 주소는 고유한 값을 가져야 한다.
IP 주소 부여 방식은 IPv4, IPv6 가 있다.

IPv4 는 32자리로 이루어진 2진수로 표현할 수 있고, 이론적으로 가질 수 있는 IP 개수는 약 42억 개이다.

IPv4 방식의 IP 주소 고갈로 IPv6 방식이 탄생했다.

'컴퓨터 과학 > 네트워크' 카테고리의 다른 글

[Network] IP Class  (0) 2022.12.09
'컴퓨터 과학/네트워크' 카테고리의 다른 글
  • [Network] IP Class
rondeveloper
rondeveloper
  • rondeveloper
    Ron's learning record
    rondeveloper
  • 전체
    오늘
    어제
    • 분류 전체보기 (102)
      • k8s (2)
      • AWS (1)
      • 리눅스 (5)
      • Docker (8)
      • 라이브러리 & 프레임워크 (14)
        • React (2)
        • NestJS (8)
        • Spring (0)
        • Django (3)
        • FastAPI (1)
      • 웹 (2)
        • Nginx (1)
      • 프로그래밍 언어 (29)
        • HTML (0)
        • CSS (0)
        • JavaScript (21)
        • Python (3)
        • Node.js (0)
        • TypeScript (4)
        • Java (1)
      • Today I learned (9)
      • 알고리즘 (9)
        • 백준 (0)
        • 프로그래머스 (8)
        • 개념 (1)
      • 티끌모아 태산 (5)
        • 하루에 영단어 하나씩 (5)
        • 독서 (0)
      • 시행착오 (3)
      • 데이터베이스 (2)
        • MySQL (0)
      • 컴퓨터 과학 (8)
        • 네트워크 (2)
        • 운영체제 (0)
        • 데이터베이스 (2)
        • 자료구조 (4)
      • 포트폴리오 (4)
        • JJINCAFE IN SEOUL (4)
        • CODEUNICORN (0)
      • 회고 (0)
      • CICD (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Til
    프로그래머스
    컨테이너
    코딩테스트
    네트워크
    Kubernetes
    Kubectl
    Python
    배열
    리눅스
    도커
    typescript
    redis
    django
    생활코딩
    레벨2
    반복문
    typeorm
    IP 주소
    기초
    iterable
    스택
    모듈
    nestjs
    mysql
    자바스크립트
    javascript
    FastAPI
    조인
    Docker
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
rondeveloper
[Network] IP 주소
상단으로

티스토리툴바