[네트워크] IP에 대해 정리
맨 아래의 참고자료들을 바탕으로 작성하는 글입니다
IP(Internet Protocol)
인터넷에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜
- 프로토콜 = 통신 규약, 규칙
IP주소(Internet Protocol Adress)
컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신하기 위해 사용하는 특수번호
- 인터넷 규약에서의 주소이며, 네트워크의 host에 대한 식별자
- 컴퓨터의 논리적인 주소를 구분함
- 흔히 사용 IP 주소는 32비트 체계를 사용 -> 약 40억 개의 주소를 표현가능
- 192.168.0.1 형태로 호스트의 주소를 정할 수 있음
비유
- 대한민국 행정체계에서 국민을 식별하기 위한 주민등록번호
- 컴퓨터 네트워크에서 host를 식별하기 위한 IP주소
* naver.com으로 접속하더라도 내부적으로는 IP주소를 이용해 통신한다
* DNS서버와 통신하여 IP주소를 받아옴
IP주소의 버전
IPv4 (가장 많이 사용)
- 32 bit(2^5) 주소체계
- 2^32 개의 경우의 수 = 43억 개
- 현재(2023) 인터넷에서 IPv4 주소체계를 많이 씀
- 주소가 모자라기 때문에 여러 기술들이 있음
- 공인 IP 주소 43억 개로는 현재 전 세계의 모든 컴퓨터를 처리할 수 없음
- 다양한 방법으로 이런 한계를 극복함
IPv6
- 128 bit(2^7) 주소체계
- 2^128 개의 경우의 수
- 43억개만 저장할 수 있는 IPv4의 문제를 해결하기 위해 등장
IPv6 주소 보유 (2023년 10월)
- 대한민국 5276개
- IPv4 주소 112,502,016에 비해 현저히 적은 수
IP의 분류
1. 공인 IP
세계에서 단 하나만 존재할 수 있는 IP주소
- 고정, 유동 가능
2. 사설 IP
공유기를 이용해 만들 수 있는 가상의 IP주소
- 고정, 유동 가능
3. 고정 IP
해당 컴퓨터의 IP주소를 고정적으로 사용
4. 유동 IP
IP번호가 수시로 변화한다
사설 IP의 등장이유
IPv4주소체계의 경우 43억개의 공인 IP만 할당할 수 있기 때문에 주소가 부족함. 그래서 사설 IP가 등장함

- 사설 IP = 공유기로 연결된 내부망에 적용되는 IP주소
- 각 라우터(공유기) 안에 기기들은 사설 IP가 부여 됨
- 가상의 IP주소 만든다
- 인터넷에 있는 다른 컴퓨터와 통신하고자 하면 해당 라우터가 가진 공인 IP를 거침
- 외부에서 사설 IP를 사용하는 컴퓨터에 접속할 때도 반드시 공인 IP거쳐야함
- 한 번에 사설 IP에 접속 불가능
- 라우터(공인IP) -> 인터넷 -> 수많은 라우터, 내부망 -> 라우터 도달(공인IP) -> 사설 IP 도달
서버구축 시 공인IP와 유동 IP
- 서버와 클라이언트 개념
- 네이버 접속 -> IP를 통해 접속함
- IP가 유동, 사설 IP라면 이전에 접속하던 IP주소 접근 시 오류가 남
- 네이버의 서버주소에 클라이언트 접속불가능
- 서버역할을 하는 컴퓨터는 반드시 고유한 주소가 필요함
- 유동 IP경우도 DDNS로 서버 구축 가능
- 사용자가 도메인주소로 해당 서버 접근할 때 해결가능
- naver.com 으로 dns서버 요청 -> IP주소 얻어서 -> 접근
- dns서버 자체가 실시간으로 네이버 서버 주소 가지고있으면 된다. 실시간으로 바뀐 ip주소 가지고있으면 상관 x
- 서버가 특정주기로 DNS서버에게 바뀐 IP주소를 알려준다
- 서버 구축 시 공인 IP주소 사용하는 게 일반적
도메인 네임 시스템(DNS)
IP주소를 일일이 기억하기 어렵기 때문에 사람이 쉽게 기억할 수 있는 도메인네임을 통해 다른 컴퓨터에 접속할 수 있음
- DNS에 도메인 네임을 요청하면 해당 도메인을 가진 서버의 IP를 반환하고, 이를 통해 웹서버의 콘텐츠를 받아올 수 있다
- DNS서버 거쳐 IP주소를 받고 그걸로 IP주소로 통신함
DDNS의 원리

- 서버가 다른 IP주소로 변경 시
- DDNS서버에게 현재 바뀐 주소 알려줌
- 클라이언트는 도메인 주소 접근 -> 바뀐 IP주소 알려줌
- 바뀐 IP주소 접근가능
인터넷 설치법

