Daniel Stenberg Mer data på kortare tid, tack!. Daniel Stenberg 2 31:a maj 2010 Daniel Stenberg Haxx och Fossgruppen curl libssh2 IETF

Slides:



Advertisements
Liknande presentationer
Kampanjuppföljning Hur den senaste kupongkampanjen gick totalt sett vet du säkert. Men hur gick den i exempelvis Skåne jämfört med i Göteborg? Var resultatet.
Advertisements

Tomas Sandström, Adtollo
E-post i mobilen -Ett sätt att öka tekno-stressen, eller en lysande effektivitetshöjare?
© 2012 Om bildspelet Detta bildspel är tänkt som ett bibliotek att plocka bilder ur. Det är viktigt att du målgruppsanpassar bilderna och talarmanus innan.
Välkommen till internet för nybörjare
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
system för handläggarstöd
Att söka och förvalta kunskap
Sopranen © 2007 Mats Hutter Delmoment Allmän IT i Datagrund DAA 1201.
Hardware OS Data, User settings Applications IT utmaningar Beroenden mellan PC komponenter hämmar flexibiliteten Vad förändras Beroenden bryts med hjälp.
Flexicon – Din systempartner
En introduktion till ’Hård Infrastruktur’
Maria Kihl och Jens A Andersson Kapitel 9: Applikationer.
Lektion 6 Mahmud Al Hakim
Mjukvara och nätverk Vad är det?.
Historien om Internet Inledning • Hur kom Internet till? • Vilka tekniska framsteg möjliggjorde skapandet?
Internet Explorer Browser - läsare
Daniel Stenberg, Contactor Data AB 2 Oktober, 2000
Programmering B PHP Lektion 4
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
1 ITK:P2 F9 HTTP, Java servlets och Apache Tomcat DSV Peter Mozelius.
receptbok coriq Allt du behöver för att lyckas
Nätverkskommunikation
NETinfo 2009–10-09 Magnus Persson Epost: Telefon: 046 –
Distribuerade filsystem
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Stora IT-dagen E-post Nytt e-postsystem för LU-anställda.
Programmering B PHP Lektion 5 och 6
1 1 Musikprogrammering och mobil ljuddesign Föreläsning 4 Kommunikation över nätverk – UDP och MaxMSP.
NÄTVERKSPROTOKOLL Föreläsning
NÄTVERKSPROTOKOLL Föreläsning
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
Maria Kihl och Jens A Andersson Kapitel 5: Transportprotokoll.
A Beginner's Guide to SharePoint 2013 REST API [Rest/Odata/Json]
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.
UDP Pålitlig byteström TCP
Nyttan med en säker meddelande- och kommunikationsplattform Lasse Pettersson, Humandata.
Trådlösa Nätverk Caffe Latte Man-in-the-middle Denial of Service.
Datorer och privat säkerhet (privacy). Innehåll Handel på internet Risker som en användare utsätt för på internet Hur man skyddar sig från attacker Hur.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
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:
1.1. TechNet Security Summit 2004 Security Framework ”Introduktion av ”Security in Depth” Marcus Murray.
HOST IDENTITY PROTOCOL - EN KANDIDAT FÖR FRAMTIDENS INTERNET PROTOKOLL Jonny Mattsson IT 4.
© Anders Ingeborn 2000 ”Utblick verkligheten” Gästföreläsning Kryptografins grunder KTH 2000.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - DHCP (Dynamic Host Configuration Protocol)‏
6558/G558 DATAKOMMUNIKATION Jan Westerholm hösten 2005 / andra perioden.
Windows Server Agenda Hanterbarhet  Server Manager  Powershell Säkerhet  Server Core  Brandväggen och Ipsec Prestandaförbättringar  Virtualisering.
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)
PVT Forskning och CDH Dr Peter Parnes /16 Dr. Peter Parnes, LTU Dr. Peter Parnes Ledare av forskningsgruppen för distribuerade realtidssystem.
Nätverk.
SMART – Stability Metrics for Ad hoc Routing. Presentera för vilka vi gjort jobbet för, handledare osv.
Produkter och skillnader - Vilka kan ersätta vilka och vad skiljer Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla.
SQUID och andra cachelösningar Henrik Nordström, | OPTIMERA STHLM! | Henrik Nordström
Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering.
✔ Webbprestanda? ✔ Tips! ✔ Serversidan ✔ Klientsidan ✔ Båda sidor ✔ Verktyg Fredrik Wendt jsolutions.se.
Introduktion till SAML federation Varför använda SAML federation för elektronisk legitimering och underskrift Stefan Santesson Martin Lindström.
Nätverk – optisk fiber Störningsfri Avlyssningssäker Snabb överföring Klarar långa avstånd Dyr Ömtålig.
Datorer och nätverk.
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
Säkerhet i en digitaliserad värld
Kommunikationsstandarder för e-handel
Datorer och nätverk.
Presentationens avskrift:

Daniel Stenberg Mer data på kortare tid, tack!

Daniel Stenberg 2 31:a maj 2010 Daniel Stenberg Haxx och Fossgruppen curl libssh2 IETF

