¿Por qué las computadoras tienen 65.535 puertos TCP? [cerrado]

-1
  • ¿Por qué las computadoras tienen 65.535 puertos TCP?
  • ¿De dónde viene este número?
  • ¿Que representa?
tjt263
fuente
1
Esta pregunta es bastante amplia, espero que se cierre en muy poco tiempo. ¿Todo tiene que representar algo ?, a veces un número, es solo un número, y no hay otra razón. En este caso, 65535 es el valor máximo para un corto sin signo. Por qué es un corto sin signo, es simplemente el caso, eso es lo que requieren las especificaciones TCP y UDP. Solo me llevó 2 minutos de investigación determinar la razón por la que está conectado a la especificación de paquetes TCP y UDP.
Ramhound
2
Consulte tools.ietf.org/html/rfc793#page-15 : "Puerto de destino: 16 bits". El número más grande que se puede expresar en 16 bits es 2 ^ 16-1
RedGrittyBrick
1
porque se estableció un campo de 16 bits para los encabezados TCP en RFC 793 en 1981. Consulte la sección 3.1: faqs.org/rfcs/rfc793.html En general, no es posible establecer canónicamente "por qué" una cosa determinada se estandarizó de una forma u otra, otra que "tenía más sentido en ese momento". La mejor respuesta en mi opinión es que Jon Postel (mi héroe y padre de los estándares de red) lo dijo.
Frank Thomas
@ tjt263 - No estoy de acuerdo con su evaluación. Le expliqué los problemas con la pregunta, podría fácilmente convertirse en una pregunta adecuada, pero eso requiere que usted enfoque la pregunta
Ramhound,
1
@ tjt263, si bien no siempre estoy de acuerdo con las posturas de línea dura de Ramhound en todo (s) que encuentra, es inherentemente cierto que las preguntas de "Por qué" rara vez tienen una respuesta canónica, y generalmente están basadas en opiniones. Casi nunca hay información pública disponible sobre por qué una organización de estándares toma una decisión determinada. También podría preguntar por qué la palabra 'hola' se deletrea como está.
Frank Thomas

Respuestas:

5
  1. " ¿Por qué las computadoras tienen 65535 puertos TCP? "

Las computadoras no tienen puertos. El concepto de "puertos" al que se refiere está estrictamente relacionado con los protocolos TCP y UDP de la pila de red TCP / IP . Desde un punto de vista estrictamente técnico, tanto TCP como UDP están estructurados de tal manera que transportan varios tipos de información (puerto de origen, puerto de destino, número de secuencia, datos, etc.). Como tanto el "Puerto de origen" como el "Puerto de destino" están estructurados (dentro del paquete TCP y UDP) con un "campo" de 16 bits, estos son los límites: los puertos de origen y los puertos de destino pueden asumir todos los valores que se pueden representar con 16 bits (también conocido como: de 0 a 65535);

  1. " ¿ De dónde viene este número? "

Ver arriba: los puertos de origen y los puertos de destino pueden asumir valores que van de 0 a 65535 porque ambos están representados con un valor de 16 bits, dentro de los paquetes respectivos

  1. " ¿Qué representa realmente? "

En resumen, tanto el "puerto de origen" como el "puerto de destino" juegan un papel muy importante, ya que permiten que un solo "host" (un "cliente" o un "servidor") "ofrezca" diferentes servicios a los clientes de la red, a pesar de tener una sola dirección IP. En otras palabras, sin "puertos", sería mucho más difícil tener un solo "servidor" que ofrezca un servidor web (en el puerto TCP 80 para HTTP simple; en el puerto TCP 443 para HTTPS), un servidor de correo (en el puerto TCP 25 para SMTP entrante; en el puerto TCP 110 para acceso POP3; en el puerto TCP 143 para acceso IMAP), un servidor DB (en TCP / puerto 3306 para MySQL)) etc.

