Idag kommer vi att börja med att fokusera på TCP. Tidigare i kapitlet om skiktning nämnde vi en viktig punkt. I nätverkslagret och nedan handlar det mer om värd för värdanslutningar, vilket innebär att din dator måste veta var en annan dator är för att ansluta till den. Men kommunikation i ett nätverk är ofta interproceskommunikation snarare än intermachine -kommunikation. Därför introducerar TCP -protokoll begreppet port. En port kan ockuperas av endast en process, som ger direkt kommunikation mellan applikationsprocesser som körs på olika värdar.
Transportskiktets uppgift är hur man tillhandahåller direkta kommunikationstjänster mellan applikationsprocesser som körs på olika värdar, så det är också känt som ett slutkant. Transportskiktet döljer nätverkets kärndetaljer, vilket gör att applikationsprocessen kan se som om det finns en logisk kommunikationskanal från slutet till slutet mellan de två transportlagerenheterna.
TCP står för transmissionskontrollprotokoll och är känt som ett anslutningsorienterat protokoll. Detta innebär att innan en applikation kan börja skicka data till den andra måste de två processerna göra en handskakning. Handshake är en logiskt ansluten process som säkerställer tillförlitlig överföring och ordnad mottagning av data. Under handskakningen upprättas en anslutning mellan käll- och destinationsvärdarna genom att utbyta en serie kontrollpaket och komma överens om vissa parametrar och regler för att säkerställa framgångsrik dataöverföring.
Vad är TCP? (MylinkingNätverkskranochNätverkspaketkunde bearbeta både TCP- eller UDP -paket)
TCP (Transmission Control Protocol) är ett anslutningsorienterat, pålitligt, byte-stream-baserat transportlagerkommunikationsprotokoll.
Anslutningsorienterad: Anslutningsorienterad innebär att TCP-kommunikation är en-till-en, det vill säga punkt-till-punkt-till-än-kommunikation, till skillnad från UDP, som kan skicka meddelanden till flera värdar samtidigt, så en-till-många kommunikation kan inte uppnås.
Pålitlig: TCP: s tillförlitlighet säkerställer att paket levereras pålitligt till mottagaren oavsett ändringar i nätverkslänken, vilket gör protokollpaketformatet för TCP mer komplex än UDP.
Byte-stream-baserad: Den byte-stream-baserade karaktären av TCP möjliggör överföring av meddelanden i alla storlekar och garanterar meddelandeorder: Även om det föregående meddelandet inte har tagits emot, och även om de efterföljande byte har tagits emot, kommer TCP inte att leverera dem till applikationslagret för bearbetning och automatiskt släpper duplikat paket.
När värd A och Host B har upprättat en anslutning behöver applikationen endast använda den virtuella kommunikationslinjen för att skicka och ta emot data, vilket säkerställer dataöverföring. TCP -protokollet ansvarar för att kontrollera uppgifter som anslutningsanläggning, frånkoppling och innehav. Det bör noteras att vi här säger att den virtuella linjen bara betyder att upprätta en anslutning, TCP -protokollanslutning indikerar endast att de två sidorna kan starta dataöverföring och för att säkerställa tillförlitligheten för data. Routing- och transportnoderna hanteras av nätverksenheterna; TCP -protokollet handlar inte om dessa detaljer.
En TCP-anslutning är en full duplex-tjänst, vilket innebär att värd A och värd B kan överföra data i båda riktningarna i en TCP-anslutning. Det vill säga data kan överföras mellan värd A och värd B i ett dubbelriktat flöde.
TCP lagrar tillfälligt data i anslutningens skicka buffert. Denna skicka buffert är en av cacharna som är inställda under trevägshandskakningen. Därefter skickar TCP data i Send -cachen till mottagningscachen för destinationsvärdet vid rätt tidpunkt. I praktiken kommer varje kamrat att ha en skicka cache och en mottagningscache, som visas här:
Skicka buffert är ett minnesområde som upprätthålls av TCP -implementeringen på avsändarens sida som används för att tillfälligt lagra data som ska skickas. När trevägshandskakningen utförs för att upprätta en anslutning, ställs in cache upp och används för att lagra data. Skickabufferten justeras dynamiskt enligt nätverkstockning och feedback från mottagaren.
En mottagningsbuffert är ett minnesområde som upprätthålls av TCP -implementeringen på den mottagande sidan som används för att tillfälligt lagra mottagna data. TCP lagrar de mottagna uppgifterna i mottagningscachen och väntar på att den övre ansökan ska läsa den.
Observera att storleken på skicka cache och ta emot cache är begränsad, när cachen är full, kan TCP anta vissa strategier, såsom trängselkontroll, flödeskontroll etc. för att säkerställa tillförlitlig dataöverföring och nätverksstabilitet.
I datornätverk utförs dataöverföring mellan värdar med segment. Så vad är ett paketsegment?
TCP skapar ett TCP -segment, eller paketsegment, genom att dela in den inkommande strömmen i bitar och lägga till TCP -rubriker till varje bit. Varje segment kan endast överföras under en begränsad tid och kan inte överstiga den maximala segmentstorleken (MSS). På väg ner passerar ett paketsegment genom länkskiktet. Länkskiktet har en maximal transmissionsenhet (MTU), som är den maximala paketstorleken som kan passera genom datalänkskiktet. Den maximala transmissionsenheten är vanligtvis relaterad till kommunikationsgränssnittet.
Så vad är skillnaden mellan MSS och MTU?
I datornätverk är den hierarkiska arkitekturen mycket viktig eftersom den tar hänsyn till skillnaderna mellan de olika nivåerna. Varje lager har ett annat namn; I transportlagret kallas data ett segment, och i nätverkslagret kallas data ett IP -paket. Därför kan den maximala transmissionsenheten (MTU) betraktas som den maximala IP -paketstorleken som kan överföras med nätverkslagret, medan den maximala segmentstorleken (MSS) är ett transportlagerkoncept som hänvisar till den maximala mängden data som kan överföras med ett TCP -paket i taget.
Observera att när den maximala segmentstorleken (MSS) är större än den maximala transmissionsenheten (MTU) kommer IP -fragmentering att utföras vid nätverkslagret och TCP kommer inte att dela upp de större data i segment som är lämpliga för MTU -storlek. Det kommer att finnas ett avsnitt om nätverkslagret tillägnad IP -lagret.
TCP -paketsegmentstruktur
Låt oss utforska formatet och innehållet i TCP -rubriker.
Sekvensnummer: Ett slumpmässigt nummer som genereras av datorn när anslutningen är etablerad som dess initiala värde när TCP -anslutningen är etablerad och sekvensnumret skickas till mottagaren via SYN -paketet. Under dataöverföring ökar avsändaren sekvensnumret enligt mängden data som skickas. Mottagaren bedömer ordningen på data enligt det mottagna sekvensnumret. Om uppgifterna hittas i ordning kommer mottagaren att ordna om uppgifterna för att säkerställa beställningen på data.
Erkännande nummer: Detta är ett sekvensnummer som används i TCP för att erkänna mottagandet av data. Det indikerar sekvensnumret för nästa data som avsändaren förväntar sig att ta emot. I en TCP -anslutning bestämmer mottagaren vilka data som har framgångsrikt mottagits baserat på sekvensnumret för det mottagna datapaketet. När mottagaren framgångsrikt tar emot uppgifterna skickar den ett ACK -paket till avsändaren, som innehåller erkännandebekräftelsedumret. Efter att ha mottagit ACK -paketet kan avsändaren bekräfta att uppgifterna innan de erkänner svarnumret har mottagits framgångsrikt.
Kontrollbitarna för ett TCP -segment inkluderar följande:
Ack -bit: När den här biten är 1, betyder det att fältet för bekräftelse av bekräftelse är giltigt. TCP anger att denna bit måste ställas in på 1 förutom Syn -paket när anslutningen ursprungligen är etablerad.
Först: När den här biten är 1 indikerar det att det finns ett undantag i TCP -anslutningen och anslutningen måste tvingas kopplas bort.
Synbit: När den här biten är inställd på 1, betyder det att anslutningen ska fastställas och det initiala värdet på sekvensnumret är inställt i fältet Sekvensnummer.
Finbit: När den här biten är 1, betyder det att inga fler data kommer att skickas i framtiden och anslutningen önskas.
De olika funktionerna och egenskaperna hos TCP förkroppsligas av strukturen för TCP -paketsegment.
Vad är UDP? (Mylinking'sNätverkskranochNätverkspaketkunde bearbeta både TCP- eller UDP -paket)
Användardatagramprotokoll (UDP) är ett anslutningsfritt kommunikationsprotokoll. Jämfört med TCP tillhandahåller UDP inte komplexa kontrollmekanismer. UDP -protokollet gör det möjligt för applikationer att direkt skicka inkapslade IP -paket utan att skapa en anslutning. När utvecklaren väljer att använda UDP istället för TCP, kommunicerar applikationen direkt med IP.
Det fullständiga namnet på UDP -protokollet är användardatagramprotokoll, och dess rubrik är bara åtta byte (64 bitar), vilket är mycket kortfattat. Formatet för UDP -rubriken är som följer:
Destination och källportar: Deras huvudsakliga syfte är att ange vilken process som UDP ska skicka paket.
Paketstorlek: Fältet för paketstorlek har storleken på UDP -rubriken plus storleken på data
Kontrollsumma: Utformad för att säkerställa tillförlitlig leverans av UDP -rubriker och data är kontrollens roll att upptäcka om ett fel eller korruption har inträffat under överföringen av ett UDP -paket för att säkerställa dataens integritet.
Skillnader mellan TCP och UDP i Mylinking'sNätverkskranochNätverkspaketkunde bearbeta både TCP- eller UDP -paket
TCP och UDP är olika i följande aspekter:
Förbindelse: TCP är ett anslutningsorienterat transportprotokoll som kräver att en anslutning ska fastställas innan data kan överföras. UDP, å andra sidan, kräver inte en anslutning och kan överföra data omedelbart.
Serviceobjekt: TCP är en en-till-en tvåpunktstjänst, det vill säga en anslutning har bara två slutpunkter för att kommunicera med varandra. UDP stöder emellertid en-till-en, en-till-många och många-till-många interaktiv kommunikation, som kan kommunicera med flera värdar samtidigt.
Pålitlighet: TCP tillhandahåller tjänsten att leverera data pålitligt, vilket säkerställer att data är felfria, förlustfria, icke-duplikerade och anländer på begäran. UDP gör å andra sidan sin bästa ansträngning och garanterar inte tillförlitlig leverans. UDP kan drabbas av dataförlust och andra situationer under överföringen.
Trängselkontroll, flödeskontroll: TCP har mekanismer för överbelastningskontroll och flödeskontroll, som kan justera dataöverföringshastigheten enligt nätverksförhållandena för att säkerställa säkerheten och stabiliteten för dataöverföring. UDP har inte överbelastningskontroll och flödeskontrollmekanismer, även om nätverket är mycket överbelastat kommer det inte att göra justeringar av UDP -sändningshastigheten.
Rubrik över huvudet: TCP har en lång rubriklängd, vanligtvis 20 byte, som ökar när alternativfält används. UDP har å andra sidan en fast rubrik på endast 8 byte, så UDP har en lägre huvud över huvudet.
TCP- och UDP -applikationsscenarier:
TCP och UDP är två olika transportlagerprotokoll, och de har vissa skillnader i applikationsscenarier.
Eftersom TCP är ett anslutningsorienterat protokoll används det främst i scenarier där tillförlitlig dataleverans krävs. Vissa fall för vanlig användning inkluderar:
FTP -filöverföring: TCP kan se till att filer inte går förlorade och skadade under överföring.
Http/https: TCP säkerställer integriteten och korrektheten i webbinnehållet.
Eftersom UDP är ett anslutningsfritt protokoll ger det inte tillförlitlighetsgaranti, men det har egenskaperna för effektivitet och realtid. UDP är lämplig för följande scenarier:
Lågpaketstrafik, såsom DNS (domännamnsystem): DNS -frågor är vanligtvis korta paket, och UDP kan slutföra dem snabbare.
Multimedia -kommunikation som video och ljud: För multimediaöverföring med höga realtidskrav kan UDP tillhandahålla lägre latens för att säkerställa att data kan överföras i tid.
Sändningskommunikation: UDP stöder en-till-många och många-till-många kommunikation och kan användas för överföring av sändningsmeddelanden.
Sammanfattning
Idag lärde vi oss om TCP. TCP är ett anslutningsorienterat, pålitligt, byte-stream-baserat transportlagerkommunikationsprotokoll. Det säkerställer tillförlitlig överföring och ordnad mottagning av data genom att upprätta anslutning, handskakning och erkännande. TCP -protokollet använder portar för att förverkliga kommunikationen mellan processer och tillhandahåller direkta kommunikationstjänster för applikationsprocesser som körs på olika värdar. TCP-anslutningar är full-duplex, vilket möjliggör samtidiga dubbelriktade dataöverföringar. Däremot är UDP ett anslutningsfritt orienterat kommunikationsprotokoll, som inte ger tillförlitlighetsgarantier och är lämplig för vissa scenarier med höga realtidskrav. TCP och UDP är olika i anslutningsläge, serviceobjekt, tillförlitlighet, trängselkontroll, flödeskontroll och andra aspekter, och deras applikationsscenarier är också olika.
Posttid: dec-03-2024