[브라우저의 작동 원리(보이지 않는 곳)] - IP와 PORT
1. IP 주소(Internet Protocol address)
- 네트워크에 연결된 특정 PC의 주소를 나타내는 체계를 IP 주소라고 한다.
1) IPv4(Internet Protocol version 4)
- 인터넷 프로토콜의 네 번째 버전을 의미하며 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다.
- IPv4 주소체계는 32비트로 구성되어 있으며 총 12자리이며 네 부분으로 나뉜다. 각 부분은 0~255까지 3자리의 수로 표현된다(약 43억개의 IP 주소 표현 가능).
용도가 정해진 IP 주소
localhost
, 127.0.0.1
: 현재 사용 중인 로컬 PC를 지징한다.
0.0.0.0
, 255.255.255.255
: broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소이다. 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있다.
2) IPv6(Internet Protocol version 6)
- 현재 인터넷 사용자의 증가로 IPv4로 할당할 수 있는 PC가 한계를 넘어서면서 대안으로 128비트 주소 체계를 갖는 IPv6가 등장했다.
- IPv6는 인터넷 프로토콜 스택 중 네트워크 계층의 프로토콜 버전 6 인터넷 프로토콜로 제정된 차세대 인터넷 프로토콜을 말한다.
2. 포트(PORT)
- IP 주소 뒤에 붙어서 숫자로 표현되며 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미한다.
- 이미 사용중인 포트는 중복해서 사용할 수 없으며 다른 프로그램에서 포트를 사용중이라면 다른 포트 번호로 실행된다.
1) 일반적인 포트 번호
- 포트 번호는 0~65535번 까지 사용할 수 있으며 크게 세 종류로 구분된다.
- 이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있다. HTTP(:80), HTTPS(:443)과 같이 잘 알려진 포트의 경우, https://codestates.com:443이 아닌 https://codestates.com처럼 포트 번호를 URI에 생략할 수 있지만, 그 외의 잘 알려지지 않은 포트(3000과 같은 임시 포트)는 반드시 포트 번호를 포함해야 한다.
- 아래 그림은 npm start 명령어를 통해 리액트 앱을 실행한 화면이다.
- localhost 대신에 127.0.0.1로 접속할 수 있다.
- 172.30.1.14를 host로 사용할 수 있다.
1-1. 잘 알려진 포트(well-known port)
잘 알려진 포트의 종류
- 20 : FTP(data)
- 21 : FTP(제어)
- 22 : SSH
- 23 : 텔넷
- 53 : DNS
- 80 : 월드 와이드 웹 HTTP
- 119 : NNTP
- 443 : TLS/SSL 방식의 HTTP
1-2. 등록된 포트(registered port)
1-3. 동적 포트(dynamic port)