Los lectores "puristas" pueden estar en desacuerdo conmigo sobre la simplificación excesiva anterior y ... estarán en lo cierto : en realidad, las direcciones IP y los PUERTOS juegan un papel muy importante que, para ser completamente comprendido, requiere una comprensión adecuada del concepto de " encapsulación " (seguro, el concepto más importante entre los presentados en esta misma respuesta). Desafortunadamente, esto generalmente requiere muchas veces para ser "dominado" correctamente y ... por eso, mi sobre simplificación anterior :-)

Damiano Verzulli
fuente
1
Su descargo de responsabilidad no es realmente necesario. Si solo declara hechos, es difícil decirlo como lector, sus declaraciones están "demasiado" simplificadas. Los hechos son hechos. No hay nada de malo en hacer una declaración simple. Lo mejor que aprendí en un curso de redacción en la universidad dirigido a ingenieros, es que a menos que usted sea un autor de la FDA que redacte un informe sobre un nuevo medicamento, simplemente debe mantener su redacción de manera simple. Si el perro puede ser descrito como un "perro blanco y negro", realmente no tiene que mencionar el hecho, también tiene una "cola morada".
Ramhound
La sección " " ofrecer "diferentes servicios a los clientes de la red " necesita algo de trabajo, ya que implica que los puertos permiten la oferta de servicios, en lugar de un sistema para identificar el propósito de una solicitud.
Trispedó
1

TCP, UDP y quizás otros servicios IP, utilizan puertos para una comunicación discreta entre los procesos del cliente y el servidor entre los hosts que utilizan una red IP.

Se puede encontrar información más detallada en este artículo wiki.

Desde una perspectiva de arriba hacia abajo, los puertos representan conversaciones distintas entre dos hosts. Por ejemplo, un host realiza varias solicitudes de DNS simultáneamente a su servidor designado, cada una utilizando un puerto de origen diferente al puerto de destino 53. A medida que el servidor obtiene las respuestas y atiende las solicitudes, enviará respuestas específicas al mismo puerto. , donde será recibido por el proceso distinto que espera una respuesta.

Desde una perspectiva ascendente, los puertos son una forma de reservar una línea de comunicación IP de procesos separados por el sistema operativo de un host. Si bien puede haber varios procesos que realizan solicitudes al mismo puerto de un host remoto, cada proceso utilizará un puerto de origen diferente para sus solicitudes. Esto asegura que las respuestas serán recibidas por el proceso apropiado.

Para los protocolos portados, hay 32 bits reservados en los encabezados de paquetes: 16 bits para el puerto de origen y 16 bits para el puerto de destino. Para TCP y UDP, estos son los primeros 32 bits que siguen inmediatamente al encabezado IP; comienzan en el 192 ° bit. Un número de 16 bits tiene valores entre 0 y 65535.

Nevin Williams
fuente
-1

65,536 es un número muy común en informática, porque es 2 a la potencia de 16 (2 ^ 16). 2 ^ 8 es 256, y 65,536 es el cuadrado de 256.

En otras palabras, un número binario de 16 bits puede representar 65.536 enteros diferentes. Entonces, es probable que de allí provenga su rango de 65.535.

Pero espera, ¿crees que debo sacar un dígito porque 65,535 es 65,536 menos 1! Bueno, no si comienzas a contar desde cero. Por ejemplo, una imagen de 8 bits codifica 256 valores, pero normalmente estos comienzan en 0 y llegan a 255. Es por eso que a menudo se ven números como 255 o 65,535 en informática.

Supongo que los puertos TCP se almacenaron originalmente como un número de 16 bits, de ahí su límite superior. No estoy seguro si ese sigue siendo el caso. ¡Espero que eso ayude!

JT_Edin
fuente
¿A dónde se han ido mis comentarios? ¿Quién los eliminó y por qué?
JT_Edin
1
Es el patético moderador de nuevo.
tjt263