Die Komplexität des Web-Traffics im Internet Privatdozent Dr.-Ing. Roland Bless Institut für Telematik – Karlsruher Institut für Technologie (KIT) Veranstalter Sponsoren Partner Was läuft technisch ab, wenn eine WebSeite ausgeliefert wird? • Viele verschiedene Protokolle am Datentransport beteiligt HTML/JSON • Inhalte (HTML/JavaScript) • Hypertext Transfer Protocol HTTP DNS • Transmission Control Protocol TCP UDP • Internet Protocol IP IP • Netzzugang, z.B. Ethernet Ethernet Ethernet Außerdem: Namensauflösung (Name IP-Adresse) mittels DNS, UDP, IP Veranstalter Sponsoren Partner 1 Beispiel für Seitenaufruf DNS Server DNS Client/Web-Browser 3.) DNS 1.) DNS www.spiegel.de 2.) HTTP doubleclick.net 4.) HTTP Veranstalter Sponsoren Partner 2 Datentransport im Internet • Zwei vorherrschende Protokolle • UDP – User Datagram Protocol • Unzuverlässig • Einfaches Protokoll, wenig Overhead, schnelle Übermittlung • Haupteinsatzgebiet: Echtzeitkommunikation, z.B. Voice-over-IP oder Online-Spiele • TCP – Transmission Control Protocol • Zuverlässig • Verbindungsorientiert (Phasen: Verbindungsaufbau, Datenübertragung, Verbindungsabbau) • Haupteinsatzgebiet: z.B. Dateitransfer, E-Mail, WWW Veranstalter Sponsoren Partner 3 Transportprotokoll TCP • Zuverlässiger Datentransportdienst • Daten sind korrekt und vollständig, reihenfolgetreu, ohne Duplikate und Phantomdateneinheiten • Sequenznummern, Quittungen und Übertragungswiederholung • Verbindungsaufbau: 3-Wege-Handshake • Flusskontrolle: verhindert Empfängerüberlastung • Staukontrolle: verhindert Netzüberlastung • Aber: Auslieferung zur Anwendung bzw. Verarbeitung durch Anwendung nicht garantiert Veranstalter Sponsoren Partner 4 Transportprotokoll im Weg-Zeit-Diagramm Verbin- Datenübertragung Verbindungsdungsaufbau abbau Client/Web-Browser Web-Server SYN SYN,ACK ACK Daten (HTTP GET) Daten,ACK (200 OK) ACK Veranstalter FIN FIN,ACK Sponsoren Partner 5 Das Internetprotokoll IP • Internet: Paket-Vermittlung • Datenstrom wird in mehreren Paketen übermittelt • Wegewahl (Routing) • Konkurrierende Nutzung der Ressourcen Sendender Web-Server Client/Web-Browser Dateneinheiten Veranstalter Zwischensystem (Router) Sponsoren Partner 6 Stau im Internet? Zwischensystem „Router“ 100 Mbit/s • Einfaches Routermodell 100 Mbit/s für paketbasierte Netze: • Puffer 100 Mbit/s 100 Mbit/s • zwecks Anpassung an Puffer in verschiedene Bandbreiten Ausgangsschnittstelle • mildert durch „Bursts″ verursachten Paketverlust • Verursacht zusätzliche Verzögerung • Paketverlust tritt auf, wenn Puffer voll (Tail-Drop) • Staukontrolle durch TCP, sonst: Staukollaps Veranstalter Sponsoren Partner 7 Stauprobleme im Internet – Bufferbloat • Latenz wichtig für viele Anwendungen • insbes. interaktive wie VoIP, Online-Spiele • Web-Seiten • Problem: viele Puffer im Datenpfad, vor allem in Zwischensystemen • Unter Volllast sehr hohe Verzögerungen (mehrere Sekunden) möglich • Staukontrolle funktioniert nicht mehr sinnvoll! • Abhilfe: derzeit in Entwicklung • Erhöhung des initialen TCP-Staukontrollfensters ungünstig Veranstalter Sponsoren Partner 8 Merkmale des Internet-Protokolls • Globale Adressierung • Kopplung von Netzen • Einfachheit • „dummes Netz″ – intelligente Endsysteme • Zustandslos • Unzuverlässiger Datentransport, „Best-Effort″-Dienst • Robustheit Veranstalter Sponsoren Partner Vielzahl von Anwendungen IP Unterschiedliche Netztechnologien 9 Außerdem: Komplexität in der Kontrollebene Kontrollprotokolle machen inzwischen einen Großteil der Gesamtkomplexität im Internet aus Datenebene Kontrollebene NAT Support Multimedia ICE Anwendung Transport HTTP SMTP POP3 IMAP LDAP NTP Telnet FTP IRC XMPP RPC RTP SRTP BEEP TURN DNS UDP DCCP SCTP HIP IPv4/IPv6 Netzwerk Netz- 802.3 zugriff 802.11 Veranstalter 802.16 TLS EAP PPP ISDN Multicast RTCP RTSP PIM-SM PIM-DM MBGP MIP Mobilität HMIP FMIP 802.1x Sponsoren MLD Netzmanagement DVMRP IGMP SNMP NetConf IPFIX Radius Diameter EAP Ressourcensteuerung DTLS IP Support IPSec MPLS SDP STUN IKE TCP SIP ICMP DHCP ARP BOOTP NAT-FW NSLP Routing BGP OSPF IS-IS RIP GRE E-IGRP AODV OLSR NHRPP COPS RSVP MPLS-Steuerung RSVP-TE Partner QoS NSLP LDP 10 Web MashUp • Viele Verbindungen zu verschiedenen WebServern für Auslieferung einer Web-Seite notwendig • Entsprechend viele DNS-Anfragen • Mehrere TCP-Verbindungen jeweils Verbindungsauf-/abbau! • Latenz erhöht sich! Veranstalter Sponsoren Partner 11 Beispiel spiegel-online.de • • • • Anschluss 1Gbit/s mit 10Gbit/s Uplink Firefox/Linux Leerer Browser-Cache Nicht-repräsentative Beispielmessung: Mit Werbung Web-Sites HTTP Requests TCPVerbindungen Dauer Datentransport 23 163 97 3.32s 104 (64%) 46 (47%) 2.24 (67%) Ohne Werbung 7 (30%) Veranstalter Sponsoren Partner 12 Weitere „Komplikationen″ • Middleboxes (NAT Gateways, Web-Caches, Firewalls, Load-Balancer, Intrusion Detection Systems) • Ad-Blocker • Zählpixel-Blocker (z.B. Ghostery) • Script-Blocker (NoScript) Veranstalter Sponsoren Partner 13 Zusammenfassung • Auslieferung von Web-Seiteninhalten ist komplex! • Viele mögliche Fehlerquellen • Viele Verbindungen verschärfen Stauprobleme • Weniger ist mehr! • Weniger TCP-Verbindungen • Weniger DNS-Anfragen Schnellere Auslieferung Veranstalter Sponsoren Partner 14