Entrenamiento Cisco 200-125 CCNA v3.0. Día 6. Complete los espacios en blanco (DHCP, TCP, "apretón de manos", números de puerto comunes)

Antes de comenzar el video tutorial de hoy, quiero agradecer a todos los que contribuyeron a la popularidad de mi curso en YouTube. Cuando lo comencé hace unos 8 meses, no esperaba tal éxito: por hoy 312724 personas han visto mis lecciones, tengo 11208 suscriptores. Nunca soñé que esta modesta empresa alcanzaría tales alturas. Pero no perderemos tiempo e inmediatamente pasaremos a la lección de hoy. Hoy llenamos los vacíos que se han producido en los últimos 7 tutoriales en video. Aunque hoy son solo 6 días, el día 3 se ha dividido en 3 lecciones en video, de modo que hoy está viendo la octava lección en video.

Hoy trataremos 3 temas importantes: DHCP, transmisión TCP y los números de puerto más comunes. Ya hemos hablado sobre las direcciones IP, y uno de los factores más importantes en la configuración de una dirección IP es DHCP.



DHCP significa "Protocolo de configuración dinámica de host", un protocolo que ayuda a configurar dinámicamente las direcciones IP para los hosts. Entonces todos vimos esta ventana. Cuando hace clic en la opción "Obtener dirección IP automáticamente", la computadora busca un servidor DHCP configurado en la misma subred y envía varios paquetes y solicitudes para la dirección IP. DHCP tiene 6 mensajes, de los cuales 4 son críticos para asignar una dirección IP.

El primer mensaje es un mensaje de descubrimiento de DESCUBRIMIENTO DHCP. El mensaje de descubrimiento de DHCP es como un saludo. Cuando un nuevo dispositivo ingresa a la red, pregunta si hay un servidor DHCP presente en la red.

Lo que ve en la diapositiva parece una solicitud de transmisión, el código del dispositivo está accediendo a todos los dispositivos en la red en busca de un servidor DHCP. Como dije, esta es una solicitud de transmisión, por lo que todos los dispositivos de red la escuchan.



Si hay un servidor DHCP en la red, envía un paquete, una oración de OFERTA DHCP. La propuesta significa que el servidor DHCP, en respuesta a la solicitud de descubrimiento, envía la configuración al cliente, pidiéndole que acepte una dirección IP específica.



El servidor DHCP reserva la dirección IP, en este caso 192.168.1.2, no proporciona, es decir, reserva esta dirección para el dispositivo. Al mismo tiempo, el paquete de oferta contiene su propia dirección IP del servidor DHCP.

Si esta red tiene más de un servidor DHCP, otro servidor DHCP, después de haber recibido una solicitud de difusión del cliente, también le ofrecería su dirección IP, por ejemplo, 192.168.1.50. Por lo general, dos servidores DHCP diferentes no están configurados en la misma red, pero a veces esto todavía sucede. Por lo tanto, cuando se envía una propuesta de DHCP al cliente, recibe 2 propuestas de DHCP y ahora debe decidir qué propuesta de DHCP desea aceptar.

Supongamos que el cliente acepta la primera aplicación. Esto significa que el cliente envía una solicitud de solicitud DHCP, que literalmente dice: "Acepto la dirección IP 192.168.1.2 ofrecida por el servidor DHCP 192.168.1.1".



Al recibir la solicitud, el servidor DHCP 192.168.1.1 responde: "OK, lo admito", es decir, confirma la solicitud y envía esta confirmación ACK de DHCP al cliente. Pero recordamos que otro servidor DHCP DHCP reservó una dirección IP de 1.50 para el cliente. Al recibir la solicitud de transmisión del cliente, se entera de la falla y vuelve a colocar esta dirección IP en el grupo para que pueda asignarla a otro cliente si recibe otra solicitud.



Estos son los 4 mensajes críticos que DHCP intercambia al comienzo de la asignación de la dirección IP. Además, DHCP tiene 2 mensajes de información más. El cliente emite un mensaje informativo si necesita más información de la que recibió en la oración OFERTA DHCP en el segundo paso. Si el servidor DHCP no proporcionó suficiente información en la propuesta de DHCP, o si el cliente necesita más información que la contenida en el paquete de la propuesta, solicita información adicional de DHCP. Hay otro mensaje que el cliente envía al servidor: esta es la versión de DHCP RELEASE. Dice que el cliente quiere liberar su dirección IP existente.

