En primer lugar, la conexión de transporte en tres etapas
-
TCP es un protocolo orientado a la conexión
-
conexiones de transporte Hay tres etapas:
- se establece la conexión
- transferencia de datos
- liberación de la conexión
-
proceso de establecimiento de la conexión a la dirección de la siguiente tres preguntas
- Para cada una de las partes puede determinar la presencia de uno al otro
- Para permitir que las dos partes negocian una serie de parámetros (tales como la máxima longitud de paquete, el tamaño máximo de la ventana, etc.)
- Puede asignarse a los recursos de la entidad de transporte
-
modo cliente-servidor
- Establecer una conexión TCP se utiliza el modo cliente-servidor
- Iniciar el proceso de solicitud para establecer la conexión se llama
客户(client)
- espera pasivamente a que el proceso de solicitud para establecer la conexión se llama
服务器
Dos, establecimiento de conexión TCP
- Proceso llamado conexión TCP se establece
握手
- apretón de manos de intercambio necesita tres segmentos TCP entre el cliente y el servidor. Llamada
三报文握手
(transmisión -> Confirmación -> reconfirmación)
第一步
: La imagen se ha dado, en el que el campo de indicador SYN de una solicitud de establecimiento de conexión, el byte de datos de mensajes de este número es X (这个x是随便定的,在释放连接中这个seq序号是不能随便定的
), pero no está realmente presente en los bytes de datos, sólo una parte de cabecera, la parte de datos está vacía .第二步
: B después de recibir la solicitud de un segmento TCP, si está de acuerdo, a continuación, enviar de vuelta un acuse de recibo, el segmento B en el mensaje de confirmación a usarse SYN = 1, = 1, de modo que el ACK (.标志确认号有效
), Que confirman el número = X + 1 ACK (.确认号是指期望收到的下一个字节序号,这里也说明了前面x个已经收到了
) , el propietario de este número de secuencia de paquete ss = y. sección de datos sigue vacío.第三步:
A recibe el paquete de transmisión al párrafo paquete B, que ACK = 1, un número de acuse de recibo ACK = y + 1 (del mismo modo, puede estar hecha de B Y indican bytes recibidos).连接建立成功:
TCP Un proceso de aplicación superior notificación, la conexión se ha establecido.
liberación de la conexión TCP
- proceso de liberación más complicado que el proceso de conexión
- Después de completar la transferencia de datos, la comunicación ambas partes pueden liberar la conexión (cliente o servidor)
- TCP es un proceso de liberación de la conexión
四报文握手
- A los datos que se transfieren a B, y B repente no quería continuar, listo para romper.
- Hay una parada de envío de datos a B, A cerca TCP activa (datos antes de ser transferido)
- A envía a B el segmento de datos, el paquete de petición, el FIN. 1 = (
标志着这段报文是请求释放连接的报文
), SEQ = U (这个u不是随便定的,因为前面A和B是在传输数据的,传输的数据字节的最后一个序号就是u
), B está esperando un acuse de recibo. - B envía una un paquete de confirmación, ACK = 1, SEC = v , ack = u + 1. proceso del servidor TCP notifica al proceso de aplicación de alto nivel (
告诉它们A不会再发数据过来了
). Un caso se conecta a la dirección B sobre la liberación, la conexión TCP es el estado medio-cerrado.B若发送数据,A仍要接收
. - Si B no envía datos a una, y su proceso de aplicación como al igual que A envía una solicitud de desconexión, repita el proceso.
- Cuando A o B Enviar mensaje de confirmación para confirmar la desconexión no puede cerrar inmediatamente la conexión, debe esperar el tiempo 2MSL para cerrar. (MSL ---- máximo de segmento de por vida máximo de paquete vida)
1. Para garantizar un mensaje de acuse de recibo final enviado a capaz de llegar a los otros segmentos.
2. Con el fin de producir todos los segmentos van a desaparecer de la red durante esta conexión (pasa perdidos o llegado.)