red informática part1 TCP

A, protocolo TCP

las Referencias: newcoder
protocolo, diferencia TCP y UDP TCP / IP y las características

1, el modelo de cuatro capas

Capa de aplicación: contiene la aplicación, envía los datos a la capa de transporte. Los protocolos principales son HTTP, SMTP, FTP, DNS y así sucesivamente.
Capa de transporte: comunicación del flujo de información entre el formato de encapsulación de la aplicación responsable de la aplicación. Los principales protocolos son TCP, UDP.
capa de red: la capa de flujo de transporte empaquetado en paquetes IP, a la comunicación de capa de enlace entre diferentes hosts. Los principales protocolos son IP.
Capa de enlace: la recepción de una red de paquetes de la capa IP se encapsulan en tramas enviadas a la red; un marco físico recibido de la red, extrae un paquete IP a la capa de red.

2, la fiabilidad

1). El número de serie, reconocimiento, tiempo de retransmisión

Cada paquete tiene un número de secuencia, el receptor se puede clasificar por el número de secuencia; el segmento de datos recibido, el receptor devuelve un ACK de acuse de recibo correspondiente carácter, generalmente ACK No. + he recibido, que es esperar para recibir el siguiente el primer byte de datos de número de secuencia del segmento, y si el extremo de transmisión para un cierto tiempo (este tiempo es generalmente dentro de 2 * el RTT (ida y vuelta segmento de tiempo) + un valor de desplazamiento) no recibe el acuse de recibo, el paquete de datos correspondiente se considerará perdida y retransmitido.

2) El control de flujo

Ventana corredera: el tamaño de la ventana anunciada un receptor del remitente, el remitente para evitar demasiado tiempo la transmisión de datos.
Si el remitente envía los datos demasiado rápido, el destinatario puede ser demasiado tarde para recibir, lo que resultará en la pérdida de datos. El llamado control de flujo es permitir que la velocidad de transmisión del remitente no es demasiado rápido, el tiempo para que el destinatario recibe.
Los paquetes de datos en la ventana deslizante pueden ser enviados directamente, y cuando la parte izquierda de la ventana de confirmación después de recibir la ventana de transmisión se mueve hacia la derecha.

3) Control de Congestión

ventana de congestión: el remitente con el fin de evitar la obstrucción de la ventana utilizada en la trayectoria de transmisión.
ajuste de tamaño de ventana:
Inicio lento: ventana de inicio (la CWND) se establece en 1 cada vez que recibe una respuesta de acuse de recibo (a través de un RTT), el tamaño de la ventana de congestión * 2, cuando el tiempo de espera de retransmisión de paquetes, el umbral ( ssthresh) se establece en la mitad del tamaño de la ventana actual, tamaño de la ventana se establece en 1, a continuación, empezar lento.
evitación de congestión: el establecimiento de un umbral de inicio lento, por lo general se establece en 65.536 (2 ^ 16). Cuando el tamaño de la ventana de congestión para llegar a este umbral, no por 2, pero cada uno 1; cuando el tiempo de espera de retransmisión segmento, se fija el umbral a la mitad del tamaño de la ventana actual, tamaño de la ventana se establece en 1, entonces comienzo lento.
retransmisión rápida: 3 veces reciben ACK duplicado, retransmisión de inmediato. Por ejemplo, tres veces 1001 recibieron el reconocimiento, significa el comienzo de 1001 no recibió el segmento de datos retransmitido 1001 comenzó.
Recuperación rápida: recibir el ACK tres repeticiones, a partir de retransmisión rápida, y se inicia la recuperación rápida. El umbral se fija a la mitad del tamaño del tamaño actual de la ventana y la congestión de ventana a un nuevo umbral de 3 (como se explicó previamente recibido tres enviaron tres aislamiento, algunos sin 3). Entonces sólo tiene que repetir cada uno recibió una ventana de confirmación, la congestión 1. Cuando un nuevo datos confirman el ACK, el tamaño de la ventana se establece en ssthresh, entonces la prevención de la congestión.

3, de tres vías

referencias: TCP de tres vías con los cuatro agitando entender y preguntas cara (muy amplia)

se establece la conexión Cuando el protocolo de capa de transporte es TCP basado en, el remitente y el receptor envía tres paquetes fueron llamados de 3 vías apretón de manos.
El primer apretón de manos: remitente envía un SYN = 1 (SEQ ID NO sincronización) y el número de secuencia Seq inicial = X (aleatorio). Diga a los receptores peticiones para establecer una conexión. El cliente entra en la SYN_SENT estado, solicitando una conexión, espera un acuse de recibo.
Segundo apretón de manos: receptor reconoce el extremo de transmisión SYN (transmisión de ACK = X + 1), mientras que sí mismos de transmisión un SYN = 1, Seq = Y (al azar). DESCRIPCIÓN receptor acusa recibo de un mensaje de conexión. Servidor entrar SYN_RECV estado.
Tercera apretón de manos: un receptor de acuse de recibo SYN + ACK de paquetes, que transmite ACK = Y + 1, Seq = X + 1. En este momento, la conexión TCP tiene éxito. El cliente y el servidor en el ESTABLECIDO estado.

