Computer Science/네트워크

[네트워크] IP주소란??(internet protocol)

findTheValue 2021. 8. 8. 15:21

IP(IPv4)주소?

  • Internet Protocol : 인터넷 상에서 다른 컴퓨터와 통신할 때 사용하는 프로토콜

  • 이를 위해 컴퓨터의 논리적인 주소(숫자로 표현 가능)를 구분

  • 1비트는 0과 1로 표현이 가능

  • 현재 IP는 32비트 체계를 사용하므로 약 40억개(2의 32승)의 주소를 표현가능.

    => 전세계 모든 컴퓨터 처리 불가능하기 때문에 IPv6라는 새로운 주소체계 등장.

웹 사이트 접속은 실제로 도메인이 아닌 IP주소를 이용해 통신하는 것.

cmd창에서 nslookup naver.com치면 IP주소를 출력해줌.


IP의 분류

  • 공인 IP: 세계에서 단 하나만 존재하는 IP주소
  • 사설 IP : 공유기를 이용해 만들 수 있는 가상의 IP주소 => 외부에서 내 컴퓨터를 찾을 수 없다.(외부와 통신에 제약)(공중전화느낌)
  • 고정 IP : 해당 컴퓨터의 IP주소를 고정적으로 사용
  • 유동 IP : 수시로 변화하는 IP주소.

서버역할을 하는 컴퓨터(요청에 대한 응답을 해줘야 하는 컴퓨터)는 공인 IP를 사용해야한다.

그럼 유동 IP는 서버 구축이 불가능한가??

DDNS로 해결 가능하다.(사용자가 도메인주소로 접근할때)


사설 IP간 통신.

img

  1. 송신호스트는 송신지 IP 주소는 192.168.0.10

    송신지 포트번호는 8000번

    목적지 IP 주소를 211.189.19.20(라우터+NAT) 으로 적고

    목적지 포트번호를 9000번 이라고 적는다.

    그리고 패킷을 전송한다.

  2. 210.119.19.10(라우터+NAT) 는 1번에서 전송된 패킷을 받는다.

    그리고 송신지의 IP 주소를 210.119.19.10 으로 바꿔 적는다.

    그리고 패킷 전송한다.

  3. 211.189.19.20(라우터+NAT) 는 2번에서 전송된 패킷을 받는다.

    이 때 목적지 IP 주소에 211.189.19.20 으로 써있기 때문에 자신에게 온 패킷이라고 확인한다.

    그리고 목적지 포트번호가 9000번 임을 확인한다.

    그 후 9000번 포트로 오는 데이터를 누구에게 전달해야 하는지 확인한다.

    확인해보니 9000번 포트->192.168.0.20 으로 전달해야 되는 것을 알아낸다.

    그리고 192.168.0.20(진짜 수신호스트) 으로 패킷을 전달한다.

  4. 수신호스트 (192.168.0.20) 는 패킷을 잘 전달받는다.

    그리고 답장을 하기 위해서 송신지 IP 주소와 포트번호를 살핀다.

    송신지 IP 주소에는 210.119.19.10(라우터+NAT) 로 적혀 있고, 포트번호는 8000번이 적혀 있다.

    따라서 이 주소로 다시 답장 패킷을 보낸다.

  5. 답장 패킷은 송신호스트에게 위와 같은 방식으로 다시 전달된다.

사설 IP 들간의 통신에서 필요한 것은.

  1. 공인 IP 주소를 가지고, 중간 전달자 역할을 해주는 라우터가 필요하다.

  2. 1번의 라우터에는 NAT 기능이 필요하다. (NAT 란 Network Address Translation 으로서, 공인IP<->사설 IP 변환을 말하며, 특정 사설IP를 특정 포트와 매핑해 주는 기능을 가진다.)


ISP(internet sevice provider)

ex.) KT,SKT...

ISP업체는 우리가 인터넷에 가입하면 공인IP주소를 유동적으로 개개인에게 부여한다. (공인IP를 고정으로 받으려면 더 비쌈)

때문에 공인 IP를 쓰려면 그냥 호스팅업체를 이용하는 것이 편함.

공유기를 연결했을때와 직접 연결했을 때는 왜 IP주소가 다르냐?

=> MAC주소를 토대로 IP를 할당하기 때문에 각 기기마다 IP주소를 따로 할당받게 된다(LAN카드가 기기마다 다르기때문에)

ipconfig all -> DNS서버 IP주소 볼 수 있음.


사설 IP로 서버 운영하는 방법 : 포트 포워딩.

  • 공유기(고정IP)의 80번 포트로 들어오는 패킷을 일정한 사설IP로 보내주게 포트매칭시켜주면 가능.

  • 어쨌든 공인IP가 하나는 필요하다(공유기)


NAT(network address translation)

  • 공유기가 하나의 공인 IP를 내부 사설 IP로 나누는 기술을 NAT라고 한다.
  • 사설IP로 내부망을 보호하는 역할도 수행한다.

하나의 공인 IP에서 2대 이상의 웹 서버를 운용하는 방법.

  • 내부 호스트IP들을 각각 다른 포트에 연결(80번,81번...)
  • 이런식으로 포트를 다르게 분배하면 하나의 공인 IP에서 여러개의 웹서버 운용이 가능(도메인주소가 다르다는 가정하에.)

주의!: 공유기 아래의 사설IP대역에서 IP주소를 임의로 바꾸면 외부의 공인IP에 연결 되어야할 신호가 다른 곳으로 연결 될 수 있음.

(사설 IP대역을 공인IP대역으로 설정가능하지만 하면 안되는 이유.)