IP (아이피)
IP (아이피) : Internet Protocol의 줄임말로, 인터넷상에서 사용하는 주소체계를 의미한다. 공인 IP와 사설IP로 나누어질 수 있다.
인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분된다.
이러한 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고한다. (현재 사용하는 주소 체계)
※ 터미널에서 간단한 명령어로 도메인의 IPv4 주소를 확인할 수 있다.
터미널을 열고, nslookup (도메인 네임 ex - naver.com)을 입력하면 된다.
IPv4
- IPv4(Internet Protocol version 4)는 IP 주소체계의 네 번째 버전을 뜻한다.
- IPv4는 각 덩어리 마다 0부터 255까지 나타낼 수 있다.
- 이 시스템을 따르면, 2^(32)인 약 43억 개의 IP 주소를 표현할 수 있다.
- 그 중에서 몇 가지는 이미 용도가 정해져 있다.
IPv6
- 인터넷 보급률이 낮았던 초기에는 IPv4(IP version 4)으로 네트워크에 연결된 PC에 주소를 할당하는 일이 가능했다.
- 그러나 개인 PC의 보급으로 전 세계의 누구나 PC를 이용해 인터넷에 접속하고, 각종 서비스를 위해 서버를 생산하면서 IPv4로 할당할 수 있는 PC가 한계를 넘어서게 되었다.
- 이를 해결하기 위해서 세상에 나오게 된 것이 IPv6(IP version 6) 이다.
- IPv6는 표기법을 달리 책정하여 2^(128)개의 IP 주소를 표현할 수 있다.
용도가 정해져 있는 IP 주소
- localhost, 127.0.0.1 : 현재 사용 중인 로컬 PC를 지칭한다.
- 0.0.0.0, 255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소이다.
- 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있다.
공인IP (외부IP)
주로 접속할 때 사용하는 IP로 공인IP는 공인기관에서 인증한 공개형 IP주소로 전세계에서 유일한 주소이다.
사설IP (내부IP)
인터넷이 처음 생겼을 때 공인IP를 마구 배분하다보니 IP부족사태가 발생했고 핸드폰, 노트북, 컴퓨터 등 인터넷을 사용할 때마다 공인IP를 부여할 수 없게 되었다. 그래서 공유기가 등장하게 되었고 공유기에서 다른기기로 인터넷을 연결하여 사용하기 시작했다. 즉, 공유기는 하나의 공인IP를 할당받고 내 컴퓨터는 공유기로부터 IP주소(사설IP)를 할당받아 인터넷 망에 접속한다.
위의 예제에서 컴퓨터1에서 만약 데이터를 보낸다면(카카오톡을 보낸다면)
컴퓨터1 -> 공유기 -> 카카오톡
순으로 데이터가 전송될 것이고 데이터를 받을 경우 역순으로 데이터가 인입이 될 것이다.
RFC1918
국제 인터넷 표준화 기구(IETF)에서 공포한 표준으로 지정된 IP주소를 사설망으로 규정하고 해당 IP주소들은 공인망으로 사용하지 않고 각 기업 내에서 사설망으로만 사용하는 것을 지키기로 한 원칙이다. 즉, 아래IP는 사설IP로만 사용된다 !
IP Class 구분 | IP 범위 |
A Class 1개 | 10.0.0.0 ~ 10.255.255.255 (8bit prefix) |
B Class 16개 | 172.16.0.0 ~ 172.31.255.255 (12bit prefix) |
C Class 256개 | 192.168.0.0 ~ 192.168.255.255 (16bit prefix) |
게이트 웨이 (GateWay)
게이트웨이는 라우터(공유기 등)의 주소이다. 라우터는 네트워크와 네트워크를 연결해주는 장비이다. 라우터에는 공인IP와 사설IP 둘 다 가질 수 있다. 이때 라우터가 가지는 사설IP가 바로 게이트웨이다.
라우터에 연결되어있는 컴퓨터들은 라우터의 게이트웨이 주소를 통해 데이터를 보낸다. 예를 들어 컴퓨터1에서 카카오톡을 보낸다고 하면 컴퓨터는 라우터(공유기)의 게이트웨이 주소로 데이터를 보내고, 라우터는 데이터를 받아서 목적지(카카오톡)서버로 전송해준다.
서브넷 마스크 (Subnet Mask)
IP주소는 네트워크 식별자, 호스트 식별자로 이루어져 있다. IP에서 네트워크 식별자가 같다면 같은 네트워크 안에 있다는 뜻이고, 호스트 식별자는 같은 네트워크안에서 각각의 컴퓨터를 구분하는 주소이다. 그렇다면 어디까지가 네트워크 식별자이고 어디서부터 호스트 식별자인지는 어떻게 알 수 있을까? 이것이 서브넷 마스크가 필요한 이유다.
서브넷 마스크는 어디까지가 네트워크 식별자고, 어디까지가 호스트 식별자인지 알려준다. 즉, 255.255.255.0는 255로 이루어진 앞의 3칸은 네트워크 식별자이고, 0으로 이루어진 마지막 칸은 호스트 식별자로 쓰겠다는 뜻이다.
포트포워딩
위의 예제에서 외부에서 접근할 때 공유기의 공인IP는 하나라서 포트를 붙여서오면 어느 컴퓨터로 연결해줘야 할지를 모른다. 여기서 포트포워딩을 통해 80번 포트로 들어오면 1번 컴퓨터, 22번 포트는 2번 컴퓨터 이런식으로 지정해주는 것을 말한다.
※ 포트 포워딩 하는 방법 - https://kibbomi.tistory.com/219
Port (포트)
TCP나 UDP에서 어플리케이션이 상호구분을 위해서 사용하는 번호이다. IP 내에서 프로세스 구분을 하기 위해서 사용한다. 쉽게 말하면, 각 프로토콜의 데이터가 통하는 논리적 통로이다. 컴퓨터의 물리적 포트(랜선)에서 데이터가 통해오는 것처럼, 컴퓨터 안에서 각 프로토콜의 데이터가 컴퓨터 내부의 논리적 포트에 따라 흐른다.
잘 알려진 포트(well-known port)는 특정한 쓰임새를 위해서 IANA에서 할당한 TCP 및 UDP 포트 번호의 일부이다. 일반적으로 포트 번호는 다음과 같이 세 가지로 나눌 수 있다.
- 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
- 1024번 ~ 49151번: 등록된 포트 (registered port)
- 49152번 ~ 65535번: 동적 포트 (dynamic port)
- 22 : SSH
- 80 : HTTP
- 443: HTTPS
https://ko.wikipedia.org/wiki/TCP/UDP%EC%9D%98_%ED%8F%AC%ED%8A%B8_%EB%AA%A9%EB%A1%9D
Reference
- https://rangerang.tistory.com/49
'Network' 카테고리의 다른 글
SSO 관련 인증 프로토콜 (SAML, OAuth2.0, OIDC) (0) | 2024.04.01 |
---|---|
[Network] 프로토콜 (protocol) 종류 (0) | 2024.02.08 |
Forward 와 Redirect 방식의 차이 (1) | 2023.10.10 |