이 질문은 이미 답변 된 것으로 표시되었지만 OP에서 질문 한 추가 질문 중 일부를 해결하고자합니다.
이 포트는 물리적 개체입니까?
물리적 객체가 아닌 포트는 없습니다.
포트 번호는 16 비트 부호없는 정수로, 사용 가능한 포트 범위는 1-65535입니다 (포트 번호 0은 예약되어 있으며 사용할 수 없음). 프로세스는 인터넷 소켓, 파일 디스크립터 유형을 통해 입력 또는 출력 채널을 전송 프로토콜, 포트 번호 및 IP 주소와 연관시킵니다. 이 프로세스를 바인딩이라고하며 네트워크를 통해 데이터를주고받을 수 있습니다.
그것들은 내 컴퓨터의 일부에 내장되어 있습니까? 그들은 심지어 육체적 인 것입니까? 아니면 코드로 작성 되었습니까? 이 코드는 어디에 있습니까? 운영 체제? 항구 란 무엇인가?
운영 체제의 네트워킹 소프트웨어에는 모든 응용 프로그램 포트에서 네트워크로 나가는 데이터를 전송하고 패킷의 IP 주소와 포트 번호를 일치시켜 도착하는 네트워크 패킷을 프로세스로 전달하는 작업이 있습니다.
동일한 전송 프로토콜을 사용하여 하나의 프로세스 만 특정 IP 주소 및 포트 조합에 바인딩 할 수 있습니다. 포트 충돌이라고도하는 일반적인 응용 프로그램 오류는 여러 프로그램이 동일한 프로토콜을 사용하여 동일한 IP 주소의 동일한 포트 번호에 바인딩하려고 할 때 발생합니다.
위의 단락은 포트 / 프로토콜이 네트워킹에 사용되는 이유를 이해하는 데 중요합니다. 합의 된 apon 포트 번호를 통해 데이터를 전송하는 프로토콜을 지정할 수있는 방법이 없다면 컴퓨터는 다음과 같은 이유로 한 번에 둘 이상의 작업을 수행 할 수 없습니다 (이메일 및 웹 사용). 이메일 클라이언트의 데이터와 탐색중인 웹 사이트의 데이터를 구별 할 수있는 방법이 없습니다.
포트가 몇 개입니까?
포트 번호는 세 가지 범위에 따라 다양한 방식으로 할당됩니다.
잘 알려진 / 시스템 포트 (0-1023)-이 포트 범위는 널리 사용되는 네트워크 서비스 유형 (HTTP / 80, HTTPS / 443, Telnet / 21, SSH / 22)을 제공하는 시스템 프로세스에서 사용됩니다.
등록 / 사용자 포트 (1024-49151)-1024에서 49151까지의 포트 번호 범위는 등록 된 포트입니다. 요청 엔티티에 의해 신청시 특정 서비스를 위해 IANA에 의해 지정됩니다. (Webmin / 10000, HTTP 프록시 / 8080, 원격 데스크톱 프로토콜 / 3389 등)
임시 / 동적 / 개인 포트 (49152-65535) – 49152–65535 범위에는 IANA에 등록 할 수없는 동적 또는 개인 포트가 포함 됩니다. 이 범위는 사용자 지정 또는 임시 목적 및 임시 포트의 자동 할당에 사용됩니다.
포트 수를 늘리거나 줄일 수 있습니까?
사용 가능한 포트 수를 늘리는 것과 관련하여 네트워킹이 작동하도록 허용하는 수학 (이진)으로 인해 65535보다 큰 포트를 할당 할 수 없습니다. 따라서이 질문에 대한 대답은 아니요이므로 사용 가능한 총 수를 늘릴 수 없습니다 65535 이상의 포트.
프로토콜이란 무엇입니까?
컴퓨터 과학에서 통신 프로토콜은 컴퓨터 내에서 또는 컴퓨터간에 메시지를 교환하기위한 디지털 규칙 시스템입니다. 컴퓨터 네트워크를 통해 메시지를 교환 할 때 규칙 시스템을 네트워크 프로토콜이라고합니다. 프로토콜은 기본적으로 두 개의 네트워크로 연결된 장치가 모두 통신 할 수있는 일련의 명령 / 명령 / 호출에 동의합니다. 프로토콜에 동의하지 않았고 웹 서버가 브라우저가 무엇을 해야할지 몰랐다는 데이터를 웹 브라우저에 무작위로 보냈습니다. 운 좋게도 우리는 HTTP를 가지고 있으며 생성 된 모든 웹 브라우저는 소프트웨어에 내장되어 있으므로 동일한 언어 (HTTP)를 사용하는 모든 웹 서버와 통신 할 수 있습니다.
나는 그들이 일종의 코드라고 상상할 수 있습니다 ... 당신은 당신의 자신의 프로토콜을 만들 수 있습니까? 프로토콜을 작성하기 위해 어떤 언어를 사용합니까?
예, 고유 한 프로토콜을 만들 수 있습니다. 프로토콜은 다양한 언어로 작성됩니다. 저는 소프트웨어 개발자는 아니지만 사용하는 언어에 TCP / IP를 통해 통신 할 수있는 소프트웨어를 작성할 수있는 라이브러리가있는 한 확실합니다 (다른 프로토콜 제품군이 있지만 TCP / IP가 가장 좋습니다). 해당 언어를 사용하여 프로토콜을 작성할 수 있습니다. 프로그래밍 언어 'C'는 프로토콜 작성에 가장 일반적으로 사용되는 것 같습니다. 1970 년대에 많은 최초의 네트워크 프로토콜이 UNIX에서 개발되었고 C가 UNIX 자체가 작성하는 언어 인 경우가 많기 때문입니다.
특정 프로토콜을 실행하기 위해 특정 포트를 어떻게 얻습니까?
이것은 OS마다 상당히 다릅니다. 예를 들어 Windows에서 원격 데스크톱 프로토콜이 실행되는 포트 번호를 변경하려면 레지스트리를 편집해야합니다. Linux에서는 특정 네트워크 서비스에 대한 많은 네트워크 서비스를 .conf 파일에서 직접 구성 할 수 있습니다.
새로운 프로토콜을 어떻게 정의하거나 발명합니까?
최근 새로운 네트워킹 프로토콜을 개발 한 사람과 그가해야 할 일에 대한 블로그 게시물 은 https://journal.paul.querna.org/articles/2012/02/22/designing-network-protocols/ 를 참조 하십시오. 길을 따라.