본문 바로가기

Server

[Server] PORT, DNS

728x90

 

PORT

 

한 번에 둘 이상 연결해야 한다면? 어떻게 해야 할까?

 

만약 게임을 하면서 친구랑 화상통화도 하고 있고,  동시에 웹브라우저 요청도 하고 있다고 하자.

클라이언트 PC는 한 번에 여러가지 통신을 해야한다.

서버가 패킷을 내 IP로 보낼텐데, 이것이 게임으로 오는 패킷인지 화상통화로 오는 패킷인지 알 수가 없다.

IP만 있다면 이러한 문제점이 있다.

 

TCP/IP 패킷, UDP에는 출발지 목적지 PORT가 있었다.

IP는 목적지 서버를 찾는 것. PORT는 서버 안에서 돌아가는 애플리케이션을 구분하는 것.

 

 

모든 개발자를 위한 HTTP 웹 기본지식

예를들어 클라이언트 웹 브라우저에서 200.200.200.3번의 80번 포트로 메시지를 보낸다.

그러면 서버는 100.100.100.1의 10010번으로 응답을 보내준다.

 

 

그렇다면 서버는 내 포트를 어떻게 아는거지?

모든 개발자를 위한 HTTP 웹 기본지식

클라이언트가 서버로 패킷 보낼 때 출발지 IP, PORT를 보내기 때문에 알 수 있었던 것이다.

 

IP = 아파트

PORT = 몇 동 몇 호

 

 

PORT

  • 0 ~ 65535 : 할당 가능
  • 0 ~ 1023 : 잘 알려진 포트, 사용하지 않는 것이 좋음
    • FTP - 20, 212
    • TELNET - 23
    • HTTP - 80
    • HTTPS - 443

 

DNS

IP는 기억하기 어렵다. -> 200.200.200.2 였나? 뭐였더라..?

IP는 변경될 수 있다. ->  200.200.200.3으로 바뀌어 버렸다고?!

 

DNS 

: 도메인 네임 시스템(Domain Name System)

  • 전화번호부
  • 도메인 명을 IP 주소로 변환

 

DNS서버에 도메인명을 등록하고 IP주소로 바꿀 수 있다.

 

google.com은 IP가 200.200.200.2야!

aaa.com은 IP가 210.210.210.3이야!

 

만약 google.com에 접속한다고 하자.

먼저 도메인으로 찾는다.

DNS 서버야. google.com 도메인 있는데, 그거 IP주소 뭐야?

그러면 200.200.200.2라고 응답을 준다.

그러면 응답 준 것으로 접속하면 된다.

만약 IP주소가 변경 된다면, 도메인 등록해 넣은 거에 IP주소를 바꿔넣는다.

 

 

인터넷 네트워크 정리

  • 인터넷 통신, IP(Internet Protocol), TCP, UDP, PORT, DNS

복잡한 인터넷 네트워크망에 메시지를 보내기 위해서는 Internet Protocol(IP 프로토콜)이 있어야한다.

그런데 IP protocol만 가지고는 메시지가 잘 도착했는지 신뢰하기도 어렵고 PORT개념도 없고, 메시지 순서가 꼬일 수 있다.

이러한 문제를 TCP가 해결해준다.

UDP는 IP와 거의 비슷하지만 PORT가 추가된 것. 

PORT는 같은 IP안에서 동작하는 어플리케이션을 구분하기 위해 사용. (아파트와 동,호수 개념)

IP는 외우기 어렵고, 변할 수 있기 때문에 도메인 명을 등록해서 사용할 수 있게 도와주는 것이 DNS이다.

 

 

 

 

 

 

 

 

모든 개발자를 위한 HTTP 웹 기본지식 을 토대로 이해한 내용을 정리한 글입니다 🙂

 

참고 자료

모든 개발자를 위한 HTTP 웹 기본지식 https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

HTTP 웹 기본지식 https://intrepidgeeks.com/tutorial/for-all-developers-basic-knowledge-of-http-web-internet 

HTTP 웹 기본지식 https://jihyee.tistory.com/10

HTTP 웹 기본지식 https://velog.io/@urtimeislimited/%EB%AA%A8%EB%93%A0-%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-HTTP-%EC%9B%B9-%EA%B8%B0%EB%B3%B8-%EC%A7%80%EC%8B%9D

728x90