Sin embargo, lo más frecuente es que el usuario se desconecte de la red antes de que el cliente logre enviar la LIBERACIÓN de DHCP al servidor. Esto sucede cuando apaga la computadora, que llevamos a cabo con usted. Al mismo tiempo, el cliente de red, o la computadora, simplemente no tiene tiempo para informar al servidor sobre la publicación de la dirección utilizada, por lo que la LIBERACIÓN de DHCP no es un paso obligatorio. Los pasos necesarios para obtener una dirección IP son: descubrimiento de DHCP, oferta de DHCP, solicitud de DHCP y confirmación de DHCP.

En una de las siguientes lecciones, le diré cómo configuramos un servidor DHCP al crear un grupo DNCP. Por grupo se entiende que está informando al servidor de la asignación de direcciones IP en el rango de 192.168.1.1 a 192.168.1.254. Por lo tanto, el servidor DHCP creará un grupo, colocará 254 direcciones IP en él y podrá asignar direcciones de clientes de red solo de este grupo. Entonces, esto es algo así como una configuración administrativa que un usuario puede hacer.

Ahora considere la transmisión de TCP. No sé si está familiarizado con el "teléfono" que se muestra en la imagen, pero de niño usamos latas conectadas con un cable para hablar entre nosotros.



Desafortunadamente, la generación actual no puede permitirse ese "lujo". Quiero decir, hoy los niños están frente al televisor desde la edad de un año, juegan PSP, y tal vez este es un punto discutible, pero creo que tuvimos una infancia mejor, realmente salimos y jugamos juegos, y no puedes sacar a los niños de hoy del sofá.

Mi hijo tiene solo un año y ya veo que es adicto al iPad, quiero decir que todavía es muy pequeño, pero me parece que los niños de hoy ya nacen con el conocimiento de cómo manejar aparatos electrónicos. Entonces, quería decir que en la infancia, cuando jugamos, estábamos rompiendo latas, y cuando las atamos con una cuerda y dijimos algo en una lata, en el otro extremo una persona podía escuchar lo que estaban diciendo, solo poniéndole una lata en la oreja . Entonces esto es muy similar a una conexión de red.

Hoy, incluso para la transmisión TCP, debe haber una conexión que se debe establecer antes de que comience la transferencia de datos real. Como discutimos en lecciones anteriores, TCP es una transmisión que se enfoca en preestablecer una conexión a la red, mientras que UDP es una transmisión sin la necesidad de establecer una conexión. Puedes decir que UDP es cuando tiro la pelota, y depende de ti si puedes atraparla. ¿Estás listo para hacerlo o no? Este no es mi problema, solo voy a renunciar.

TCP es más como hablar con un chico y advertirle de antemano que va a lanzar la pelota, es decir, se establece una conexión entre usted y solo entonces usted lanza la pelota, por lo que es muy probable que su compañero esté listo para atraparlo. Por lo tanto, TCP realmente crea una conexión y luego comienza a hacer una transferencia real.

Considere cómo crea tal conexión. Para crear una conexión, este protocolo utiliza un protocolo de enlace de 3 pasos. Este no es un término muy técnico, pero se ha usado durante mucho tiempo para describir una conexión TCP. El dispositivo emisor inicia un protocolo de enlace de 3 pasos y el cliente envía un paquete con el indicador SYN al servidor.

Suponga que la niña en primer plano cuya cara podemos ver es el dispositivo A, y la niña en el fondo cuya cara no es visible es el dispositivo B. La niña A envía un paquete SYN a la niña B, y ella dice: "genial, alguien El quiere hablar conmigo. ¡Entonces necesito responder que estoy listo para la comunicación! ” Como hacerlo Uno podría simplemente enviar otro paquete SYN y luego un acuse de recibo ACK que indica la recepción del paquete SYN original. Pero en lugar de enviar el ACK por separado, el servidor forma un paquete común que contiene el SYN y el ACK y lo transmite a través de la red.



