UDP Pålitlig byteström TCP

Slides:



Advertisements
Liknande presentationer
NÄTVERKSPROTOKOLL Föreläsning
Advertisements

Flexicon – Din systempartner
Connecting To The Internet (Internetanslutningar)
En introduktion till ’Hård Infrastruktur’
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Lektion 6 Mahmud Al Hakim
Nätverk och Java, grunder Föreläsning 0: Introduktion till Internet
Varför protokoll? När datorer ska kommunicera uppstår en rad liknande frågeställningar för att de ska kunna förstå varandra. Eftersom datorer dessutom.
Datornätverk A – lektion 2
Nätverk och Java, grunder Föreläsning 6
Connecting to the Network
Network Addressing (Nätverksadressering)
Connecting To The Network (Nätverksanslutningar) Communicating On A LAN (Kommunikation i ett LAN)
Nätverkskommunikation
Next previous Innehåll Inledning Några enkla exempel Pekare till och kort beskrivning av större exempel Speciella referenser (som används i marginalen)
Distribuerade system & Realtids system Erik Löthman Henrik Jacobsson Johan Byggnings Kristoffer Hellstrand Rohith Menon.
Introduktion till IT och e-Tjänster Delkurs 3 1 Datorer i Nätverk En introduktion till ’Hård Infrastruktur’ DEL 2.
Introduktion till IT och e-Tjänster Delkurs 3 1 Datorer i Nätverk En introduktion till ’Hård Infrastruktur’ DEL 6.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Java Nätverks API URL sockets.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Datornätverk A, 7,5 hp Kurspresentation
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 7 ( ) Innehåll: -Datakanaler och datakanalpar -Kommunikation på samma dator med datakanaler.
1 1 Musikprogrammering och mobil ljuddesign Föreläsning 4 Kommunikation över nätverk – UDP och MaxMSP.
NÄTVERKSPROTOKOLL Föreläsning
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
Lektion 3 Mahmud Al Hakim
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 4 ( ) Innehåll: -Programmerade rörledningar -Namngivna rörledningar.
Maria Kihl och Jens A Andersson Kapitel 5: Transportprotokoll.
MonNet, exempel på mätningar på Sunet Sven Tafvelin Wolfgang John.
Datornätverk A – lektion 2  Fortsättning: Kapitel 2, TCP/IP- modellens 5 nivåer.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Addressing Networking for Home and Small Businesses – Chapter.
IT för personligt arbete F9 Datalogi, en sammanfattning DSV Peter Mozelius.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
LUNET: MLS och speglade paket vers 1.0
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 6: Process- synkronisering.
William Sandqvist Databuffer Omvandlar mellan olika storlekar på dataobjekt Anpassar mellan olika dataöverföringshastigheter Databuffer.
6558/G558 DATAKOMMUNIKATION Kapitel 3: Nätverk, ruttning.
6558/G558 DATAKOMMUNIKATION Ruttning. Algoritmer –hur bygger man ruttningstabeller? –Distansvektoralgoritmen –Länktillståndsalgoritmen Skalning.
Maria Kihl och Jens A Andersson Kapitel 4: Internet Protocol (IP)
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Network Services Networking for Home and Small Businesses – Chapter.
6558/G558 DATAKOMMUNIKATION Kapitel 4: Internät.
Lektion 4 Mahmud Al Hakim
Trådlösa Nätverk Caffe Latte Man-in-the-middle Denial of Service.
Network Services (Nätverkstjänster) Client/Servers And Their Interaction (Client/Server och deras interaktion)
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Multimedie- och kommunikations- system, lektion 1 Föreläsningsmaterialet är författat av Magnus Eriksson och Iskra Popova. Bilder är även hämtade från.
HOST IDENTITY PROTOCOL - EN KANDIDAT FÖR FRAMTIDENS INTERNET PROTOKOLL Jonny Mattsson IT 4.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - DHCP (Dynamic Host Configuration Protocol)‏
6558/G558 DATAKOMMUNIKATION Jan Westerholm hösten 2005 / andra perioden.
1 Sockets Traditionellt har UNIX varit svag på IPC, InterProcess Communication. I augusti 1983 kom en ny IPC-mekanism i 4.2BSD som var enkel om konsistent.
Windows Server Agenda Hanterbarhet  Server Manager  Powershell Säkerhet  Server Core  Brandväggen och Ipsec Prestandaförbättringar  Virtualisering.
NÄTVERKSPROTOKOLL Föreläsning
Repetition Datakommunikation I.
OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 10 – Vecka INNEHÅLL  Säkra nätverksförbindelser  SSH (Secure Shell)  SSL (Secure Sockets Layer)
Maria Kihl och Jens A Andersson Kapitel 8: Säker datakommunikation.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - Routingprotokoll - Interior gateway protocols - Exterior gateway protocols - Link state routing.
Nätverk.
Nätverksteknik A - Introduktion till Nätverk
Daniel Stenberg Mer data på kortare tid, tack!. Daniel Stenberg 2 31:a maj 2010 Daniel Stenberg Haxx och Fossgruppen curl libssh2 IETF
Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering.
Nätverk – optisk fiber Störningsfri Avlyssningssäker Snabb överföring Klarar långa avstånd Dyr Ömtålig.
OPC lösningar Softing har även produkter för OPC:
Internet Historia: 1964 Kommunikationsystem för försvaret (USA)
Kapitel 2 forts – Nätverksmodeller Kapitel 1 - Introduktion
Nätverkskommunikation
Presentationens avskrift:

