HTTP 웹 기본 지식

인터넷 네트워크(PORT, DNS)

나는웅쓰 2024. 4. 3. 11:49
반응형
인프런 강의 中 
김영한 강사님의 '모든 개발자를 위한 HTTP 웹 기본 지식' 내용을 정리했습니다.

이미치 출처: https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC#

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 패킷 정보

 

그래서 TCP/IP 패킷 정보를 보면 출발지 PORT, 목적지 PORT가 존재한다. IP 정보를 통해 서버를 찾고 PORT 정보를 통해 서버 안에서 돌아가는 애플리케이션을 구분할 수 있다고 생각하자.

 

같은 IP 내에서 PORT를 통해 어플리케이션 프로세스를 구분하는 모습

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 사용

DNS 사용 흐름

 

 

CMD에서 nslookup이라는 명령어를 통해서 특정 도메인의 IP주소를 확인할 수 있다.

 

구글 IP주소 찾기

nslookup을 사용해 도메인 명으로 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주소를 전달해 줌으로써 도메인 서비스를 사용할 수 있도록 해준다.

반응형