Entonces, por el momento, el dispositivo A envió un paquete SYN y recibió un paquete SYN / ACK. Ahora el dispositivo A debe enviar ACK al dispositivo B, es decir, confirmar que ha recibido el consentimiento del dispositivo B para establecer la comunicación. Por lo tanto, ambos dispositivos recibieron paquetes SYN y ACK, y ahora podemos decir que la conexión está establecida, es decir, se implementa un protocolo de enlace de 3 etapas a través de TCP.



A continuación, veremos la tecnología de ventanas TCP. En pocas palabras, este es el método utilizado por TCP / IP para negociar las capacidades del remitente y el receptor.



Supongamos que en Windows estamos tratando de transferir un archivo grande, digamos, 2 GB de tamaño, de una unidad a otra. Al comienzo de la transferencia, el sistema nos dirá que la transferencia del archivo tomará aproximadamente 1 año. Pero unos segundos más tarde, el sistema se recuperará y dirá: "Oh, espera un minuto, creo que no llevará 6 meses, sino unos 6 meses". Pasará un poco más de tiempo y Windows dirá: "Creo que tal vez pueda transferir el archivo en 1 mes". Luego, el mensaje "1 día", "6 horas", "3 horas", "1 hora", "20 minutos" "," 10 minutos "," 3 minutos ". De hecho, todo el proceso de transferencia de un archivo tomará solo 3 minutos. ¿Cómo sucedió? Inicialmente, cuando su dispositivo intentó contactar a otro dispositivo, envía un paquete y espera la confirmación. Si el dispositivo está esperando confirmación durante mucho tiempo, piensa: "si tengo que transferir 2 GB de datos a esta velocidad, entonces esto toma alrededor de 2 años ". Después de un tiempo, su dispositivo recibe un ACK y piensa:" OK, envié un paquete y recibí un ACK, por lo tanto, el receptor puede recibir 1 paquete. Ahora intentaré enviarle 10 paquetes en lugar de uno ". El remitente envía 10 paquetes y después de algún tiempo recibe una confirmación ACK del dispositivo receptor, lo que significa que el destinatario está esperando el próximo paquete 11. El remitente piensa: "excelente, ya que el destinatario ha tratado con 10 paquetes de inmediato, ahora intentaré enviarlo 100 paquetes en lugar de diez ". Envía 100 paquetes, y el destinatario responde que los ha recibido y ahora está esperando 101 paquetes. Así, con el tiempo, aumenta el número de paquetes transmitidos.

Es por eso que ve una disminución rápida en el tiempo de copia de archivos en comparación con lo establecido originalmente; esto se debe a un aumento en la capacidad de transferir una gran cantidad de datos. Sin embargo, llega un punto en que un aumento adicional en el volumen de transmisión se vuelve imposible. Supongamos que ha enviado 10,000 paquetes, pero el búfer del dispositivo del receptor es capaz de recibir solo 9,000. En este caso, el destinatario envía un ACK con el mensaje: "He recibido 9000 paquetes y ahora estoy listo para recibir 9001". A partir de esto, el remitente concluye que el búfer del dispositivo receptor tiene una capacidad de solo 9000, lo que significa que a partir de ahora no enviaré más de 9000 paquetes a la vez. En este caso, el remitente calcula rápidamente el tiempo que le tomará transferir la cantidad restante de datos en porciones de 9000 paquetes, y le da 3 minutos. Estos tres minutos son el tiempo de transmisión real. Esto es lo que hace la ventana TCP.

Este es uno de esos mecanismos de control de tráfico donde el dispositivo de transmisión a lo largo del tiempo comprende cuál es el ancho de banda real de la red. Quizás se pregunte por qué no pueden acordar de antemano cuál es la capacidad del dispositivo receptor. El hecho es que esto es técnicamente imposible, porque hay varios tipos de dispositivos en la red. Supongamos que tiene un iPad, y su velocidad de transferencia / recepción de datos es diferente a la del iPhone, puede tener diferentes tipos de teléfonos o tal vez tener una computadora muy antigua. Por lo tanto, todos tienen un ancho de banda de red diferente.

