네트워크 엔지니어든 일반 사용자든, 응용 프로그램을 위해 TCP 또는 UDP 포트 같은 가상 포트를 찾거나 열고 차단해야 할 때가 있습니다. 가상 포트는 정보 트래픽 관점에서 네트워크 하드웨어와 소프트웨어를 관리하는 데 중요한 역할을 합니다. 쉽게 말해 가상 포트는 웹사이트 트래픽, 이메일 수신, 파일 전송 등 특정 트래픽을 위한 전용 차선이라고 생각하면 됩니다.
가상 포트에는 기본적으로 TCP와 UDP 두 가지 유형이 있습니다. TCP는 전송 제어 프로토콜(Transmission Control Protocol)의 약자이며, UDP는 사용자 데이터그램 프로토콜(User Datagram Protocol)의 약자입니다. 두 포트는 정보 트래픽을 처리할 때 서로 다른 네트워크 프로토콜을 사용합니다. 네트워크 프로토콜이란 특정 정보를 어떻게 주고받아야 하는지에 대한 규칙과 규정의 집합입니다. 다만 TCP 또는 UDP 포트의 기반이 되는 것은 IP(Internet Protocol, 인터넷 프로토콜)입니다.
지금부터 이 두 포트가 어떤 점에서 다른지 자세히 살펴보겠습니다.
TCP 포트는 어떻게 작동하나요?
TCP 포트는 송신자 컴퓨터와 수신자 컴퓨터 간에 먼저 연결을 설정해야 합니다. 마치 전화를 거는 것과 비슷합니다. 양측 간 연결이 성립되면 외부에서 연결이 끊어질 때까지 정보를 양방향으로 주고받을 수 있습니다.
TCP는 가장 복잡한 전송 계층 프로토콜이지만, 오류 없는 데이터 수신 측면에서는 가장 신뢰할 수 있는 프로토콜이기도 합니다. 이 프로토콜은 수신 측 컴퓨터가 데이터그램 수신을 확인(ACK)했을 때에만 정보를 전송하기 때문입니다. 그래서 실제로 UDP보다 TCP가 훨씬 널리 사용됩니다.
UDP 포트는 어떻게 작동하나요?
반면 UDP 포트는 송신자와 수신자 간 연결 설정 없이도 정보를 전송할 수 있습니다. 그러나 TCP 포트와 달리 UDP 포트를 통해 보낸 정보가 수신자에게 도달하지 않을 수도 있습니다. 편지를 보내는 것과 비슷해서, 상대방이 반드시 받았다는 보장이 없습니다. 따라서 브로드캐스트가 필요한 정보는 UDP 포트를 통해 전송되며, 해당 포트를 청취 중인 사용자만 정보를 수신할 수 있습니다.
UDP는 지연 시간(latency)이 낮고 일정한 정보 스트림을 제공합니다. 이러한 특성 덕분에 스트리밍 방송, 온라인 게임, VoIP(Voice over IP) 통화에 가장 적합한 선택입니다. 결과적으로 UDP 포트는 전송되는 정보에 대한 특별한 요구 사항이 있을 때 주로 사용됩니다.
주요 포트 번호 알아보기
PC에서 사용할 수 있는 가상 포트는 0부터 65535까지 매우 많습니다. 그러나 각 포트마다 정해진 표준이 있으며 특정 용도에 맞게 할당되어 있습니다. 대표적인 포트는 다음과 같습니다.
- 20 (TCP): FTP(파일 전송 프로토콜)
- 22 (TCP): SSH(Secure Shell)
- 25 (TCP): SMTP(단순 메일 전송 프로토콜)
- 53 (TCP/UDP): DNS(도메인 이름 시스템)
- 80 (TCP): HTTP(하이퍼텍스트 전송 프로토콜)
- 110 (TCP): POP3(우체국 프로토콜)
- 143 (TCP): IMAP(인터넷 메시지 액세스 프로토콜)
- 443 (TCP): HTTPS(HTTP 보안)
Windows PC에서 어떤 포트가 열려 있고 닫혀 있는지 직접 확인할 수 있습니다. 특정 TCP 또는 UDP 포트를 차단하거나 열려면 아래 과정을 따라 해보세요.
열려 있는 TCP 또는 UDP 포트 확인하기
시작 메뉴를 열고 CMD를 입력한 뒤, 관리자 권한으로 실행 옵션을 클릭합니다.

