Sören Schwertfeger
Outline Internet History of the Internet Internet Structure Internet Protocols Network layer details 1. Physical Layer 2. Data Link Layer 3. Network Layer
Internet: Huge network of networks Billions of hosts (computers)
Internet History Internet is a network of interconnected computers that is now global Internet born in 1969 - called ARPANET 1969 ARPANET was connection of computers at UCLA, Stanford, UCSB, Univ. of Utah All large mainframe computers in late 60s Mid 1970s initial personal computers Altair: Box with blinking lights Late 1970s Apple 2, first usable PC
WWW 1991 - Tim Berners-Lee releases World Wide Web! TBL is computer programmer at CERN, a physics lab in Europe 1993 - Mosaic (becomes Netscape) designed by graduate students at University of Illinois first point-and-click browser later developed into Netscape Navigator These are the two most significant events in the formation of the WWW
Growth exponential
Elements of the Internet Millions of connected computing devices (hosts): PC, Server, Laptops, Smartphones, Things (IoT) (cars, watches, refrigerator) Communication links: Optical fiber, copper, radio, satellite Packet Switches Routers & switches
Internet Structure Network Edge: End systems with hosts & access networks Access Network: Connect end systems to edge routers Network Core: Interconnected routers Network of networks
Enterprise Access Network (Ethernet) Typically used in companies, universities, etc.
Wireless Access Network Wireless LAN Within building (20 meters) 802.11 a, b, g, n (11-600 Mbps) Wide-area wireless access Provided by telecom companies 10 s of km Between 1 and 100 (1000) Mbps 3G, 4G (LTE)
Home Access Network
Network Core Mesh of interconnected routers Packet Switching: Hosts break messages into packets Forward packets from one router to the next Across links on a path from source to destination
Protocols: Laws of Networks
Protocols: Laws of Networks Protocols define format, order of messages sent and received among network entities, and actions taken on message transmission & receipt All communication activity in Internet governed by protocols Examples: TCP, UDP, IP, BGP, HTTP, 802.1
The Big Question Networks are complex, with many pieces : hosts routers links of various media applications protocols hardware software Question: How to organize the structure of the network?
The Problem Do we re-implement every application for every technology? Obviously not, but how does the Internet architecture avoid this?
Architecture Architecture is not the implementation itself Architecture is how to organize implementations what interfaces are supported where functionality is implemented Architecture is the modular design of the network
Layering Layering is a particular form of modularization The system is broken into a vertical hierarchy of logically distinct entities (layers) The service provided by one layer is based solely on the service provided by layer below Rigid structure: easy reuse, performance may suffers
Computer Models OSI 7-layer model Simplified 4/5-layer model 7 6 5 4 3 2 1 Application Presentation Session Transport Network Data Physical Application Transport Network Data Physical Application: supporting network applications FTP, SMTP, HTTP Transport: process-process data transfer TCP, UDP Network: routing of datagrams from source to destination IP, routing protocols Data: data transfer between neighboring network elements Ethernet, 802.11(WiFi) Physical: bits on the wire OSI (Open Systems Interconnection) mnemonic: All People Seem To Need Data Processing. 20
Encapsulation
Layering Solves Problem Application layer doesn t know about anything below the presentation (or transport) layer, etc. Information about network is hidden from higher layers This ensures that we only need to implement an application once!
Physical Layer (Layer 1) Medium: Cat 5 (or Cat 5e or Cat6) twisted pair copper wire microwave (wireless) Fiber Other: coaxial copper, Cable Modem, plain phone (DSL), microwaves (wireless Ethernet), etc. Physical transportation of bits: Modulation and Demodulation of physical signal (=> MoDem) 802.11 a, b, g, n TDM/ FDM 23
Data Layer (Layer 2) Sending and receiving of data packets (frames) between hosts using the same physical connection Detect (and maybe correct) errors Often divided into Media Access Control (MAC) and Logical Link Control (LLC) Examples: Ethernet, IEEE 802.11, PPP, I2C, 24
Data Layer: Ethernet CSMA/CD: Carrier Sense, Multiple Access, Collision Detect. Since Ethernet was designed for shared media (2 or more users) listen to see if anyone else is talking before starting to talk (Carrier Sense) Collision Detect: Detect if anybody else is speaking at the same time => both stop and repeat after random time Ethernet: 10Mbit (10 million bits per second) Fast Ethernet:, is 100Mbit Gigabit Ethernet 1000Mbit High-end consumers: 10Gbit 25
Ethernet: Addressing Users need unique address => Media Access Control (or MAC) address (Ethernet address, physical address, adaptor address, hardware address) 12-digit (48 bit) hexadecimal address unique to that Ethernet adaptor, e.g. 00:30:65:83:fc:0a or 0030.6583.fc0a or 003065:83fc0a or 00-30-65-83-fc-0a First 6 digits are the Vendor code, (003065 belongs to Apple), the last 6 are the individual inteface s own. See http://coffer.com/mac_find/ to look up some vendor codes For most network cards the MAC address can be set to anything you wish! 26
Network Layer (Layer 3) Main point: packet forwarding: routing! Packages can be passed from one local network to another. Through a router which is connected to more than one network. Packages are encapsulated inside layer 2 frames. Network Layer Protocol: IP (Internet Protocol) 27
Network Layer: IP IPv4: 32bit addresses (4 byte) Broadcast: 255.255.255.255 Loopback: 127.0.0.1 Private networks: 10.0.0.0 192.168.0.0 Link-local: 169.254.0.0 About 4 billion addresses IPv6: 128bit addresses (16 byte) 3.4 10 38 addresses! Other improved features (security, multi-casting, ) Divided into network address and host identifier: E.g.: 192.168.100.0/22 has 1024 IP4 adresses (32-22 = 10 => 2^10 = 1024) between 192.168.100.0 and 192.168.103.255 28
Routing
IP routing
Exterior Gateway Protocol (EGP): Border Gateway Protocol (BGP) A mechanism that allows routers to learn routes from other routers so that they can choose optimal backbone routes A mechanism for routers to inform other routers about hidden networks (internal routes) Autonomous System (AS) has the responsibility of advertising reachability info to other ASs. Each AS has one or more (typically very big) network (IP address range) One+ routers may be designated per AS. Important that reachability info propagates to core routers More than 50,000 AS in the Internet
Purpose of EGP you can reach net A via me AS2 AS1 traffic to A R1 EGP R2 A R3 Share connectivity information across AS table at R1: dest next hop A R2 R border router internal router
Today s Big Picture Large ISP Large ISP Stub Dial-Up ISP Small ISP Access Network Stub Stub Large number of diverse networks
Customer-Provider Hierarchy provider customer IP traffic
The Peering Relationship Peers provide transit between their respective customers peer provider peer customer traffic allowed traffic NOT allowed Peers do not provide transit between peers Peers (often) do not exchange $$$
Internet providers About 15 Tier 1 Networks, e.g.: Level 3 AT&T Deutsche Telekom NTT No Chinese Company
Internet Exchange Point (IXP): DE-CIX Largest exchange point worldwide Peak traffic throughput more than 5 terabits per seconds More than 700 networks connected in 20 data centers in Frankfurt, Germany 80% for the AS are available (through the peers)
Traffic at DE-CIX
IP: Domain Name Resolution (DNS) Translate between IP address and name DNS name: domains separated by. Distributed directory service DNS record not only for IP addresses. Also: mail server, DNS server, 40
TCP/UDP Layer 4 (transport layer) protocols, run over IP TCP and UDP packets are encapsulated into IP packets Use their own control information, stored in packet headers Port numbers (indicate consuming program in the destination host) TCP is connection-oriented, and provides for reliable, order-preserving transmission of data UDP is not connection-oriented, does not guarantee data arrival, or proper ordering of arriving data TCP for: Web browsing Email Chatting UDP for: Video streaming Audio & Video conference (e.g. Facetime)
Protocols: Laws of Networks
Ports 16 bit ports determine type of service e.g.: 22: ssh 25: smtp (sending email) 80 (HTTP world wide web) 110: POP3 (getting email) 143 IMAP (getting email) 443 HTTPS secure HTTP High port numbers for outgoing & other connections
Applications HTTP Demos
HTTP HyperText Transport Protocol Language of the Web protocol used for communication between web browsers and web servers TCP port 80 (443 secure) RFC 2616 (ver 1.1)
HTTP - URLs URL Uniform Resource Locator protocol (http, ftp, news) host name (name.domain name) port (usually 80 but many on 8080) directory path to the resource resource name http://xxx.myplace.com/www/index.html http://xxx.myplace.com:80/cgi-bin/t.exe
HTTP - methods Methods GET retrieve a URL from the server simple page request run a CGI program run a CGI with arguments attached to the URL POST preferred method for forms processing run a CGI program parameterized data in sysin more secure and private
HTTP Request Packets Sent from client to server Consists of HTTP header header is hidden in browser environment contains: content type / mime type content length user agent - browser issuing request content types user agent can handle and a URL
HTTP Response Sent by server to client browser in response to a Request Packet Status Header Entities Content-Encoding: Content-Length: Content-Type: Expires: Last-Modified: extension-header Body content (usually html)
Status Header HTTP/1.0 sp code Codes: 1xx - reserved for future use 2xx - successful, understood and accepted 3xx - further action needed to complete 4xx - bad syntax in client request 5xx - server can t fulfill good request
Status Codes 200 OK 201 created 202 accepted 204 no content 301 moved perm. 302 moved temp 304 not modified 400 bad request 401 unauthorized 403 forbidden 404 not found 500 int. server error 501 not impl. 502 bad gateway 503 svc not avail
Demos