#PORT
- 포트번호
▪ 포트번호는 TCP와 UDP에서 모두 사용된다.
▪ 포트번호는 접속 기기에서 특정 애플리케이션을 특정할 때 사용되는 번호이다.
▪ 포트번호를 통해 클라이언트가 어느 서버로 보내는 요청인지 구분할 수 있다.
▪ 포트번호는 0 ~ 65535번을 사용할 수 있는데, 특정 번호는 통신 규약에 따라 용도가 정해져 있다.
▪ 자주 사용되는 포트 번호는 다음과 같다.
포트 이름 | 포트 범위 | 용도 |
Well-known port | 0 ~ 1023 | 시스템 사용 번호 (슈퍼유저 권한 필요) 사용 권장 X |
Registered port | 1024 ~ 49151 | 특정 프로토콜이나 어플리케이션에서 사용하는 번호 (슈퍼유저 권한 필요 X) |
Dynamic port | 49152 ~ 65535 | 어플리케이션에서 사용 혹은 임시 사용 번호 |
포트 번호 | 프로토콜 이름 | 연결 프로토콜 | 용도 |
80 | HTTP | TCP | 웹서버 접속 |
443 | HTTPS | TCP | 웹서버 접속(SSL) |
110 | POP3 | TCP | 메일 읽기 |
25 | SMTP | TCP | 메일서버간 메일 전송 |
22 | SSH | TCP | 컴퓨터 원격 로그인 |
53 | DNS | UDP | DNS 질의 |
123 | NTP | TCP | 시간 동기화 |
# URL, DNS
- URL
▪ URL(Uniform Resource Locator)은 웹에 있는 자원을 찾기 위해서 브라우저에서 사용되는 메커니즘이다.
▪ 브라우저의 주소창에 입력한 URL은 서버 내의 환경에 존재하는 파일의 위치를 나타낸다.
▪ URL은 scheme, hosts, url-path, queery 로 구분된다. 각 명칭과 역할은 다음과 같다.
부분 | 명칭 | 설명 |
file:// , http:// , https:// | scheme | 통신 프로토콜 |
127.0.0.1 , www.google.com | hosts | 웹 페이지. 이미지, 동영상 등 파일이 위치한 웹 서버, 도메인 또는 IP |
:80 , :443 , :3000 | port | 웹 서버에 접속하기 위한 통로 |
/search, /Users/username/Desktop | url-path | 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등 파일의 위치까지의 경로 |
q=java | query | 웹 서버에 전달하는 추가 질문 |
▪ 예를 들어 google에 java를 검색했을 때의 URL은 "https://www.google.com/search?q=Java"일 때 다음과 같이 나눠진다.
- Domain name
▪ 도메인 이름이란 웹사이트의 IP주소 대신 사용하는 주소다.
▪ 예를 들어 서울시청을 찾아갈 때, 도로명 주소는 IP주소라면 서울시청은 도메인 주소에 비유할 수 있다.
- 도메인 종류
▪ 도메인은 두 종류로 나뉜다.
- gTLD - generic Top Level Domain
- ccTLD - country code Top Level Domain
▪ gTLD는 전 세계에서 등록 가능한 주소로 .com, .net, .org, .edu, .gov, .int, .mil 등이 있다.
▪ ccTLD는 각국 네트워크 정보센터에서 위임받아 관리되며 한국의 경우 .kr를 사용한다.
- DNS
▪ DNS(Domain Name System)는 호스트의 도메인 이름을 IP주소로 변환하거나 반대의 경우를 수행할 때
사용되는 데이터베이스 시스템이다. (도메인을 컴퓨터가 이해할 수 있는 IP주소로 변환)
▪ 예를 들어 브라우저에서 naver.com을 입력 시 DNS 해당 도메인 이름에 대응하는 IP주소를 찾아 요청을 전달하여
클라이언트와 서버가 통신할 수 있게 해준다.
▪ DNS의 작동원리는 다음과 같다.
- URL에 주소를 입력할 시 DNS Lookup으로 불리는 과정이 시작된다.
- 브라우저가 리졸버에게 IP주소를 요청한다. 리졸버는 기존에 찾아본 도메인 정보가 담긴 캐시 파일에
해당 도메인 정보가 있다면 즉시 IP주소를 리턴하고, 없을 시 다음 순서를 진행한다.
(리졸버는 요청받은 도메인의 IP주소를 찾기 위해 여러 네임서버에 반복적 질의를 하는 이름 서버이다.) - 리졸버는 IP주소를 얻기 위해 네임 서버들에게 재귀적 쿼리를 진행한다.
루트, 탑 레벨, 권한 있는 도메인 서버에 차례대로 쿼리를 진행하며 IP주소를 알아낸다. - 리졸버는 전달받은 도메인의 IP주소를 기록하고 브라우저에게 전달한다.
'개발지 > Today I learn' 카테고리의 다른 글
[0925] CS 지식 - 웹(SSR / CRS) (0) | 2023.09.25 |
---|---|
[0922] CS 지식 - 네트워크 (웹) (1) | 2023.09.22 |
[0918] CS 지식 - 네트워크 (네트워크 기술2) (0) | 2023.09.20 |
[0914] CS 지식 - 네트워크 (네트워크 기술) (0) | 2023.09.14 |
[0913] 자바 가상머신 (JVM) (0) | 2023.09.14 |