Daniel Stenberg 3 31:a maj 2010 Agenda Transport Framtid API

Daniel Stenberg 4 31:a maj 2010 Protokoll-lager Link Internet Transport Application Innehåll som HTML och annat

Daniel Stenberg 5 31:a maj 2010 Link- och Internet-lagren Bild från 50 % mer bandbredd varje år

Daniel Stenberg 6 31:a maj 2010 Link och Internet, RTT ● RTT, Round Trip (delay) Time står still eller backar ● Genomsnitt till Google inom USA: 90 ms, i världen 100 ms ● Telefoner GSM/3G upp till 6000 ms ● DSL: ms ● Kabel: 60 ms ● Uppringt modem: ms ● (MTUs...)

Daniel Stenberg 7 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 8 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 9 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 10 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 11 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 12 31:a maj 2010 TCP Transport: fördröjningar ● DNS resolveUndvik, cacha ● Handshake – 3 wayPool, återanvänd ● Nagle – vänta för att fylla på mer Kan stängas av ● Slow startVar medveten ● Delayed ACKsNär 2 är bättre än 1 Att optimera för mindre fördröjningar och kortare RTT kan leda till sämre throughput och bandbredd

Daniel Stenberg 13 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 14 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 15 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 16 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 17 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 18 31:a maj 2010 HTTP ● Ovanpå TCP så... ● Request size, pratigt protokoll ● Cookie sizes, cookies skickas alltid om de matchar ● Cache friendliness, skicka inte mer HTTP än nödvändigt ● Pipelining, besegra RTT men... ● Compression

Daniel Stenberg 19 31:a maj 2010 HTTP i webbläsare ● Många koppel. Var 2. Numera 6 eller 8. Snart... ● Ingen Pipelining ● AJAX ● “long polling”

Daniel Stenberg 20 31:a maj 2010 HTTP i handhållet ● Wifi ● GSM/3g ● High latency, low bandwidth

Daniel Stenberg 21 31:a maj 2010 API ● Hur man gör saker har betydelse

Daniel Stenberg 22 31:a maj 2010 Typisk TCP-klient Så länge klienten lever { vänta på socket-händelse Kolla vilken socket som det hände på Hantera socketen } Traditionellt med select() eller poll()

Daniel Stenberg 23 31:a maj koppel ändrar reglerna ● select och poll blir exponentiellt sämre med antalet koppel

Daniel Stenberg 24 31:a maj 2010 event-based ● Agera vid händelse på socketen det händer på ● Inte leta, veta Bild från Bild från

Daniel Stenberg 25 31:a maj 2010 event-klient Function call_on_event { Hantera trafik på socketen } event_wait( &call_on_event) Libevent, libev, epoll, kqueue,

Daniel Stenberg 26 31:a maj 2010 Exempel ● libcurl... ● är open source ● leds av Daniel ● kan FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3 och RTSP just nu ● det främsta dataöverförings-libraryt helt enkelt

Daniel Stenberg 27 31:a maj 2010 libcurl ● DNS cache ● Återanvänder TCP-koppel ● API: select-stil ● API: event-stil, upp tille mycket snabbare ● C10K, upp till C70K

Daniel Stenberg 28 31:a maj 2010 Framtiden ● WebSockets ● SPDY ● SCTP ● MPTCP ●...

Daniel Stenberg 29 31:a maj 2010 Framtid 1: WebSockets ● WHATWG startade ● IETF hybi working group ● Browser till server ● Lösning på HTTP long-polling problemet ● TCP-replacement över TCP ● Javascript-centric (kan inte skicka binärt!) ● HTTP upgrade ● Debatteras ivrigt just nu

Daniel Stenberg 30 31:a maj 2010 Framtid 2: SPDY ● Google ● HTTP replacement ● Multiplexade strömmar över ett koppel ● Pririterade strömmar ● Server-initierade strömmar ● Chrome har implementation ● Experiementellt

Daniel Stenberg 31 31:a maj 2010 Framtid 3: SCTP ● IETF (RFC 4960, 2007) ● Ersätter TCP som transport ● Meddelanden, inte byte-strömmar ● Flera samtidiga logiska meddelande-strömmar ● HTTP över SCTP ● Över UDP? ● Sannolikhet oklar

Daniel Stenberg 32 31:a maj 2010 Framtid 4: MPTCP ● Multi-Path TCP ● IETF ● Flera vägar mellan source och destination ● Kompatibelt API för applikationer ● “Snällt mot nätet” ● Som gjort för saker med flera interface ● Sannolikhet: trolig

Daniel Stenberg 33 31:a maj 2010 MPTCP

Daniel Stenberg 34 31:a maj 2010 MPTCP ett koppel

Daniel Stenberg 35 31:a maj 2010 MPTCP två koppel

Daniel Stenberg 36 31:a maj 2010 Summering ● RTT står still fast bandbredd ökar ● TCP har fördröjningar ● HTTP kör på TCP ● Använd rätt API:er ● WebSockets, SPDY, SCTP och MPTCP