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
의 도메인명
을 가지고 서버에 요청
을 한다고 가정해보겠습니다.
도메인명
을 바탕으로DNS서버에서 해당 도메인을 가지고 있는 IP를 전달
받습니다.클라이언트
는DNS서버로 부터 응답받은 목적지 IP를 바탕으로 해당 서버에 접속
하게 됩니다.
7. 정리
지금까지 포스팅한 내용들을 살펴보면 인터넷 통신이 어떻게 구조
를 이루고 있는지와 IP(Internet protocal)이 어떻게 통신되고 장단점
이 무엇인지를 살펴보았습니다.
그리고 IP의 문제점들을 해결
하기 위해 나온 TCP/IP(TCP,UDP)의 동작원리
를 배울 수 있었습니다.마지막으로 이번장에 정리한 PORT가 필요한 이유와 DNS 서버 동작
에 대해서 정리해보았습니다.