명령 프롬프트 창이 열리면 netstat -ab를 입력하고 Enter 키를 누릅니다. 그러면 IP 주소와 기타 세부 정보가 함께 표시된 TCP 및 UDP 포트 목록이 나타나기 시작합니다.

기다리는 시간이 길어질수록 열린 포트 목록도 길어집니다. 전체 목록이 창에 모두 표시될 때까지 기다린 후, Ctrl+C와 Ctrl+V를 눌러 정보를 메모장이나 다른 텍스트 편집기에 복사해 두면 편리합니다.
위 이미지에서 볼 수 있듯이 대괄호 안의 정보는 해당 열린 포트를 사용 중인 프로그램 이름을 나타냅니다. 프로토콜 이름 옆에 IP 주소가 표시되며, 콜론(:) 뒤의 숫자가 포트 번호입니다. 예를 들어 192.168.0.107:50741에서 192.168.0.107은 IP 주소이고, 50741은 포트 번호입니다.
차단된 TCP 또는 UDP 포트 확인하기
Windows 방화벽에 의해 어떤 포트가 차단되었는지 확인하려면 다음 단계를 따르세요.
첫 단계는 열린 포트를 확인하는 방법과 동일합니다. 시작 메뉴를 열고 CMD를 입력한 후 관리자 권한으로 실행을 클릭합니다.
명령 프롬프트 창이 열리면 다음 명령을 입력합니다.
netsh firewall show state

일부 포트는 라우터나 ISP(인터넷 서비스 공급자)에 의해 차단될 수 있으며, 이 경우 위 목록에 표시되지 않습니다. 이러한 포트를 찾으려면 다음 명령을 입력합니다.
netstat -ano | findstr -i SYN_SENT

이 명령이 아무 결과도 반환하지 않으면 라우터나 ISP에 의해 차단된 포트가 없다는 의미입니다.
TCP 또는 UDP 포트를 열거나 차단하는 방법
이제 Windows PC의 TCP 및 UDP 포트를 파악했으니, 가장 중요한 단계인 포트 열기 및 차단 방법을 알아보겠습니다.
응용 프로그램이 원활하게 작동하도록 포트를 열어야 할 수도 있고, 더 이상 사용하지 않으며 보안 위협의 통로가 될 수 있는 포트는 차단해야 할 수도 있습니다. 후자의 경우 방화벽이 해당 포트를 차단하게 됩니다.
포트를 열거나 차단하려면 다음 단계를 따르세요.
Windows 키를 눌러 시작 메뉴를 열고 Windows Defender 방화벽을 입력한 뒤, 검색 결과에서 고급 보안이 포함된 Windows Defender 방화벽을 선택합니다.

다음과 같은 창이 열립니다.

왼쪽 메뉴에서 인바운드 규칙(Inbound Rules) 탭을 클릭합니다.

오른쪽 작업 창에서 새 규칙(New Rule…)을 클릭합니다. 창이 열리면 포트(Port) 라디오 버튼을 선택하고 다음을 클릭합니다.

다음을 누르면 새 인바운드 규칙 마법사 창이 열립니다. 여기서 열거나 차단하려는 포트 유형(TCP 또는 UDP)을 선택할 수 있습니다. 또한 해당 유형의 모든 포트를 적용할지, 아니면 특정 로컬 포트만 적용할지도 결정할 수 있습니다. 열거나 차단하려는 로컬 포트의 번호 또는 범위를 지정한 후 다음을 클릭합니다.

다음 화면에서는 연결 허용(Allow the connection) 또는 보안된 연결만 허용(Allow the connection if it is secure)을 선택하여 포트를 열 수 있습니다. 세 번째 옵션인 연결 차단(Block the connection)을 선택하면 지정된 포트가 차단됩니다.

이제 규칙을 도메인(Domain), 개인(Private), 공용(Public) 중 어디에 적용할지, 혹은 모든 프로필에 적용할지 선택하고 다음을 클릭합니다.

다음 창에서 새 인바운드 규칙의 이름(Name)을 지정합니다. 설명(Description) 칸에 어떤 포트가 차단되었거나 열렸는지 기록해 두면 나중에 관리하기 좋습니다.

마침(Finish)을 클릭하면 새 인바운드 규칙이 생성됩니다.
주의할 점은, 특정 포트를 차단한 후 일부 응용 프로그램이 제대로 작동하지 않거나 특정 리소스에 연결하는 데 문제가 발생할 수 있다는 것입니다. 이는 해당 포트가 실제로는 열려 있어야 한다는 의미이므로, 동일한 절차를 통해 언제든지 포트 차단을 해제할 수 있습니다.