- ISP업체 = 인터넷 서비스 제공 업체
- 한국 kt skt
- 일반적으로 ISP 업체에게 돈 내고 인터넷 설치함
- 이 경우 ISP에게 한 개의 유동 IP 할당받음
- 고정 IP도 받을 수 있지만 kt에게 내야하는 돈 비싸
- 유동 IP는 ISP업체가 공인 IP주소를 유동적으로 고객에게 부여해주는 거 ㅇㅇ
- 가정집 사용방식
가장 쉽게 개인이 서버를 구축하는 방법

- 서버용 컴퓨터를 호스팅 업체에 신청해서 사용함
- 이렇게 하면 고정 공인 IP하나 할당받을 수 ㅇ
- 완전히 자기 자신만의 IP주소가 하나 생기므로 하나의 서버 운용가능
유동 IP의 변경 방식
유동 IP의 경우 MAC주소를 토대로 IP를 할당한다. 장치마다 IP주소가 바뀌는 이유이다
- 인터넷 신청하고 유동 아이피 받음
- 공유기 연결 시 121.129.86.55 아이피를 받음
- 해당 회선을 랜선으로 PC에 연결 시 168.126.35.122 아이피를 받음
- 다른 이유??
- MAC주소 = 모든 컴 장치마다 있는 고유 주소 = 물리적 주소라고도 함
- 각 컴퓨터마다 가지고있는 특성
- 공유기 PC는 네트워크 관련 장치가 다름 -> 서로 다른 MAC주소
- kt인터넷 서비스에서 순식간에 다른 유동 IP 아이피할당한다.
- 고정 IP에서는 발생하지 않음
사설 IP 대역

- 사설 IP는 대역이 정해져있음 -> 약속이다
- A클래스는 B, C에 비해 큰 기관에서 사용
- 일반적으로 c가 가장 많이 사용됨(웬만해서 공유기로 인터넷 사용하니까)
- DNS서버의 경우 ISP마다 차이가 있음
사설 IP의 단점
외부에서 내 컴퓨터를 찾을 수 없음(서버로 바로 사용 불가능)
- 사설 IP는 세게에서 하나만 존재하는 공인 IP주소가 아니기 때문
- 내부에서만 의미가 있고 외부접속 불가능
- 외부통신 시 많은 제약이 존재함
비유
- 공중전화 -> 전화번호는 세계 하나만 있는 고유 번호 입력해야함
- 공중전화는 전화를 받을 수 없음. 고정 전화번호가 없기 때문
- 하지만 전화 거는 건 가능함
- 클라이언트는 공인 IP주소 안가지고 있어도 접속가능하지만, 네이버는 공인 IP주소를 가지고 있어야함
사설 IP로 서버 운영법
포트 포워딩 사용하기
- 포트 포워딩 이용하면 사설 IP로 서버를 운영가능
- 회사 부여받은 공인 IP(공유기)로 패킷을 받는다
- 하나의 컴퓨터를 웹서버로 운영
- 공유기는 80번 포트로 패킷을 받고, 해당 패킷을 서버컴퓨터로 보냄
- 웹서버로 사용가능
- 특정 포트로 들어오는 패킷을 내부 컴퓨터로 넘겨주는 것 = 포트포워딩
- 특정 포트를 내부 컴퓨터에 매칭함
- 포트포워딩을 이용하면 사설 IP도 서버 운영가능 & 다양한 서버 운영도 가능
- 공유기가 하나의 공인 아이피를 내부 사설 IP로 나누는 기술 = NAT
NAT(Network Address Transiation)
공유기가 하나의 공인 IP를 내부 사설 IP로 나누는 기술을 NAT라고 함
- 사설 IP를 할당하고 포트포워딩 등의 기법을 이용하여 관리하는 기술의 총칭
- 사설 IP 사용으로 내부망 보호가능
- 연결된 pc관리가 쉬워진다
- 기본적으로 한정된 40억개 공인 ip주소를 사설 IP로 늘려서 수없이 많은 컴이 실제로 연결가능
- IPv4 주소체계의 한게를 해결
하나의 공인 IP에서 2대 이상의 웹 서버를 운용하는 방법
- 웹 서버는 80번이라는 정해진 포트를 사용함
- 공인 IP주소 하나에 두 개의 내부 IP주소가 있다면
- 호스트 2개를 각각 80번 포트, 81번 포트에 연결한다
- 포트를 다르게 분배하면 한 개의 공인 IP에서 여러 개의 웹 서버 운용이 가능하다
- DNS서버 등록 시 도메인 주소는 다르게 설정해야함
- 특정도메인 주소 들어왓을 때 서로 다른 웹서버로 연결하도록 ㅇ
IP대역의 중복

