본문 바로가기

Network

IP 주소에 대한 이해

IP 란?

IPHost 에 대한 식별자다.

 

그럼 Host 란? 

인터넷에 연결된 컴퓨터Host 라 부른다.
우리가 흔히 말하는 Hosting ( 호스팅 ) 한다는건 컴퓨터를 인터넷에 연결하는 행위를 말하는 것

다시 말하면 인터넷에 연결되지 않은 컴퓨터는 IP 주소를 가질수가없다.

 

식별자 란?

식별자의 사전용어는 어떤 대상을 유일하게 식별 및 구별할 수 있는 이름 이다

컴퓨터의 IP 는 예를 들어 222.112.43.96 과 같은 숫자를 가지는데 . 을 기준으로  각각 8비트의 이진수를 담고 있다.

예를들어 255 를 이진수로 나타내게되면 11111111 의 8개의 비트로 나타내어 지게 되므로
IP 주소가 0.0.0.255 이라면 이 다음의 주소는 0.0.1.0 이 되게 된다.

그래서 IP 주소는 0.0.0.0 부터 255.255.255.255 까지 2의 32 승 , 즉 43억개 정도의 주소를 가질 수 있다.

 

결론적으로 IP
인터넷에 연결된 컴퓨터의 주소 

 

구글에서 '내 IP 주소' 라고 치고 관련된 웹사이트를 들어가게 되면 쉽게 내 IP 주소를 가져올수 있다.

이제 인터넷에 연결된 컴퓨터를 모두 Host 라고 정의함

사설 IP 와 공용 IP

사설 IP 란 같은 공유기를 쓰는 Host 의 주소

공인 IP 란 외부랑 통신하기 위한 Host 의 주소

 

그럼 여기서 뭐가 진짜 IP 주소냐? 라고 물으면 가짜와 진짜의 기준보다는

누구와 통신을 하고 있느냐의 차이

예를 들어 친구와 PC 방을 같이가서 스타크래프트를 하려고 하는데
배틀넷에 접속할 필요 없이 LAN 으로 게임을 할수 있다.

이경우에 같은 공유기를 쓰기 때문에 사설 IP 로 서로서로를 확인해서 플레이 가능

하나의 공유기로 여러 사설 IP 를 할당가능 하다.
하지만 대구에 사는 친구와 서울에 사는 친구가 같이 게임을 하려면 
외부에서는 사설 IP를 사용할수 없기에 배틀넷에 접속한후 공유기가 할당한 공인 IP를 가지고 플레이를 하게 된다.
블리자드가 어떤식으로 통신을 하는지는 모르기에 계정을 가지고 구분을 할수도,MAC 주소일수도 있기에 등등 ( 뇌피셜임 )

 

MacOs 기준

공인 IP를 확인해보는 방법

1. 위에서 말한 내 IP 주소 를 브라우저에 검색후 확인

2. 터미널에서 curl ifconfig.me ( curl 이 기본적으로 제공되는지 모르겠지만 없으면 설치후 )

 

사설 IP를 확인해보는 방법
ifconfig 명령어를 치면 아래와 같은 정보가 나오는데

inet 부분이 사설 IP 주소 현재 필자는 192.168.0.8

inet 에 딸려있는 broadcast 는 특정 네트워크 전체에 패킷을 전송할 때 사용하는 broadcast IP 이다.

CLI가 싫으신 분들은 시스템 환경설정 -> 네트워크 -> 고급 -> TCP/IP 에서 확인 가능

서브넷 마스크

위에서 IP 란`인터넷에 연결된` 주소 라 했다.
더 풀어서 말하면 

IP = 네트워크 주소 + Host 주소 가 되게 된다.

한정된 네트워크 주소를 효율적으로 관리하기 위해 논리적으로 네트워크 주소를 나눈 기준이

서브넷 마스크

필자의 서브넷마스크는 255.255.255.0 으로 255 는 앞에서 말했듯이 8개의 비트가 모두 1이다.

서브넷마스크에서 2진수에서 1의 부분이 네트워크 주소 부분인데
위에서는 255가 3개 이므로 8x3 = 24 즉 앞의 24비트가 네트워크 주소이고
나머지 32-24 = 8비트가 자동으로 호스트 주소가 되게 된다.
255.255.255.0

네트워크부분.호스트부분

앞의 24비트가 모두 네트워크 부분이라는 것 255.255.255.0 이 네트워크 주소가 아님!
필자의 해당 ip 주소가 192.168.0.8 이고

서브넷마스크가 255.255.255.0 이면

네트워크 주소는 IP 주소와 서브넷마스크의 AND 연산으로 구할수 있다.
네트워크 주소 -> 192.168.0.0

 


CIDR 표기법으로
192.168.0.0/24 로 나타낸다.

'Network' 카테고리의 다른 글

macbook 모니터 2개 연결하는 방법  (0) 2022.10.27
Packet 에 대한 이해  (0) 2022.09.14