인프런 강의 中
김영한 강사님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 내용을 정리했습니다.
What does not kill me makes me stronger
- Friedrich nietzche-

공부한 내용을 블로그로 정리한다는 것은 누구보다 나 자신에게 도움이 되는 활동이라고 생각합니다. 하지만 글재주가 없는 저에게는 가끔.. 아주 가끔 블로그 포스팅하는 것이 고통스러울 때가 있습니다... 그래도 눈앞의 고통만 생각하지 않고 더 성장할 나의 모습을 상상하면 많은 위로가 되는 것 같습니다. 모두들 자신만의 고통을 잘 이겨내시고 무한히 성장하시길 응원하겠습니다. I root for you!
목차
- IP
- TCP, UDP
- PORT
- DNS
1. PORT
PORT는 한국어로 '항구'라고 불리는데, 화물을 선적, 하적할 수 있는 장소라는 의미를 가진다. 인터넷상에서도 이와 비슷한 느낌으로 모뎀(ex,케이블 모뎀)과 컴퓨터 사이에 데이터를 주고받을 수 있는 통로라는 의미를 가진다. 이는 수많은 통로를 만들어 특정 애플리케이션은 특정 포트를 통해서 데이터를 전달할 수 있도록 한다.
포트가 필요한 상황
우리는 위 그림처럼 게임을 하는 동시에 통화를 하거나 노래를 들으면서 메시지를 보내는 등 다양한 활동을 동시에 하는 경우가 많다. 이때 다양한 IP 패킷이 내 컴퓨터로 보내질텐데 컴퓨터 입장에선 어떤 패킷이 게임에 필요한 패킷이고 어떤 패킷이 통화에 필요한 패킷인지 모른다. 그래서 이런 패킷들을 구분해주기 위해 포트가 사용된다.
TCP/IP 패킷 정보
그래서 TCP/IP 패킷 정보를 보면 출발지 PORT, 목적지 PORT가 존재한다. IP 정보를 통해 서버를 찾고 PORT 정보를 통해 서버 안에서 돌아가는 애플리케이션을 구분할 수 있다고 생각하자.
같은 IP 내에서 PORT를 통해 어플리케이션 프로세스를 구분하는 모습
출발지 IP & PORT 번호, 목적지 IP & PORT 번호를 통해서 특정 서버내의 특정 어플리케이션에 대한 정보를 구분해서 패킷을 송수신 할 수 있다.
PORT 번호
- 0 ~ 65565 할당 가능
- 0 ~ 1023: 잘 알려진 포트, 사용하지 않은 것이 좋음(겹칠수도 있기 때문이겠죠?!)
- FTP - 20, 21
- TELENT - 23
- HTTP - 80
- HTTPS - 443
2. DNS(Domain Name System)
우리는 보통 사이트를 접속할 때 IP주소로 검색하지 않는다! 당장 네이버를 접속할 때도 www.naver.com 이렇게 접속하지 192.168.0.1 이런식으로 접속하지 않는다. 이렇게 IP주소를 대신해서 도메인명으로 해당 서버에 접속할 수 있게 해주는 것이 DNS이다.
IP 주소를 사용 했을때 불편한 점
- IP는 기억하기 어려움
- IP는 변경될 수 있음(그럼 사용자에게 변경된 IP를 또 알려줘야 함...)
이런 불편한 점을 해결해주는 것이 바로 DNS이다. DNS서버에는 IP 주소와 도메인 명이 저장되고 다음과 같은 흐름으로 DNS를 사용할 수 있다.
DNS 사용
CMD에서 nslookup이라는 명령어를 통해서 특정 도메인의 IP주소를 확인할 수 있다.
구글 IP주소 찾기
구글의 도메인을 통해 IP주소를 찾아보니 구글은 IPv6와 IPv4 주소를 둘 다 가지는 것 같다..! 신기하다.. 아래 142.250.76.132를 검색하면 구글 홈페이지로 접속할 수 있다.(IPv6 주소로 접속할 수 있는지는 잘 모르겠음..)
TMI : DDNS(Dynamic Domain Name System)
우리는 다양한 이유로 인해서 유동IP를 사용한다.(가격적인 측면에서도 유동IP가 싼 것으로 알고 있음). 그래서 컴퓨터를 리부팅 시키는 것 만으로도 IP가 바뀔 수 있다. 이렇게 자주 바뀌는 유동IP를 사용하는 곳에서는 DNS를 사용하기에 어려움이 있다. 그래서 유동IP를 사용하는 사용자들이 활용할 수 있는 것이 DDNS다.
DDNS는 DDNS프로그램을 이용해 최신 IP로 업데이트 해주기 때문에 IP가 변경될 때마다 DNS에 변경된 IP주소를 전달해 줌으로써 도메인 서비스를 사용할 수 있도록 해준다.
'HTTP 웹 기본 지식' 카테고리의 다른 글
HTTP 메서드(GET,POST) (1) | 2024.05.17 |
---|---|
HTTP(비연결성, HTTP 메시지) (0) | 2024.05.14 |
HTTP(클라이언트 서버 & Stateless) (0) | 2024.05.13 |
웹 브라우저(URI, URL, URN, 흐름) (0) | 2024.04.23 |
인터넷 네트워크(IP, TCP, UDP) (4) | 2024.04.01 |