UDP Pålitlig byteström TCP 6558/G558 DATAKOMMUNIKATION UDP Pålitlig byteström TCP

End-to-End protokoll Underliggande best-effort nätverk paket försvinner data kommer fram i oordning data kommer fram i duplikat paketen har ändlig storlek nätverken kan fördröja vidarebefordringen nästan godtyckligt länge Krav i sista hand leveransgaranti av data datat kommer fram ungefär i önskad ordning precis ett exemplar av datat kommer fram stöd för godtyckligt stora datamängder stöd för synkronisering tillåt mottagaren att reglera sändaren dataflöde stöd flera applikationer samtidigt på varje nod

User Datagram Protocol UDP Enkel demultiplexing Opålitlig och oordnad datagramservice Har inbyggd multiplexering Ingen flödeskontroll Mottagarapplikationer identifierade via portar servrar har kända portnummer listas i /etc/services Headerformat Frivillig checksum: UDP header + data + pseudoheader (IP-headerns protokollnr, source-IP, destination-IP, UDP length)

Pålitlig byteström Innehåll Upprätta koppling / avsluta koppling Sliding window Flödeskontroll Adaptiv time-out

User Datagram Protocol UDP

Transmission Control Protocol TCP Kopplingsorienterad Byteström applikationer sänder bytes TCP skickar segment applikationer läser bytes Full duplex Flödeskontroll: mottagaren hindrar sändaren från att överbelasta mottagaren Rusningskontroll: hindrar sändaren från att fylla nätverket

TCP byteström Application process Write bytes TCP Send buffer Segment Transmit segments Read Receive buffer ■ ■ ■

Datalänk vs Transport Många värdar är samtidigt kopplade koppla upp och riva ner förbindelsen Varierande RTT adaptiv time-out Långa förseningar i nätverket Beredskap att få in mycket sena paket Sändare/mottagare har olika kapaciteter möjlighet att adaptera sändningshastigheten Nätverket är kapacitetsmässigt inhomogent beredskap för kongestion

TCP segmentformat

TCP segmentformat SrcPort, DstPort multiplexerindex (SrcPort,SrcIpAddr,DestPort,DestIpAddr) SequenceNum, Acknowledgement, AdvertisedWindow Sliding window, flow control HdrLen 32 bit words Flags SYN, FIN, RESET, PUSH, URG, ACK Checksum TCP header + data + pseudoheader (SrcIpAddr, DestIPAddr, IP length) UrgPtr Data från början till UrgPtr är av typ URG

TCP uppkoppling Active participant (client) (server) SYN, SequenceNum = x ACK, Acknowledgment =y+1 Acknowledgment =x+1 SYN+ACK, SequenceNum=y,

TCP dataöverföring

TCP tillståndsdiagram

TCP Sliding window protokollet

TCP Sliding window protokollet Sändaren LastByteAcked <= LastByteSent LastByteSent <= LastByteWritten buffra bytes mellan LastByteAcked och LastByteWritten Mottagaren LastByteRead < NextByteExpected NextByteExpected <= LastByteRcvd +1 buffra bytes mellan LastByteRead and LastByteRcvd

Flödeskontroll Sändarens bufferstorlek: MaxSendBuffer Mottagarens bufferstorlek: MaxRcvBuffer Mottagaren: AdvertisedWindow = MaxRcvBuffer –(NextByteExpected- NextByteRead) Sändaren: blockera protokollet ovanför transportnivån om (LastByteWritten-LastByteAcked) > MaxSendBuffer Kvittera allt inkommande data (skicka Ack) Var ihärdig då AdvertisedWindow = 0

Silly Window Syndrome Hur aggressivt skall sändaren skicka halvfulla segment eftersträva segment med data av storleken Maximum Segment Size MSS = MTU – IPheader-TCPHeader Sändaren kan styra Efter att ha meddelat AdvertizedWindow=0 vänta tills det finns utrymme för MSS panta med kvitteringarna Sender Receiver

Nagles’ algoritm Hur länge väntar sändaren med att sända data? för länge: interaktiva applikationer lider för kort: nätverket fylls av små segment strategier: sändarens klocka triggar eller mottagen ACK triggar När data kommer från högre nivå if ( mängden data >= MSS och de annonserade fönstren tillåter) then skicka else if (det finns okvitterat data i buffern) then vänta else skicka datat

TCP: adaptiv retransmission Uppmät SampleRTT för varje segment / ACK par Beräkna det vägda medeltalet av RTT EstRTT = a x EstRTT + b x SampleRTT a + b = 1 a mellan 0,8 och 0,9 b mellan 0,1 och 0,2 Sätt TimeOut på basen av EstRTT TimeOut = 2 x EstRTT

Karn/Partridge algoritm Mät inte RTT vid retransmission Dubblera timeout efter varje retransmission

Jacobson/Karels’ algoritm Ett annat sätt att beräkna medeltal för RTT som beaktar fluktuationer Diff = SampleRTT – EstRTT EstRtt = EstRtt + (d x Diff) Dev = Dev + d x ( |Diff| - Dev ) här är d mellan 0 och 1 Timeouten påverkas av variansen TimeOut = m x EstRTT + f x Dev där m = 1 och f = 4 Obs! algortimen beror på klockans granularitet (t.ex. 500 ms) noggranna timeout-mekanismer viktiga i samband med kongestionskontroll

Övning 5, exempel 1