Avui, començarem centrant-nos en TCP. Anteriorment al capítol sobre la creació de capes, hem esmentat un punt important. A la capa de xarxa i a sota, es tracta més de connexions entre hosts, la qual cosa significa que l'ordinador necessita saber on es troba un altre ordinador per connectar-s'hi. Tanmateix, la comunicació en una xarxa sovint és comunicació entre processos en lloc de comunicació entre màquines. Per tant, el protocol TCP introdueix el concepte de port. Un port només pot ser ocupat per un procés, cosa que proporciona comunicació directa entre processos d'aplicació que s'executen en diferents hosts.
La tasca de la capa de transport és com proporcionar serveis de comunicació directa entre processos d'aplicació que s'executen en diferents hosts, per la qual cosa també es coneix com a protocol d'extrem a extrem. La capa de transport amaga els detalls principals de la xarxa, permetent que el procés d'aplicació vegi com si hi hagués un canal de comunicació lògic d'extrem a extrem entre les dues entitats de la capa de transport.
TCP significa Transmission Control Protocol (Protocol de Control de Transmissió) i es coneix com a protocol orientat a la connexió. Això significa que abans que una aplicació pugui començar a enviar dades a l'altra, els dos processos han de fer una encaixada de mans. L'encaixada de mans és un procés connectat lògicament que garanteix una transmissió fiable i una recepció ordenada de dades. Durant l'encaixada de mans, s'estableix una connexió entre els hosts d'origen i de destinació intercanviant una sèrie de paquets de control i acordant alguns paràmetres i regles per garantir una transmissió de dades correcta.
Què és el TCP? (Mylinking'sToc de xarxaiBroker de paquets de xarxapodia processar paquets TCP o UDP)
TCP (Transmission Control Protocol) és un protocol de comunicació de capa de transport orientat a connexió, fiable i basat en flux de bytes.
Orientat a la connexióOrientat a connexió significa que la comunicació TCP és d'un a un, és a dir, comunicació punt a punt d'extrem a extrem, a diferència de l'UDP, que pot enviar missatges a diversos hosts alhora, de manera que no es pot aconseguir la comunicació d'un a molts.
FiableLa fiabilitat de TCP garanteix que els paquets es lliurin de manera fiable al receptor independentment dels canvis en l'enllaç de xarxa, cosa que fa que el format de paquets de protocol de TCP sigui més complex que el d'UDP.
Basat en flux de bytesLa naturalesa basada en fluxos de bytes de TCP permet la transmissió de missatges de qualsevol mida i garanteix l'ordre dels missatges: fins i tot si el missatge anterior no s'ha rebut completament, i fins i tot si s'han rebut els bytes posteriors, TCP no els lliurarà a la capa d'aplicació per al seu processament i descartarà automàticament els paquets duplicats.
Un cop l'amfitrió A i l'amfitrió B han establert una connexió, l'aplicació només necessita utilitzar la línia de comunicació virtual per enviar i rebre dades, garantint així la transmissió de dades. El protocol TCP és responsable de controlar tasques com l'establiment, la desconnexió i la retenció de la connexió. Cal tenir en compte que aquí diem que la línia virtual només significa establir una connexió, la connexió del protocol TCP només indica que les dues parts poden iniciar la transmissió de dades i garantir la fiabilitat de les dades. Els nodes d'encaminament i transport són gestionats pels dispositius de xarxa; el protocol TCP en si no es preocupa per aquests detalls.
Una connexió TCP és un servei full-duplex, la qual cosa significa que l'amfitrió A i l'amfitrió B poden transmetre dades en ambdues direccions en una connexió TCP. És a dir, les dades es poden transferir entre l'amfitrió A i l'amfitrió B en un flux bidireccional.
TCP emmagatzema temporalment dades a la memòria cau d'enviament de la connexió. Aquesta memòria cau d'enviament és una de les memòries cau configurades durant la comunicació a tres bandes. Posteriorment, TCP enviarà les dades de la memòria cau d'enviament a la memòria cau de recepció de l'amfitrió de destinació en el moment adequat. A la pràctica, cada node tindrà una memòria cau d'enviament i una memòria cau de recepció, tal com es mostra aquí:
El buffer d'enviament és una àrea de memòria mantinguda per la implementació de TCP al costat de l'emissor que s'utilitza per emmagatzemar temporalment dades que s'enviaran. Quan es realitza la connexió a tres bandes per establir una connexió, es configura la memòria cau d'enviament i s'utilitza per emmagatzemar dades. El buffer d'enviament s'ajusta dinàmicament segons la congestió de la xarxa i els comentaris del receptor.
Un buffer de recepció és una àrea de memòria mantinguda per la implementació de TCP al costat receptor que s'utilitza per emmagatzemar temporalment les dades rebudes. TCP emmagatzema les dades rebudes a la memòria cau de recepció i espera que l'aplicació superior les llegeixi.
Tingueu en compte que la mida de la memòria cau d'enviament i de recepció és limitada. Quan la memòria cau està plena, el TCP pot adoptar algunes estratègies, com ara el control de congestió, el control de flux, etc., per garantir una transmissió de dades fiable i l'estabilitat de la xarxa.
En les xarxes informàtiques, la transmissió de dades entre hosts es duu a terme mitjançant segments. Aleshores, què és un segment de paquet?
TCP crea un segment TCP, o segment de paquet, dividint el flux entrant en fragments i afegint capçaleres TCP a cada fragment. Cada segment només es pot transmetre durant un temps limitat i no pot superar la mida màxima del segment (MSS). En el seu camí cap avall, un segment de paquet passa per la capa d'enllaç. La capa d'enllaç té una unitat de transmissió màxima (MTU), que és la mida màxima del paquet que pot passar per la capa d'enllaç de dades. La unitat de transmissió màxima sol estar relacionada amb la interfície de comunicació.
Aleshores, quina és la diferència entre MSS i MTU?
En les xarxes informàtiques, l'arquitectura jeràrquica és molt important perquè té en compte les diferències entre els diferents nivells. Cada capa té un nom diferent; a la capa de transport, les dades s'anomenen segment, i a la capa de xarxa, les dades s'anomenen paquet IP. Per tant, la Unitat de Transmissió Màxima (MTU) es pot considerar com la Mida Màxima del Paquet IP que pot transmetre la capa de xarxa, mentre que la Mida Màxima del Segment (MSS) és un concepte de la capa de transport que fa referència a la quantitat màxima de dades que pot transmetre un paquet TCP alhora.
Tingueu en compte que quan la mida màxima del segment (MSS) és més gran que la unitat de transmissió màxima (MTU), la fragmentació IP es durà a terme a la capa de xarxa i TCP no dividirà les dades més grans en segments adequats per a la mida MTU. Hi haurà una secció a la capa de xarxa dedicada a la capa IP.
Estructura de segments de paquets TCP
Explorem el format i el contingut de les capçaleres TCP.
Número de seqüènciaUn número aleatori generat per l'ordinador quan s'estableix la connexió com a valor inicial quan s'estableix la connexió TCP, i el número de seqüència s'envia al receptor a través del paquet SYN. Durant la transmissió de dades, l'emissor incrementa el número de seqüència segons la quantitat de dades enviades. El receptor jutja l'ordre de les dades segons el número de seqüència rebut. Si es troben dades fora d'ordre, el receptor les reordenarà per garantir l'ordre de les dades.
Número de reconeixement: Aquest és un número de seqüència utilitzat en TCP per confirmar la recepció de dades. Indica el número de seqüència de les següents dades que l'emissor espera rebre. En una connexió TCP, el receptor determina quines dades s'han rebut correctament en funció del número de seqüència del segment del paquet de dades rebut. Quan el receptor rep correctament les dades, envia un paquet ACK a l'emissor, que conté el número de confirmació. Després de rebre el paquet ACK, l'emissor pot confirmar que les dades s'han rebut correctament abans de confirmar el número de resposta.
Els bits de control d'un segment TCP inclouen els següents:
Bit d'ACKQuan aquest bit és 1, significa que el camp de resposta de confirmació és vàlid. TCP especifica que aquest bit s'ha de definir a 1 excepte per als paquets SYN quan la connexió s'estableix inicialment.
Bit RSTQuan aquest bit és 1, indica que hi ha una excepció a la connexió TCP i que s'ha de forçar la desconnexió de la connexió.
Bit SYNQuan aquest bit està establert a 1, significa que s'ha d'establir la connexió i que el valor inicial del número de seqüència s'estableix al camp del número de seqüència.
Bit FINQuan aquest bit és 1, significa que no s'enviaran més dades en el futur i que es desitja la connexió.
Les diverses funcions i característiques del TCP es reflecteixen en l'estructura dels segments de paquets TCP.
Què és UDP? (Mylinking)Toc de xarxaiBroker de paquets de xarxapodria processar paquets TCP o UDP)
El protocol de datagrames d'usuari (UDP) és un protocol de comunicació sense connexió. En comparació amb TCP, UDP no proporciona mecanismes de control complexos. El protocol UDP permet a les aplicacions enviar directament paquets IP encapsulats sense establir una connexió. Quan el desenvolupador tria utilitzar UDP en lloc de TCP, l'aplicació es comunica directament amb la IP.
El nom complet del protocol UDP és User Datagram Protocol, i la seva capçalera només té vuit bytes (64 bits), cosa que és molt concisa. El format de la capçalera UDP és el següent:
Ports de destinació i origenEl seu propòsit principal és indicar a quin procés ha d'enviar paquets UDP.
Mida del paquetEl camp de mida del paquet conté la mida de la capçalera UDP més la mida de les dades.
Suma de verificacióDissenyat per garantir un lliurament fiable de les capçaleres i les dades UDP. La funció de la suma de verificació és detectar si s'ha produït un error o una corrupció durant la transmissió d'un paquet UDP per garantir la integritat de les dades.
Diferències entre TCP i UDP a MylinkingToc de xarxaiBroker de paquets de xarxapodia processar paquets TCP o UDP
TCP i UDP es diferencien en els següents aspectes:
ConnexióTCP és un protocol de transport orientat a connexió que requereix que s'estableixi una connexió abans que es puguin transferir dades. UDP, en canvi, no requereix una connexió i pot transferir dades immediatament.
Objecte de serveiTCP és un servei d'un a un i dos punts, és a dir, una connexió només té dos punts finals per comunicar-se entre si. Tanmateix, UDP admet la comunicació interactiva d'un a un, d'un a molts i de molts a molts, que pot comunicar-se amb diversos hosts alhora.
FiabilitatTCP proporciona el servei de lliurament de dades de manera fiable, garantint que les dades estiguin lliures d'errors, pèrdues, no siguin duplicades i arribin sota demanda. UDP, en canvi, fa tot el possible i no garanteix un lliurament fiable. UDP pot patir pèrdues de dades i altres situacions durant la transmissió.
Control de congestió, control de fluxTCP té mecanismes de control de congestió i control de flux, que poden ajustar la velocitat de transmissió de dades segons les condicions de la xarxa per garantir la seguretat i l'estabilitat de la transmissió de dades. UDP no té mecanismes de control de congestió ni control de flux, fins i tot si la xarxa està molt congestionada, no farà ajustaments a la velocitat d'enviament UDP.
Despesa general de la capçaleraTCP té una capçalera llarga, normalment de 20 bytes, que augmenta quan s'utilitzen camps d'opció. UDP, en canvi, té una capçalera fixa de només 8 bytes, de manera que UDP té una sobrecàrrega d'encapçalament més baixa.
Escenaris d'aplicacions TCP i UDP:
TCP i UDP són dos protocols de capa de transport diferents i tenen algunes diferències en els escenaris d'aplicació.
Com que TCP és un protocol orientat a connexió, s'utilitza principalment en escenaris on es requereix un lliurament de dades fiable. Alguns casos d'ús comuns inclouen:
Transferència de fitxers FTPTCP pot garantir que els fitxers no es perdin ni es corrompin durant la transferència.
HTTP/HTTPSTCP garanteix la integritat i la correcció del contingut web.
Com que l'UDP és un protocol sense connexió, no ofereix garantia de fiabilitat, però té les característiques d'eficiència i temps real. L'UDP és adequat per als següents escenaris:
Trànsit de paquets baixos, com ara DNS (Sistema de noms de domini)Les consultes DNS solen ser paquets curts i UDP les pot completar més ràpidament.
Comunicació multimèdia com ara vídeo i àudioPer a la transmissió multimèdia amb requisits elevats en temps real, UDP pot proporcionar una latència més baixa per garantir que les dades es puguin transmetre de manera oportuna.
Comunicació de radiodifusióUDP admet la comunicació d'un a molts i de molts a molts i es pot utilitzar per a la transmissió de missatges de difusió.
Resum
Avui hem après sobre TCP. TCP és un protocol de comunicació de capa de transport orientat a la connexió, fiable i basat en flux de bytes. Garanteix la transmissió fiable i la recepció ordenada de dades establint connexió, protocol de connexió i reconeixement. El protocol TCP utilitza ports per realitzar la comunicació entre processos i proporciona serveis de comunicació directa per a processos d'aplicació que s'executen en diferents hosts. Les connexions TCP són full-duplex, permetent transferències de dades bidireccionals simultànies. En canvi, UDP és un protocol de comunicació orientat a la connexió, que no ofereix garanties de fiabilitat i és adequat per a alguns escenaris amb requisits elevats en temps real. TCP i UDP són diferents en el mode de connexió, l'objecte de servei, la fiabilitat, el control de congestió, el control de flux i altres aspectes, i els seus escenaris d'aplicació també són diferents.
Data de publicació: 03 de desembre de 2024