내부망 컴이 사설 안사용하고 공인 IP주소 사용중
일반적 사용 사설 IP 대역 사용 ㄴㄴ 다른 IP주소 사용 ㅅ...
다른 컴으로 접속해야할 때
동일 iP주소 2개 존재, 내부망 컴터로 접속한다.
사설망 내부에서 공인IP주소 사용 시 외부 접근 못하는 문제점이 있다
실제로 공유기 내부에서 IP주소를 임의로 설정가능하긴 하지만, 이런 문제때문에 설정안함 ㅇㅇ
사설 IP대역 해당하는 주소만을 내부 컴에 할당해주는 게 합리적 ㅇㅇ 다양한 문제 발생가능하니까 확실하게 이해 ㄱ
IP 추적
공인 IP 주소를 가진다면 추적이 쉽고, 사설 IP라고 하더라도 수사권이 있는 경찰을 ISP 업체를 통해 추적할 수 있음
- 사설 IP주소 사용 시 공인IP 확인가능
- 네이버에 아이피 주소 검색 -> 자신이 쓰는 공인 IP주소 나와
- 공인 IP주소 알면 IP주척 가능
- find IP로 IP주소 위치 알 수 ㅇ
- KT가 나온다!
- KT에서 부여해주는 하나이 사설 IP사용하기 때문에 KT가 나옴
- kt에서 할당해준 공인 IP주소가 나옴
- 실제 위치 공간은 아님. 사설 IP주소이기 때문
- 과거 실제 공인 IP주소 많이 사용한하면... 해당 컴 위치 추적되기도 했지만
- 현재는 ISP업체별로 관리법 달라.. IP주소만으로 찾아내는거 불가능
- 법적인 문제... ISP업체 통해 어떤 사용자~ 위치 알 수 있다. 경찰 ㅇㅇ
- 공인 IP주소 추적 간단/ 경찰은 어벷ㅊ에게 정보요청 가능
- 어떤 IP주소든.. 나를 나타내는 고유주소니 나쁜 짓 하지말자!
IP주소의 구조
>> ipconfig
IPv4 주소 . . . . . : 192.235.60.14
서브넷 마스크 . . : 255.255.255.0
192.235.60.14
- IP주소는 8bit씩 끊어서 표시함
- 각 칸에서 나올 수 있는 숫자는 값 범위는 0~255
- 2^8
- 192 = 11000000(2진수) = c0

- IPv4주소는 network id + host id 로 나뉨
- Network ID = 모든 호스트를 관리하기 어렵기 때문에 한 네트워크의 범위를 지정
- Host ID = 각각의 호스트를 관리하기 위해 사용
- IP주소에서 네트워크ID의 길이가 얼만지 나타내는 것 = 넷마스크
서브넷 마스크(Subnet Mask)
- 255.255.255.0
- 255 이진수는 0xFF, 11111111
- 이 서브넷 마스크를 IP주소와 비트 AND연산 시 네트워크 ID를 얻을 수 있음
11000000 (= 192)
11111 111
= 11000000
00001110 (= 14)
00000000
= 00000000
14의 경우 결과가 0이다
CIDR 표기법
192.235.60.14 / 24
- 서브넷 마스크를 개수로 표현하는 방식을 CIDR 표기법이라고 한다
- 24비트가 네트워크 ID의 길이이고, 32-24비트가 호스트 ID의 길이이다
- 사설 IP주소를 바로 웹서버로 사용 불가능
- 포트포워딩 기법을 사용한다면 웹서버로 사용 가능하다
- 일반적인 가정집은 유동 IP로서 공인 IP를 받는 경우가 많음
- 해외 사이트에서 IP가 차단된다면 효력이 있까 -> 있음
- 유동 IP라도 ISP에서 가정집에 공인 IP 부여 시 일반적으로 정해진 대역폭 안에서 유동IP부여하는 경우 많음
- 게임회사 -> 특정 대역폭 자체를 찾아내면 ip차단 큰 효력
- 공인 유동 IP주소를 이용해 서버구축하는 방법 -> DDNS
- 사설 IP주소를 이용해 서버를 구축하는 방법 -> 포트포워딩
- 사설 IP대역을 공인 IP대역으로 설정가능하지만, 권장되지 않음
- 가정집에서 인터넷에 연결할 때 공유기를 사용할 때와 pc에 바로 연결할 때 주소 다른 이유 -> MAC주소가 달라 다른 유동 IP를 할당받음
참고자료
https://www.youtube.com/watch?v=gOMljj6K2V0
https://sjquant.tistory.com/59
쉽게 설명하는 네트워크 (IP주소, DNS, 네트워크, 호스트, CIDR, Private IP, 포트포워딩)
IP 주소가 뭔가요? IP 주소는 각각의 컴퓨터 기기가 서로 통신하기 위해 가지고 있는 네트워크 주소입니다. 우리가 우편주소로 집의 위치를 찾는 것처럼, 컴퓨터는 IP주소라는 주소체계를 통해 컴
sjquant.tistory.com
https://www.youtube.com/watch?v=pRWD7oTeuFw&t=764s