¿Por qué es el enlace de tres vías? En lugar de dos o cuatro veces?
Se ha fallado para evitar que el paquete de petición de conexión de ráfaga en el segmento de servidor, generando de esta manera los errores.
Por ejemplo, cuando un segmento de clientes primer apretón de manos en la red debido a retrasos en la llegada de un servidor de nodo, y el servidor envía una respuesta de confirmación, la empatía establecer una conexión. Pero el cliente no solicitó para establecer una conexión en este momento, se ignorará el reconocimiento, porque no hay una tercera apretón de manos, entonces el servidor tendrá que esperar a que el cliente envíe datos.

4, de cuatro ondas

La primera onda: el cliente envía un paquete a liberar la conexión, FIN = 1, Seq = u . Solicitar a liberar la conexión. Client entra FIN_WAIT1 estado (1 de terminación de espera).
Segunda ola: el servidor recibe el mensaje de liberación de conexión, un mensaje de confirmación ACK = u + 1, y traer su propio número de secuencia SEQ = v. En este caso, se conecta el cliente al servidor de dirección ha sido desconectado, el cliente no continúa para enviar datos. En el medio de cerca (la FIN_WAIT2) estado. Sin embargo, el servidor envía los datos, el cliente todavía tiene que ser aceptada. El cliente espera para el mensaje de liberación de conexión del servidor. El servidor en el CLOSE_WAIT estado (de espera cerrada). El cliente recibe la solicitud de confirmación para entrar en el FIN_WAIT2 estado (2 terminación de espera).
La tercera onda: los últimos datos del servidor ha sido enviado, los paquetes enviados a los cliente libera la conexión, FIN = 1, ACK = u + 1, Seq = w. Esperar a que el cliente para confirmar. El servidor entra LAST_ACK estado (confirmación definitiva), a la espera de un cliente mensaje de confirmación.
La cuarta ola: el cliente recibe el mensaje de liberación de conexión enviado para confirmar y entrar TIME_WAIT estado. ACK = w + 1, Seq = u + 1. El servidor de inmediato recibirá un mensaje de confirmación cerrar la conexión TCP introduzca inmediatamente CERRADO estado. El cliente envía un mensaje de acuse de recibo, no se cierra la conexión inmediatamente, pero aparte 2 * MSL off (tiempo de vida máximo de segmento) después. Debido a que el último mensaje de confirmación se puede perder, por lo que esperar, si el servidor no ha recibido un mensaje de confirmación, el servidor de tiempo de espera de retransmisión FIN. Por lo tanto, el servidor se rompe la conexión TCP antes de lo que el cliente. Por último, la revocación cliente de una conexión TCP, introduzca CERRADO estado.

5, mientras que la abre mientras cerrada, semiabierta

referencias: Comentarios TCP-IP: conexión TCP entreabierta y al mismo tiempo abiertos al cerrar el
abierto de forma simultánea:
dos aplicaciones abiertas al mismo tiempo activa, enviando el paquete SYN en el estado SYN_SENT. Todos recibieron el otro lado envió SYN, paquetes SYN y luego envía un paquete ACK a la otra, a continuación, introduzca estado SYN_RECV. Después de recibir los paquetes SYN y ACK de cada uno, se establece una conexión directa, introduzca establecidas por el estado.

Mientras se cierra:
Las dos partes también tomar la iniciativa para cerrar, el envío de paquete FIN entra en estado de FIN_WAIT1. Tras la recepción de las partes para entrar en cada uno de otros FIN DE CIERRE estado, a continuación, envía un ACK para confirmar y entrar en estado TIME_WAIT. Finalmente cerrado.

Entreabierta:
uno debido a un cierre anormal (desconexión, el suministro de energía), y el otro sin el conocimiento, esta vez en una conexión entreabierta. Si las partes no realizan la comunicación de datos, la parte que sigue estando conectado en el otro lado no detecta una anomalía se ha producido. Si usted necesita para enviar los datos, de hecho, que se encuentra aquí después de recibir la conexión no existe, devolverá paquetes RST (paquetes de reset) dijo a la fuerza a cerrar la conexión, esta vez en la necesidad de re-establecer la conexión.

Supongo que te gusta

Origin www.cnblogs.com/KirinSB/p/12602036.html
Recomendado
Clasificación