Table of contents

    컴퓨터 네트워크에서의 포트(Port) 크게 가지를 의미합니다.

     

    물리적인 포트(Port) 논리적인 포트(Port) 있죠.

     

    각각의 개념에 대해 정리해보겠습니다.

     

     

     

    물리적인 포트

     

    물리적인 포트의 개념은 간단합니다.

     

    우리가 흔히, 인터넷을 활용하기 위해 이더넷 케이블을 공유기에 연결할텐데요.

     

    케이블이 연결되는 공간이 물리적인 포트 입니다.

     

    물론, 개념도 깊게 접근하면 공부할 것이 많습니다.

     

    하지만, 개인적인 생각으로는 S/W 개발자 기준에서는 포트라는 것이 물리적인 포트도 존재한다 정도로 인식하며 될 같습니다.

     

     

     

     

     

     

    논리적인 포트

     

    논리적인 포트(Port) 개념은 상대적으로 복잡합니다.

    (편의상 이하, 포트=논리적인 포트)

     

    그리고 포트는 S/W 구별되는 하나의 주소라고 보시면 됩니다.

     

    설명을 덧붙이자면, TCP UDP 쓰이는 개념입니다.

     

     

     

    이더넷을 이용한 컴퓨터 네트워크에 대해 공부하다보면 주소의 개념이 많습니다.

     

    예를 들어, MAC 주소, IP 주소, 포트 등등이 있습니다.

     

    프로토콜 안에서도 자기들만의 특별한 분류체계가 있는 경우도 있습니다.

     

     

     

    주소/분류 체계가 많이 존재하는지...

     

    컴퓨터 네트워크는 디테일하게 분류하자면, OSI 7계층으로 분류됩니다.

     

    각각의 계층이 하나의 산업군인 경우도 있고,

    하나의 계층에서 무수히 많은 산업군이 존재할 수도 있습니다.

     

    그리고 계층을 개발하는 기업들은 서로 다른 나라에서 독자적으로 개발하고 있는 상황입니다.

     

    더불어 인터넷이라는 기술 자체는 멈추거나 변화를 주기가 힘듭니다.

     

    전세계가 동시에 연결되고 있는 상황이기 때문이죠.

     

    개인적인 추측입니다만, 이런 이유로 계층 또는 산업군마다 각자의 분류체계를 추가하다보니 이렇게 많이 생겨났다는 생각이 드네요.

     

     

     

    논리 포트 분류

     

    포트는 아래와 같이, 크게 3가지로 분류됩니다.

     

    분류 포트 번호
    Well-known Port 0 ~ 1023
    Registered Port 1024 ~ 49151
    Dynamic Port 49152 ~ 65535

     

     

    Well-known 포트는 IANA의 권고하고 있는 사항이고 필수는 아닙니다.

     

    실제로는 권고하고 있는 포트 번호와 다르게 활용하는 경우도 있습니다.

     

    예를 들어, HTTP 권고되는 포트 번호가 80이지만 8080으로도 자주 쓰이고 있습니다.

     

     

     

    Registered 포트 IANA에서 권고하고 있으며, 실제로는 다른 번호로 활용되기도 합니다.

     

    그렇다면, Well-known 포트와 차이가 무엇일까요?

     

    권한의 차이가 있습니다.

     

    Well-known 포트는 권한이 있는 사용자가 실행한 프로그램만 사용할 있고

    Registered 포트는 권한이 없는 사용자가 실행한 프로그램도 사용할 있습니다.

     

     

     

    Dynamic 포트 일반 사용자들이 자유롭게 쓰게되는 포트입니다.

     

    하지만, 자료들에 따르면 일반 사용자들이 다른 포트 번호를 활용할 수도 있을 것입니다.

     

    다만, 사람들이 자주 활용하는 프로그램과 충돌이 있겠네요.

     

    참고로 내부망에서 활용되는 프로토콜 패킷들은 종종, Dynamic 포트 번호를 활용하는 같습니다.

    (현재, 저도 공부중이라 내용에 오류가 있을 있습니다..)