Network PORT와 DNS(Domain Name System)

1. PORT

네트워크 관련시간에 자주 들어보셨을 PORT에 대한 특징을 살펴보겠습니다.

클라이언트가 서버에게 게임 서버, 메인 서버, 동영상 서버에 접근한다고 가정해보겠습니다.
`클라이언트는 고유의 IP:127.0.0.1 를 가지고 있을때 서버 IP:127.0.0.2게임 서버, 메인 서버, 동영상 서버에 요청으로 동시에 데이터를 가지고 오고 싶을때가 있을 것 입니다.

그렇다면 클라이언트의 IP와 서버 IP만으로 어떤 서버에 어떤요청을 가져오는지가 가능할까요?

즉, 한번에 두개이상의 서버를 호출해야한다면 IP로만 해결하기에는 어디서 온지 확인하기가 어렵게 됩니다. 그러면 어떻게 이것들을 구별하여 전송할 수 있을지 살펴보겠습니다.

2. TCP/IP 패킷 정보

IP 패킷

출발지 IP ,목적지 IP, 기타 정보

TCP 세그먼트

출발지 PORT, 목적지 PORT, 전송제어, 순서, 검증정보

IP패킷에는 가지고 있지않는 TCP 세그먼트를 이용하여 출발지 PORT와 목적지 PORT를 가지게 되면서 같은 IP에 고유의 포트를 지정하면서 전송을 보낼 수 있게됩니다.

3. 패킷 정보

TCP/IP
이제 데이터 전송시에 출발지 IP,목적지 IP(IP 프로토콜)출발지 PORT, 목적지 PORT(TCP 세그먼트)를 함께 보내게 되면서 같은 IP내에서 프로세스를 구분할 수 있게되었습니다.

TCP/IP 통신 예제

  • 출발지 IP 127.0.0.1 , 목적지 IP 127.0.0.2
  • 게임 서버 출발지 포트 9000 , 목적지 포트 12000
  • 메인 서버 출발지 포트 8080 , 목적지 포트 8090
  • 동영상 서버 출발지 포트 21000, 목적지 포트 22000

게임서버127.0.0.1의 IP 출발지 포트 9000번에서 127.0.0.2 목적지 포트 12000번으로 데이터 전송이 가능합니다.

메인서버127.0.0.1 IP 출발지 포트 8080번에서 127.0.0.2 목적지 포트 8090으로 통신을 주고받을 수 있게 됩니다.

동영상 서버의 경우 127.0.0.1 21000번 포트에서 목적지 포트 127.0.0.2 22000번 포트로 통신을 가능하게 할 수 있습니다.

결론적으로, 포트를 사용하게되면 이렇게 다양한 같은 아이피와의 구별점이 생겨 통신하는데에 있어서 프로세스를 구분할 수 있게 됩니다. 쉽게 생각하면 IP는 하나의 아파트 동을 나타내고 PORT는 동호수를 나타낸다고 생각하면 매우 쉽습니다.

4. PORT의 특징

  • 0~65535: 포트 할당이 가능합니다.
  • 0~1023: 잘 알려진 포트로 대부분 포트가 사용중일 가능성이 있기때문에 사용하지 않는것을 권장드립니다.

대표적인 PORT 번호

  • FTP 20,21
  • TELNET 23
  • HTTP 80
  • HTTPS 443
    대표적인 포트로는 위의 포트 번호처럼 이미 할당이 되어있습니다.

5. DNS(Domain Name System)

자, 이제 여기까지 살펴보면 IP,PORT를 통해 데이터 통신의 프로세스를 구분할 수 있다는것을 알 수 있었습니다.

하지만 매번 클라이언트와 서버쪽에서 IP를 기억하고 있다가 매번 전송을 해야할까요?

기억하고 있기에는 매우많은 IP를 가지고 있습니다. 또한, 과거와 현재 쓰이는 IP는 쉽게 변경이 가능합니다. 이것의 문제점을 해결하기 위해 나온것이 바로 DNS(Domain Name System) 도메인 네임시스템이라고 이라고합니다. 즉 하나의 전화번호부처럼 사용할 수 있고, 도메인명을 IP 주소로 변환하여 사용이 가능합니다.

6. DNS(Domain Name System)은 어떻게 동작하게 될까요?

만약 저희가 www.google.com도메인명을 가지고 서버에 요청을 한다고 가정해보겠습니다.

  1. 도메인명을 바탕으로 DNS서버에서 해당 도메인을 가지고 있는 IP를 전달받습니다.
  2. 클라이언트DNS서버로 부터 응답받은 목적지 IP를 바탕으로 해당 서버에 접속하게 됩니다.

7. 정리

지금까지 포스팅한 내용들을 살펴보면 인터넷 통신이 어떻게 구조를 이루고 있는지와 IP(Internet protocal)이 어떻게 통신되고 장단점이 무엇인지를 살펴보았습니다.
그리고 IP의 문제점들을 해결하기 위해 나온 TCP/IP(TCP,UDP)의 동작원리를 배울 수 있었습니다.마지막으로 이번장에 정리한 PORT가 필요한 이유와 DNS 서버 동작에 대해서 정리해보았습니다.