IP (Internet Protocol)
인터넷 상에서 하나의 컴퓨터에서 다른 컴퓨터로 데이터를 보낼 때의 통신 프로토콜
이 프로토콜을 이용할 때 필요한 것이 IP 어드레스이다.
IP address
인터넷 프로토콜이 네트워크 통신을 위해 사용하는 네트워크 주소
간단하게 컴퓨터의 고유한 주소라고 이해하시면 쉽다.
IP는 3계층인 네트워크 계층에서 동작하며 퍼블릭 IP와 프라이빗 IP가 있다.
Public IP
외부 네트워크와 통신을 하기 위해서 사용되는 고유한 주소
(IP는 32bit로 이루어져 있어서 총 43억개정도 되며 한국은 약 1억개의 퍼블릭 IP를 할당을 받았다.)
1) Dynamic IP : 계속 바뀔 수 있는 Public IP
- 공유기, Instance 등을 껐다가 키는 경우
- 오래도록 사용이 되지 않은 경우
2) Static IP : 고정된 Public IP
Private IP
● 내부 네트워크의 서버와 통신 하기 위한 목적으로 할당된 IP
- 10.0.0.0 ~ 10.255.255.255 (대규모/큰회사)
- 172.16.0.0 ~ 172.31.255.255 (중간단위 규모)
- 192.168.0.0 ~ 192.168.255.255 (소규모)
● 하나의 네트워크 대역을 공유하면 해당 네트워크 안에 있는 서버들은 프라이빗 IP로 통신 가능
● 각각의 네트워크마다 같은 프라이빗 IP가 존재할 수 있다.
Port
프로세스에 데이터가 접근하기 위한 숫자로된 식별자
(쉽게 이야기 하자면 IP는 컴퓨터와 컴퓨터간의 식별자이고, 포트는 컴퓨터 하나의 내부에서 프로세스와 프로세스 사이의 식별자라고 보면 된다.)
포트는 전송계층 4계층에서 포트번호를 보고 스위칭이 일어난다.
포트는 16비트로 되어 있어서 0 ~ 65535번까지 포트를 가질 수 있다. 0 ~ 1023번은 well-known 포트이며 특별하게 예약된 포트이다. 80은 HTTP, 443은 HTTPS 이다. well-kwown 포트 root 권한으로 띄워야 한다. 하지만 root 권한으로 띄운다 하더라도 나중에 서비스 배포할 때 well-known 포트는 충돌 날 가능성이 있기 때문에 웬만해서는 1023번 이후로 포트를 설정하면 안전하게 서비스 할 수 있다.
위와같이 노트북에 요청을 보내고 싶다고 가정한다. 공유기 IP의 8080 포트 보내게 되면 아직 아무 설정을 하지 않아서 공유기 서버 내부에 있는 8080 포트로 보내게 된다. 그러면 요청을 아무것도 못 받게 된다. 여기서 노트북 까지 갈 수 있게 하는 게 포트포워딩이란 설정이다.
Port Forwarding
네트워크 상에서 네트워크 라우터를 통과할 때 IP와 Port 번호를 보고 해당 요청을 다른 곳으로 넘겨주는 기능
집에 공유기 설정할때 위와 같은 화면이 있을 것이다. 로그인 후 옆에 보면 고급 설정이 있는데 눌러보면 여기에 포트포워드 설정이 있다.
위와같이 외부포트 8080이 공유기로 오는 포트를 설정할 수 있고 8080 포트를 받으면은 내부 IP주소 2번에 8080 포트로 연결해 달라는 규칙을 적용했다.
아까와 같이 요청을 보내게 되면 노트북 서버로 요청이 가게 된다.
참고
https://www.youtube.com/watch?v=cJ4ZiaKnejQ&ab_channel=%EC%9A%B0%EC%95%84%ED%95%9C%ED%85%8C%ED%81%AC
'개발 관련 강의 정리 > 10분 테코톡' 카테고리의 다른 글
[10분 테코톡] 애쉬의 AWS 살짝 알은체 하기 정리 (0) | 2023.05.29 |
---|---|
[10분 테코톡] 릭의 MySQL 아키텍처 정리 (0) | 2023.05.28 |
[10분 테코톡] 클레이의 상속과 조합 정리 (0) | 2023.05.25 |
[10분 테코톡] 아서의 싱글턴 패턴과 정적 클래스 정리 (0) | 2023.05.24 |
[10분 테코톡] 글렌의 전략 패턴 정리 (0) | 2023.05.23 |
댓글