Constitutio Connexionis TCP
Cum interrete navigamus, epistulam electronicam mittimus, aut ludum electronicum ludimus, saepe de complexa connexione retiaria post eam non cogitamus. Attamen, hi gradus, qui parvi videntur, stabilem communicationem inter nos et servitorem praestant. Unus e gradibus gravissimis est constitutio connexionis TCP, et huius nucleus est triplex coniunctio manus.
Hic articulus principium, processum, et momentum coniunctionis tripartitae (vel "handshake") accurate tractabit. Gradatim explicabimus cur coniunctio tripartita necessaria sit, quomodo stabilitatem et firmitatem nexus praestet, et quam magni momenti sit ad translationem datorum. Altiore intellectu coniunctionis tripartitae, meliorem intellectum mechanismorum subiacentium communicationis retialis et clariorem visionem firmitatis nexuum TCP adipiscemur.
Processus Triplex Coniunctionis Manus TCP et Transitiones Status
TCP est protocollum translationis ad connexionem directam, quod connexionem ante transmissionem datorum requirit. Hic processus connexionis constituendae per triplicem manumissionem fit.
Inspiciamus propius fasciculos TCP qui in unaquaque conexione mittuntur.
Initio, et cliens et servus CLAUSI sunt. Primo, servus active in portu auscultat et in statu AUSCULTATIO est, quod significat servum incipiendum esse. Deinde, cliens paratus est ad paginam interretialem accedendum. Necesse est ei nexum cum servo instituere. Forma primi fasciculi nexus est haec:
Cum cliens nexum initiat, numerum seriei initialem fortuitum (client_isn) generat et in agro "Numerus seriei" capitis TCP ponit. Simul, cliens signi SYN ad 1 ponit ut indicet fasciculum exeuntem fasciculum SYN esse. Cliens indicat se nexum cum servo instituere velle mittendo primum fasciculum SYN ad servum. Hic fasciculus non continet data strati applicationis (id est, data missa). Hoc loco, status clientis notatur ut SYN-SENT.
Cum servus fasciculum SYN a cliente accipit, suum proprium numerum serialem (server_isn) temere initiat, deinde illum numerum in agro "Serial number" capitis TCP inserit. Deinde, servus client_isn + 1 in agro "Acknowledgement number" inserit et utrumque bitum SYN et ACK ad 1 ponit. Denique, servus fasciculum ad clientem mittit, qui nulla data strati applicationis continet (nec data quae servus mittere possit). Hoc tempore, servus in statu SYN-RCVD est.
Postquam cliens fasciculum a servo accepit, sequentes optimizationes perficere debet ut fasciculo responso finali respondeat: Primo, cliens bit ACK capitis TCP fasciculi responso ad 1 ponit; Secundo, cliens valorem server_isn + 1 in agro "Numerum responso confirma" inserit; Denique, cliens fasciculum ad servum mittit. Hic fasciculus notitias a cliente ad servum portare potest. His operationibus completis, cliens statum ESTABLISHED ingredietur.
Postquam servus fasciculum responsi a cliente accepit, etiam ad statum ESTABLISHED transit.
Ut ex supradicto processu videre potes, cum triplex conexio fit, tertiae conexionis data portare licet, sed duae primae conexiones non possunt. Haec quaestio saepe in colloquiis ponitur. Postquam triplex conexio completa est, ambae partes in statum CONSTITUTAE ingrediuntur, quod indicat nexum feliciter constitutum esse, quo in puncto cliens et servus data inter se mittere possunt.
Cur ter manus iunctae? Non bis, quater?
Responsum vulgatum est, "Quia triplicis manus coniunctio facultatem recipiendi et mittendi praestat." Haec responsio recta est, sed causa superficialis tantum est, non causam principalem proponit. In sequentibus, causas triplicis manus coniunctionis ex tribus aspectibus analizabo ut intellegentiam huius rei profundiorem reddam.
Coniunctio manus tripartita initiationem nexuum historice repetitorum (causa principalis) efficaciter vitare potest.
Triplicis contractio manus praestat ut ambae partes numerum sequentiae initialem fidum acceperint.
Triplicis manus constrictio dissipationem opum vitat.
Causa Prima: Vitandae Sunt Duplicatae Coniunctiones Historicae
Breviter, causa principalis coniunctionis tripartitae est vitare confusionem ab initializatione nexus duplicati veteris ortam. In ambitu retiario complexo, transmissio fasciculorum datorum non semper ad destinatum hospitem secundum tempus definitum mittitur, et fasciculi datorum veteres primum ad destinatum hospitem pervenire possunt propter congestionem retiariam aliasque causas. Ad hoc vitandum, TCP coniunctionem tripartitam ad nexum constituendum utitur.
Cum cliens plures fasciculos SYN ad nexum constituendum ordine mittit, in condicionibus ut congestione retiaria, haec accidere possunt:
1- Veteres fasciculi SYN ad servitorem perveniunt ante recentissimos fasciculos SYN.
2- Servus fasciculum SYN + ACK clienti respondebit postquam vetus fasciculum SYN accepit.
3- Cum cliens fasciculum SYN + ACK accipit, determinat nexum esse historicum (numero sequentiae exspirato vel tempore definito) secundum proprium contextum, deinde fasciculum RST ad servitorem mittit ut nexum interrumpat.
Cum nexu duarum manuum iuncturarum, nulla via est ad determinandum utrum nexus praesens historicus sit. Trium manus iunctura clienti permittit determinare utrum nexus praesens historicus sit, fretus contextu, cum paratus est tertium fasciculum mittere:
1- Si nexus historicus est (numerus sequentiae exspiratus vel tempus praefinitum), fasciculus a tertia conventione missus est fasciculus RST ad nexum historicum interrumpendum.
2- Si non est nexus historicus, fasciculus tertio missus est fasciculus ACK, et duae partes communicantes nexum feliciter constituunt.
Ergo, causa principalis cur TCP translationem trium viarum utitur est quod nexum initiat ad nexus historicos vitandos.
Ratio II: Ad synchronizandos numeros initiales seriei utriusque partis
Utraque pars protocolli TCP numerum sequentiae servare debet, quod factor clavis est ad transmissionem certam curandam. Numeri sequentiae munus magnum in nexibus TCP agunt. Haec faciunt:
Acceptor potest data duplicata eliminare et accuratiam datorum curare.
Receptor fasciculos ordine numeri sequentiae accipere potest ut integritas datorum confirmetur.
● Numerus sequentiae fasciculum datorum ab altera parte acceptum identificare potest, transmissionem datorum fidam efficiens.
Ergo, post nexum TCP constitutum, cliens fasciculos SYN cum numero sequentiae initiali mittit et a servo fasciculo ACK respondendum postulat, qui receptionem prosperam fasciculi SYN clientis indicat. Deinde, servus fasciculum SYN cum numero sequentiae initiali ad clientem mittit et clientem semel et pro omnibus responsum exspectat, ut numeri sequentiae initiales certo modo synchronizati sint.
Quamquam coniunctio manus quadripartita etiam fieri potest ut numeros initiales seriei utriusque partis certo synchronizentur, gradus secundus et tertius in unum gradum coniungi possunt, ita ut coniunctio manus tripartita fiat. Attamen, duae coniunctiones manus tantummodo spondere possunt numerum initialem seriei unius partis ab altera parte feliciter acceptum esse, sed nulla est garantia numerum initialem seriei utriusque partis confirmari posse. Ergo, coniunctio manus tripartita optima electio est ad stabilitatem et fidem nexuum TCP confirmandam.
Ratio III: Vitanda est dissipatio opum
Si tantum "duae manus-coniunctiones" sunt, cum petitio SYN clientis in reti obstructa est, cliens fasciculum ACK a servo missum accipere non potest, ergo SYN iterum mittetur. Attamen, cum tertia manus-coniunctio non sit, servus determinare non potest utrum cliens agnitionem ACK acceperit ad nexum constituendum. Ergo, servus nexum tantum proactive constituere potest post singulas petitiones SYN acceptas. Hoc ad haec ducit:
Iactura opum: Si petitio SYN clientis obstruitur, quod fit ut repetita transmissio plurium fasciculorum SYN fiat, minister plures nexus redundantes et invalidos post receptionem petitionis instituet. Hoc ad inutilem iacturam opum minister ducit.
Retentio nuntiorum: Ob absentiam tertiae conventionis, servus nullum modum sciendi habet utrum cliens recte acceperit agnitionem ACK ad nexum constituendum. Quam ob rem, si nuntii in reti haerent, cliens petitiones SYN iterum atque iterum mittet, faciens ut servus perpetuo novas nexus constituat. Hoc congestionem et moram retis augebit et negative afficiet functionem totius retis.
Ergo, ut stabilitas et firmitas nexus retiarii curentur, TCP tripartitam coniunctionem adhibet ad nexum constituendum, ne hae difficultates eveniant.
Summarium
TheIntermediarius Fasciculorum ReticulariumNexus TCP instituitur per tripartitam communicationem. Dum haec communicatio fit, cliens primum fasciculum cum signo SYN ad servitorem mittit, significans se velle connexionem instituere. Postquam petitionem a cliente accepit, servitor fasciculum cum signis SYN et ACK clienti respondet, significans petitionem connexionis acceptam esse, et suum proprium numerum sequentiae initialem mittit. Denique, cliens signo ACK ad servitorem respondet, significans connexionem feliciter institutam esse. Ita, duae partes in statu ESTABLISHED sunt et inter se notitias mittere possunt.
In genere, processus triplex communicationis ad nexum TCP constituendum destinatus est ad stabilitatem et firmitatem nexus curandam, confusionem et iacturam opum per nexus historicos vitandam, et ad efficiendum ut ambae partes data accipere et mittere possint.
Tempus publicationis: VIII Ianuarii, MMXXXV