Por lo tanto, la tecnología TCP Windowing se desarrolló cuando la transferencia de datos comienza a baja velocidad o con un número mínimo de paquetes, aumentando gradualmente la ventana de tráfico. Envía un paquete, 5 paquetes, 10 paquetes, 1000 paquetes, 10000 paquetes y abre lentamente esta ventana cada vez más hasta que la "expansión" alcanza el valor máximo posible de enviar el volumen de tráfico en un período de tiempo específico. Por lo tanto, el concepto de ventanas es parte del protocolo TCP.

A continuación, veremos los números de puerto más comunes. La situación clásica es cuando tienes 1 servidor principal, quizás este es un centro de datos. Incluye un servidor de archivos, un servidor web, un servidor de correo y un servidor DHCP. Ahora, si una de las computadoras del cliente contacta con el centro de datos, que se encuentra en el medio de la imagen, comenzará a enviar tráfico del servidor de archivos a los dispositivos del cliente. Este tráfico se muestra en rojo y se utilizará un puerto específico para una aplicación específica desde un servidor específico para transmitirlo.



¿Cómo sabía el servidor dónde debía ir cierto tráfico? Se enterará del número de puerto de destino. Si observa el marco, verá que en cada transferencia de datos se menciona el número de puerto de destino y el puerto de origen. Usted ve que el tráfico azul y rojo, y el tráfico azul es el tráfico del servidor web, ambos llegan al mismo servidor físico, en el que están instalados diferentes servidores. Si es un centro de datos, entonces utiliza servidores virtuales. Entonces, ¿cómo sabían que se suponía que el tráfico rojo debía regresar a esta computadora portátil izquierda con esta dirección IP? Lo saben gracias a los números de puerto. Si consulta el artículo de Wikipedia “Lista de puertos TCP y UDP”, verá que enumera todos los números de puerto estándar.



Si desplaza esta página, puede ver qué tan grande es esta lista. Contiene aproximadamente 61,000 habitaciones. Los números de puerto del 1 al 1024 se conocen como los números de puerto más comunes. Por ejemplo, el puerto 21 / TCP es para transmitir comandos ftp, el puerto 22 para ssh, el puerto 23 para Telnet, es decir, para transmitir mensajes no cifrados. Se usa un puerto 80 muy popular para transmitir datos a través de HTTP, y el puerto 443 se usa para transmitir datos cifrados usando HTTPS, que es similar a la versión segura de HTTP.
Algunos puertos están diseñados para TCP y UDP al mismo tiempo, y algunos realizan diferentes tareas según la conexión que se use: TCP o UDP. Entonces, oficialmente el puerto 80 TCP se usa para HTTP, y extraoficialmente se usa el puerto 80 UDP para HTTP, pero usando un protocolo HTTP diferente: QUIC.



Por lo tanto, los números de puerto en TCP no siempre están diseñados para lo mismo que en UDP. No necesita aprender esta lista de memoria, es imposible recordarla, pero necesita conocer algunos números de puerto populares y más comunes. Como dije, algunos de estos puertos tienen un propósito oficial, que se describe en los estándares, y algunos tienen un propósito no oficial, como es el caso de Chromium.

Entonces, esta tabla enumera todos los números de puerto comunes, y estos números se usan para enviar y recibir tráfico cuando se usan aplicaciones específicas.

Ahora veamos cómo se mueven los datos en la red según la poca información que conocemos. Suponga que la computadora 10.1.1.10 desea contactar a esta computadora, o este servidor, que tiene la dirección 30.1.1.10. Debajo de la dirección IP de cada dispositivo está su dirección MAC. Doy como ejemplo una dirección MAC con solo los últimos 4 caracteres, pero en la práctica es un número hexadecimal de 48 bits con 12 caracteres. Como cada uno de estos números consta de 4 bits, 12 dígitos hexadecimales representan un número de 48 bits.



Como sabemos, si este dispositivo desea ponerse en contacto con este servidor, el primer paso del protocolo de enlace de 3 etapas debe hacerse primero, es decir, se envía un paquete SYN. Al crear esta solicitud, la computadora 10.1.1.10 indicará el número de puerto de origen, que Windows crea dinámicamente. Windows selecciona aleatoriamente un número de puerto entre 1 y 65,000. Pero dado que los números iniciales en el rango de 1 a 1024 son ampliamente conocidos, en este caso el sistema considerará números mayores que 25000 y creará un puerto de origen aleatorio, por ejemplo, bajo el número 25113.

