포트
운영체제 통신의 종단점.
하드웨어에서에도 사용되고, 소프트웨어에서는 프로세스나 네트워크를 식별하는 논리단위로 사용됨.
포트를 사용하는 프로토콜을 전송계층프로토콜 이라 부르며
여기엔 전송제어프로토콜(TCP) 과 사용자데이터그램 프로토콜(UDP)가 있다.
동작
통신을 할 때 Client와 Server가 있는데, 두 기기가 통신을 할 때 IP주소로만 통신을 하면 통신의 종류(웹인지, 메일인지)를 파악하지 못함.
그래서 IP주소에 포트를 더한 소켓 주소로 통신을 하기로 함.
각 프로그램의 서버는 특정 포트에서 대기를 하며, 클라이언트가 약속된 포트로 접속하면 실행된다.
이를테면 HTTP의 포트번호는 80번인데 어떤 사이트를 8080포트로 들어가면 어떻게 될까?
웹서버는 80번 포트에서 대기중인데 클라이언트가 엉뚱한 8080포트로 들어가면 오류가 생긴다.
다시말해 네트워크 상 IP주소에 진입할 수 있는 통로가 PORT(포트)
특징
IP내에서 프로세스 상호 구분을 위해 사용하는 번호이며, 0 - 65535 번까지 존재한다.
- 0번 ~ 1023번 - 잘 알려진 포트(Well Known Port)
- 대부분 유닉스 계열 운영체제는 잘 알려진 포트를 열려면 루트(root) 권한이 있어야 합니다. - 1024번 ~ 49151번 - 등록된 포트(Registered Port)
- 서버 소켓으로 사용하는 영역입니다. - 49152번 ~ 65535번 - 동적 포트(Dynamic Port)
- 접속할 때마다 포트번호가 동적으로 부여되며 서버 소켓 포트로 사용할 수 없습니다..
- 22 : SSH
- 80 : HTTP
- 443: HTTPS
잘 알려진 포트번호는 안써도 괜찮지만, 잘 알려지지 않은 포트는 URI 에 반드시 포함해야 한다.
비유
포트는 네트워크를 항구에 비유하여 PC에서 PC간으로 통신을 할때 쓰임. 통신을 할때 데이터패킷이 출발하거나 도착하는 곳이라고 생각하면 됨.
PC 1 이 PC 2 에게 안녕 이라고 보내고 싶다면 랜덤으로 정해진 PC 1의 한 포트에서 PC 2 의 한 포트로 데이터패킷이 도착한다.
답장도 마찬가리고 PC2의 포트에서 출발한 데이터패킷이 PC1의 포트로 도착하며 이루어진다.
'CS' 카테고리의 다른 글
[CS] call back 이란, 동기식과 비동기식 (0) | 2023.03.14 |
---|---|
[CS] 데스크톱 가상화란 (0) | 2023.03.07 |
[CS] 블록 암호화, 메시지 다이제스트 차이점 (0) | 2023.03.07 |
[CS] base64 byteToHex 차이점 (0) | 2023.03.06 |
프로세스와 쓰레드 (0) | 2023.01.19 |