Port란
예를 들어 하나의 서버가 있을 때 이 서버는 다양한 역학을 하게 되는 경우가 있습니다. 웹사이트를 전달해주는 역할, 그리고 파일을 요청하는 역할이 있다고 해보겠습니다. 이럴 경우 클라이언트가 서버에 요청을 보냈을 때, 웹사이트 요청인지 파일 요청인지 구분할 수 있는 방법이 필요하게 됩니다. 이때 바로 Port를 사용하게 됩니다.
포트는 숫자로 표현하게 되어 있으며 65535번까지 존재하며 아래와 같이 3종류로 표현이 됩니다.
- 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
- 1024번 ~ 49151번: 등록된 포트 (registered port)
- 49152번 ~ 65535번: 동적 포트 (dynamic port)
잘 알려진 포트 번호의 대표적 예는 다음과 같습니다.
- 20 : FTP(data)
- 21 : FTP(제어)
- 22 : SSH
- 23 : 텔넷
- 53 : DNS
- 80 : 월드 와이드 웹 HTTP
- 119 : NNTP
- 443 : TLS/SSL 방식의 HTTP
잘 알려진 포트 번호를 본다면 파일 요청은 일반적으로 21번 포트, 그리고 http요청은 80 포트를 이용하게 됩니다. 따라서 이제 서버는 21번 포트로 오는 요청은 파일 요청임으로 받아들이고 80 포트로 오는 요청은 웹사이트를 요청하는 것으로 이해하게 되어 여러 가지 역할을 할 수 있게 되는 것입니다. 정리하자면 포트란 컴퓨터의 Lan선은 하나인데 통신을 필요로 하는 프로그램이 다수일 때 이 다수의 프로그램을 구별할 수 있는 번호가 입니다.
포트포워딩 또는 포트 매핑이란?
포트 포워딩이란 컴퓨터 네트워크에서 패킷이 라우터나 방화벽 같은 네트워크 게이트웨이를 통과하는 동안 네트워크 주소를 변환해주는 것을 의미합니다. 쉽게 말해 외부에서 접속이 가능하도록 하는 것입니다.
예를들어 보겠습니다. 공유기를 설치하게 되면 공유기와 연결된 PC들은 192.168~로 시작하는 IP를 공유기로부터 부여받게 됩니다. 그리고 공유기는 ISP 업체로부터 할당받은 IP를 가지게 됩니다.
공유기를 기점으로 공유기 뒤에 있는 PC들은 내부 IP라고 부르고, 공유기를 외부 IP라고 부르게 됩니다. 그런데 만약 다른 영역에 있는 PC에서 내부 IP에 있는 192.168.0.20 PC에 접속하고자 하는 요청이 들어왔을 때 공유기는 어느 PC로 연결을 해주어야 할지 모르는 상태가 됩니다.
이러한 상황에서 공유기에게 해당 포트로 요청이 오면 192.168.0.20 PC로 연결하라는 이정표를 달아주는 것을 포트 포워딩이라고 합니다.
'Computer Science > Network' 카테고리의 다른 글
[Network] gRPC: MSA에서 서비스 간 저용량 고성능으로 통신하기 (0) | 2020.07.23 |
---|---|
[Network] CORS(Cross-Origin Resource Sharing)란? (0) | 2020.04.10 |
[Network] http와 https 차이 (0) | 2020.03.28 |
[Network] TCP 신뢰성의 특징: 흐름제어 / 혼잡제어 (1) | 2020.03.22 |
[Network] TCP / UDP (0) | 2020.03.22 |