A continuación, el sistema agregará el puerto de destino al paquete, en este caso el puerto 21, porque la aplicación que está intentando conectarse a este servidor FTP sabe que debe enviar tráfico FTP.

Además, nuestra computadora dice: "OK, mi dirección IP es 10.1.1.10 y necesito comunicarme con la dirección IP 30.1.1.10". Ambas direcciones también se incluyen en el paquete, formando una solicitud SYN, y este paquete no se cambiará hasta el final de la conexión.

Quiero que entiendas de este video cómo se mueven los datos a través de la red. Cuando nuestra computadora que envía la solicitud ve la dirección IP de origen y la dirección IP de destino, entiende que la dirección de destino no está en esta red local. Olvidé decir que estas son todas / 24 direcciones IP. Entonces, si observa las direcciones IP / 24, comprenderá que las computadoras 10.1.1.10 y 30.1.1.10 no están en la misma red. Por lo tanto, la computadora que envía la solicitud comprende que para salir de esta red, debe recurrir a la puerta de enlace 10.1.1.1, que está configurada en una de las interfaces del enrutador. Sabe que debe ir a 10.1.1.1 y conoce su dirección MAC 1111, pero no conoce la dirección MAC de la puerta de enlace 10.1.1.1. Que esta haciendo el Envía una solicitud ARP de difusión que recibirán todos los dispositivos en la red, pero solo un enrutador con una dirección IP de 10.1.1.1 responderá.



El enrutador responderá con su dirección MAC AAAA, y las direcciones MAC de origen y destino también se colocarán en este marco. Tan pronto como la trama esté lista, antes de abandonar la red, se realizará una verificación de integridad de datos CRC, que es un algoritmo para encontrar la suma de verificación para detectar errores.
El código CRC cíclico redundante significa que toda esta trama, desde SYN hasta la última dirección MAC, se ejecuta a través de un algoritmo hash, digamos MD5, que da como resultado un valor hash. , MD5, .



FCS/CRC, FCS – , CRC. FCS, — CRC, . . , , , , . , , , , FCS CRC, . , , , , .

MAC- : «, MAC- AAAA , », , MAC-.



IP- 30.1.1.10, , .

«» , , 30.1.1.10. , , . 30.1.1.0. , IP- , . «» , 30.1.1.0/24, 20.1.1.2.

, ? , , , . , , , 20.1.1.2. , MAC- , . , ARP, MAC- 20.1.1.2, .

, , MAC-, MAC- BBB MAC- CCC. FCS/CRC .



, 20.1.12, , , , FCS/CRC. «» MAC-, , 30.1.1.10. , . , MAC- , , .



, - SYN-, , , . MAC-, IP- , .
IP-, OSI, .



21, FTP-, SYN , - .

, , , 30.1.1.10 SYN/ACK 10.1.1.10. , 10.1.1.10 ACK, , SYN, ACK .

, — . , , .
Espero que lo que aprendiste de este tutorial te sea útil. Si tiene preguntas, escríbame a imran.rafai@nwking.org o publique preguntas en este video.

A partir de la próxima lección, seleccionaré 3 de las preguntas más interesantes de YouTube, que consideraré al final de cada video. A partir de ahora, tendré la sección "Mejores preguntas", así que publicaré la pregunta con su nombre y la responderé en vivo. Creo que se beneficiará.


Gracias por quedarte con nosotros. ¿Te gustan nuestros artículos? ¿Quieres ver más materiales interesantes? Apóyenos haciendo un pedido o recomendándolo a sus amigos, un descuento del 30% para los usuarios de Habr en un análogo único de servidores de nivel de entrada que inventamos para usted: toda la verdad sobre VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps de $ 20 o cómo dividir el servidor? (las opciones están disponibles con RAID1 y RAID10, hasta 24 núcleos y hasta 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps hasta el verano de forma gratuita al pagar por un período de seis meses, puede ordenar aquí .

Dell R730xd 2 veces más barato? ¡Solo tenemos 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV desde $ 199 en los Países Bajos! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ¡desde $ 99! Lea sobre cómo construir infraestructura clase utilizando servidores Dell R730xd E5-2650 v4 que cuestan 9,000 euros por un centavo?

Source: https://habr.com/ru/post/454404/


All Articles