IP 란?
IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치(컴퓨터, 서버 장비, 스마트폰 등.. HOST 로 칭한다)를 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다.
뉴스를 보면 IP 를 추적해서 범인을 잡는다는 등 소식을 접할 수 있다. 이렇게 IP 는 고유 주소인 것이다.
HOST 가 사람이라고 한다면 IP 는 주민등록번호로 비유할 수가 있다.
IP 는 두가지 버전이 있다. Ipv4 , Ipv6 가 있는데 각각 32bit, 128bit 를 가지고 있고 이 둘은 외워주는게 좋다.ipv6 는 ipv4 의 자원의 한계 (2^32 = 약 43억개) 로 인해 생겨난 주소 체계인데, 아직까진 ipv4 가 널리 쓰이고 있다. 왜 그런지 궁금해서 찾아보았는데 ipv6 를 구축하려면 비용이 많이 든다고 했나.. 그랬던 것 같다.
또한 공유기를 설치하면 ip 를 하나만 사용하면 되기 때문에 아직은 ipv4 가 쓰이고 있다고 한다. 이에 대한 자세한 내용은 아래에서 다시 설명하겠다!
(추가적으로 어디서 찾은 정보인데 공유기에다가 공유기를 연결해서 쓸 수도 있다고.. 결론은 ipv4 가 아직은 계속 쓰일 것이라고 들었다)
공인 IP / 사설 IP / 고정 IP / 유동 IP
먼저 사설 IP를 알기전에 아이피는 4가지로 나뉘어 쓰니는데 이 부분부터 알고 가자. IP는 나누는 방식에 따라 고정 IP, 유동 IP와 공인 IP, 사설 IP로 나눌 수 있다.
고정 IP
고정 IP는 말 그대로 변하지 않고 컴퓨터에 고정적으로 부여된 IP이다.
한번 부여되면 IP 반납을 하기 전까지는 다른 장비에 부여할 수 없는 고유의 IP로 보안성이 우수하기 때문에 보안이 필요한 업체나 기관에서 사용한다.
유동 IP
유동 IP 역시 말그대로 변하는 IP이다.
인터넷 사용자 모두에게 고정 IP를 부여해 주기는 힘들기 때문에, 일정한 주기 또는 사용자들이 인터넷에 접속하는 매 순간마다 사용하고 있지 않은 IP 주소를 임시로 발급해 주는 IP이다.
대부분의 사용자는 유동 IP를 사용한다.
공인 IP
IP 주소는 임의로 우리가 부여하는 것이 아니라 전 세계적으로 ICANN이라는 기관이 국가별로 사용할 IP 대역을 관리하고, 우리나라는 한국인터넷진흥원(KISA)에서 국내 IP 주소들을 관리하고 있다.
이것을 ISP(Internet Service Provider의 약자로 KT, LG, SKT와 같이 인터넷을 제공하는 통신업체)가 부여받고, 우리는 위 회사에 가입을 통해 IP를 제공받아 인터넷을 사용하게 되는 것이다. 이렇게 발급받은 IP를 공인 IP라고 한다.
사설 IP
공유기를 사용한 인터넷 접속 환경일 경우 공유기까지는 공인 IP 할당을 하지만, 공유기에 연결되어 있는 가정이나 회사의 각 네트워크 기기에는 사설 IP를 할당한다.
즉, 사설 IP는 어떤 네트워크 안에서만 내부적으로 사용되는 고유한 주소이다. 사설 IP는 보통 내 컴퓨터에서 사용하는 로컬 IP라고도 불리운다.
공인 IP는 전 세계에서 유일하지만, 사설 IP는 하나의 네트워크 안에서 유일하다. 공인 IP는 외부, 내부 상관없이 해당 IP에 접속할 수 있으나, 사설 IP는 내부에서만 접근이 가능하다.
추가적으로 덧붙일 말은 유동 IP 는 공인 IP, 사설 IP 모두 쓰일 수 있다는 점이다.
그래서 우리가 사용하는 공유기 같은 경우, 대개는 유동 IP 인 경우가 많은데 이 역시 ipv4 의 자원적 한계를 해결한다고 들었다.
그럼 유동 ip 이면 ip 주소가 변경된 것을 외부에서 어떻게 감지할 것인가?
-> 이는 DDNS 를 이용할 수 있다. DNS 는 IP 와 도메인 네임을 연결시켜 준다는 것을 알고 있을 것이다.
DDNS 는 Dynamic DNS 로 ip 가 변경된 것도 감지하여 도메인 네임을 연결시켜 주는 말 그대로 dynamic DNS 인 것이다.
내 컴퓨터의 IP 를 확인하는 방법
터미널을 켜서 ipconfig 를 확인하면 아래와 같은 출력을 확인할 수 있는데
여기서 ipv4 주소가 내 현재 ip 인 것이다.
그런데 이게 내 진짜 ip 는 아니다. 보통 공유기를 연결해서 쓰는데 공유기는 공인 ip 를 가지고 있으며, 이 공유기에 연결한 모든 장비들은 사설 ip 를 쓰고 있다고 위에서 설명했다! (다시 말하지만, 사설 ip 는 고유한 주소가 아니다)
이 사설 ip 의 형태는 보통 192.168.***.*** 이런 식으로 생겼다.
그래서 만약 하나의 공유기에 여러 컴퓨터를 연결해서 쓰고 있다면 각각은 192.168.0.1, 192.168.0.2 ... 이런 식으로 되어 있는 것을 볼 수 있다
자 그렇다면 사설 ip 말고, 내 진짜 ip 는 무엇일까?
그것은 네이버 검색창에다가 "ip 주소 확인" 이라고 검색해보면 내 진짜 ip 를 확인할 수 있다. 이것은 진짜 ip 이기 때문에 유출하지 않도록 주의하자!
아무튼 나는 노트북과 스마트폰이 같은 와이파이에 연결되어 있는데 공인 IP 가 진짜 동일한지 한 번 확인해보았더니 정말 같은 결과가 나와서 신기했다. 또한 스마트폰의 와이파이를 끄고 다시 네이버 검색창에서 확인해보니 달라진 것을 확인할 수 있었다!!
포트포워딩
외부에서 공유기에 연결되어 있는 내 컴퓨터에 신호를 보내기 위해서는 192.168.***.*** 에다가 신호를 보낸다고 해결되지 않는다. 이것은 사설 ip 이기에 공유기 안의 내부 네트워크 ip 일 뿐이므로 외부에서 접근할 수 없는 것이다.
그렇다고 공인 ip 에 요청을 되지 않냐고 한다면 그 안에 연결되어 있는 장비들 중 어느 것으로 연결해야 할지 외부에서는 알지 못할 것이다.
그럼 어떻게 내 컴퓨터로 신호를 보내야하는 것일까?
이럴 때 포트포워딩 설정을 이용하면 된다.
포트포워딩 설정은 공유기의 포트를 이용해 공유기에 물린 기기들(라즈베리 파이, 컴퓨터, 핸드폰, ...)의 특정 포트에 진입할 수 있는 기능이다.
예를 들어, 공유기의 180 번 문을 통해 들어온 것은 핸드폰의 80 번 포트로 들어가게 보내도록 설정하는 것이다.
그래서 Port 180 으로 진입 시 핸드폰의 Port 80 으로, Port 2580 으로 진입 시 라즈베리 파이의 Port 80 으로, Port 3830 으로 진입 시 태블릿의 Port 80 으로 요청을 전달하는 식으로 사용자의 편의 대로 #전달( #Forwarding )설정을 하는 것이 가능하다.
서브넷 마스크
ip 관련 용어를 찾아보면 서브넷 마스크에 관련된 용어를 흔히 찾을 수 있다.
나는 이것이 궁금해져서 한 번 찾아보았다.
먼저 서브넷 마스크에 대해서 이해를 돕기 위해 개념부터 찾아보면
서브넷 마스크는 ip 를 어디서 어디까지 사용하겠다고 결정해주는 역할을 한다. 현재 43억개를 한 네트워크에서만 사용하게 되면 다른 네트워크는 사용을 못하게 되어버리기 때문에 필요한 만큼 나누어 사용을 하게 된다. 그리고 나누어 사용할 때 너무 크게 나누게 되면 수량이 한정되어 있어서 낭비가 되고, 또한 너무 큰 네트워크로 되면 통신에 쓸데없는 트래픽도 많이 발생한다.
즉 IP를 나누어 필요한만큼 사용할 때, 나는 어디부터 어디까지 IP를 사용을 한다고 결정을 하고, 이 결정한 바를 남들한테 알려야하는데 이것을 정의한 것이 서브넷 마스크이다.
또한 마스크(Mask)란 가리는 부분으로 얼굴에서 코만 빼놓고 다 가리면, 남들에게는 내 코만 보이게 되며, 나는 코만 사용을 할께 하고 남에게 알려주는 것이다.
그래서 서브넷 마스크 란 내가 사용할 수 있는 IP가 10,000개가 있는데, 너무 많아서 일부만 필요하거나 100개씩 나누어 여러곳에 사용을 해야 겠다면 서브넷마스크로 10,000개 중에 9,900이라는 마스크숫자로 가리고 100개씩 나누어 사용하는 것이다.
https://m.blog.naver.com/intruder_lc/221278921744
서브넷 마스크의 자세한 계산 원리는 사실 글을 읽는 것보다 아래 영상 하나로 단박에 이해 되었다.
이 영상을 토대로 덧붙이자면
서브넷 마스크란 IP Address에서 첫비트부터 어디까지가 네트워크 부분인가 알려주는 역할을 하며, 나머지 부분은 ip 쓸 수 있는 범위를 알려주게 되는 역할을 한다. IP 주소에 마스크를 씌워서 어디까지가 네트워크 부분인가를 표시하는 것이다. IP Address처럼 32비트로 구성되며, 네트워크 부분을 표시하는 비트는 1, 호스트 부분은 </span>을 표시하는 비트는 0이다. 또한,연속성이 존재해서 네트워크 부분 중간에 0이 들어갈 수 없다.
예를 들어, IP 주소 192.168.1.1에 서브넷 마스크가 255.255.255.0라면 255로 표시된 부분인 192.168.1.까지는 네트워크 부분이고 0으로 표시된 부분인 .1은 호스트 부분이다. 다시 말해, 255는 이진법으로 표시하면 1111111이기 때문에 네트워크 부분인 것이다.
모든 ip (with 서브넷 마스크)
0.0.0.0/0, 0.0.0.0/16, 0.0.0.0/24 은 서브넷 마스크가 다른 IP 주소 범위를 나타낸다. 이들은 주소 체계와 서브넷 마스크의 크기에 따라 다른 범위를 지정한다.
- 0.0.0.0/0:
- 서브넷 마스크가 0인 IP 주소 범위를 의미
- 모든 IP 주소를 나타냄
- 이 범위는 IPv4에서 모든 IP 주소에 대한 접근을 허용하는 것을 의미
- 0.0.0.0/16:
- 서브넷 마스크가 16인 IP 주소 범위를 의미
- 첫 번째 두 개의 블록 (0.0)은 네트워크 식별자를 나타내며, 나머지 두 개의 블록은 호스트 식별자를 나타냄
- 이 범위는 0.0.0.0부터 0.0.255.255까지의 IP 주소를 나타냄
- 0.0.0.0/24:
- 서브넷 마스크가 24인 IP 주소 범위를 의미
- 첫 번째 세 개의 블록 (0.0.0)은 네트워크 식별자를 나타내며, 마지막 한 개의 블록은 호스트 식별자를 나타냄
- 이 범위는 0.0.0.0부터 0.0.0.255까지의 IP 주소를 나타냄
즉, 서브넷 마스크의 크기가 작을수록 더 많은 IP 주소가 포함된다.
0.0.0.0/0은 모든 IP 주소를 포함하고 있으며, 0.0.0.0/16은 0.0.0.0부터 0.0.255.255까지의 IP 주소를, 0.0.0.0/24는 0.0.0.0부터 0.0.0.255까지의 IP 주소를 나타낸다.
브로드 캐스트 주소란?
브로드캐스트 주소는 네트워크 상의 모든 호스트에게 메시지를 보내는 데 사용되는 특별한 IP 주소이다. 이 주소는 네트워크 주소를 기준으로 호스트 부분을 모두 1로 설정하여 생성된다.
IPv4에서 브로드캐스트 주소는 네트워크 주소와 동일한 네트워크 ID를 가지고 있지만, 호스트 부분은 모두 1로 설정된다. 예를 들어, 192.168.0.0/24 네트워크의 브로드캐스트 주소는 192.168.0.255 이다.
IPv6에서는 브로드캐스트 주소 대신, 다중캐스트(Multicast) 주소가 사용된다. 다중캐스트 주소는 특정 그룹에 속한 호스트들에게 메시지를 전달하기 위해 사용된다. IPv6에서는 브로드캐스트 주소 개념이 없으며, 모든 노드에게 메시지를 전달하기 위해서는 특수한 다중캐스트 주소인 "ff02::1"을 사용할 수 있다.
브로드캐스트 주소는 네트워크 관리, 네트워크 디버깅, 자원 공유 등의 목적으로 사용될 수 있으며, 일반적으로 특정 호스트 대신 네트워크 상의 모든 호스트에게 메시지를 보내는 데 사용된다.
브로드 캐스트 주소의 쓰임새
브로드 캐스트 주소의 쓰임새를 더 자세히 알아보고 싶어서 이 부분은 chat gpt 에게 물어보았다.
브로드캐스팅은 네트워크에서 한 호스트가 전체 네트워크에 메시지를 보내는 방식입니다.
송신 호스트는 브로드캐스트 주소를 목적지로 설정하여 패킷을 전송하면, 해당 네트워크에 연결된 모든 호스트가 해당 메시지를 수신합니다. 브로드캐스팅은 네트워크 상에서 다음과 같은 목적으로 사용될 수 있습니다:
1. 네트워크 디스커버리: 네트워크 상에 있는 호스트를 찾거나 식별하기 위해 사용됩니다. 예를 들어, DHCP 서버는 IP 주소를 동적으로 할당하기 위해 브로드캐스트를 사용하여 네트워크 상의 호스트에게 IP 주소를 제공합니다.
2. 자원 공유: 네트워크 상에서 파일 서버, 프린터, 미디어 스트리밍 등과 같은 자원을 공유하기 위해 사용됩니다. 호스트들은 브로드캐스트 메시지를 통해 해당 자원의 위치와 접근 방법을 알 수 있습니다.
3. 네트워크 관리: 네트워크 관리자는 네트워크 상의 모든 호스트에게 정보를 전달하고 명령을 내리기 위해 브로드캐스트를 사용할 수 있습니다. 예를 들어, 네트워크 장애 발생 시 알림 메시지를 브로드캐스트하여 관련된 호스트들에게 알릴 수 있습니다.
4. ARP (Address Resolution Protocol): 호스트가 특정 IP 주소에 대한 MAC 주소를 알고자 할 때 ARP 요청을 브로드캐스트 주소로 보냅니다. 이를 통해 해당 IP 주소에 대한 MAC 주소를 가진 호스트가 응답하여 매핑 정보를 전달합니다. 브로드캐스팅은 네트워크 상의 모든 호스트에게 메시지를 전달하는 강력한 도구이지만, 사용 시 주의가 필요합니다. 불필요한 브로드캐스트 메시지는 네트워크 대역폭을 차지하고, 불필요한 트래픽을 발생시킬 수 있으므로 적절하게 사용되어야 합니다.
출처
https://m.blog.naver.com/seoulworkshop/221265052717
'💻 컴퓨터 개론' 카테고리의 다른 글
x86, x64, x86_64, arm (0) | 2023.07.02 |
---|---|
Base64 인코딩 (0) | 2023.04.01 |
ASP, PHP, JSP 가 무엇인지 모르겠는 사람들을 위해 (0) | 2020.06.19 |
TCP/IP 에 대하여 (0) | 2020.06.17 |
OSI 모델과 네트워크 장치 (0) | 2020.06.17 |