Network Introduction
What’s the Internet: “nuts and bolts” view smartphone PC server wireless laptop billions of connected computing devices: hosts = end systems running network apps mobile network global ISP regional ISP home network institutional communication links fiber, copper, radio, satellite transmission rate: bandwidth wired links wireless packet switches: forward packets (chunks of data) routers and switches router Introduction 2
A closer look at network structure: network edge: hosts: clients and servers servers often in data centers mobile network global ISP regional ISP home network institutional access networks, physical media: wired, wireless communication links network core: interconnected routers network of networks Introduction
Wireless access networks shared wireless access network connects end system to router via base station aka “access point” wide-area wireless access provided by telco (cellular) operator, 10’s km between 1 and 10 Mbps 3G, 4G: LTE wireless LANs: within building (100 ft.) 802.11b/g/n (WiFi): 11, 54, 450 Mbps transmission rate to Internet to Internet Introduction
The network core mesh of interconnected routers packet-switching: hosts break application-layer messages into packets forward packets from one router to the next, across links on path from source to destination each packet transmitted at full link capacity Introduction
Two key network-core functions routing: determines source- destination route taken by packets routing algorithms forwarding: move packets from router’s input to appropriate router output routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 1 1 2 3 0111 destination address in arriving packet’s header Introduction
Internet structure: network of networks End systems connect to Internet via access ISPs (Internet Service Providers) residential, company and university ISPs Access ISPs in turn must be interconnected. so that any two hosts can send packets to each other Resulting network of networks is very complex evolution was driven by economics and national policies Let’s take a stepwise approach to describe current Internet structure Introduction
Internet structure: network of networks Question: given millions of access ISPs, how to connect them together? access net … Introduction
Internet structure: network of networks Option: connect each access ISP to every other access ISP? … … access net access net … access net access net access net access net access net connecting each access ISP to each other directly doesn’t scale: O(N2) connections. … … access net access net access net access net access net access net … access net access net … access net Introduction
Internet structure: network of networks But if one global ISP is viable business, there will be competitors …. which must be interconnected Internet exchange point … … access net access net access net access net access net IXP access net access net ISP A … … IXP ISP B access net access net ISP C access net peering link access net access net access net … access net access net … access net Introduction
Internet structure: network of networks Tier 1 ISP Tier 1 ISP Google IXP IXP IXP Regional ISP Regional ISP access ISP access ISP access ISP access ISP access ISP access ISP access ISP access ISP at center: small # of well-connected large networks “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), national & international coverage content provider network (e.g., Google): private network that connects it data centers to Internet, often bypassing tier-1, regional ISPs Introduction
Protocol “layers” Question: Networks are complex, with many “pieces”: hosts routers links of various media applications protocols hardware, software Question: is there any hope of organizing structure of network? …. or at least our discussion of networks? Introduction
Organization of air travel ticket (purchase) baggage (check) gates (load) runway takeoff airplane routing ticket (complain) baggage (claim) gates (unload) runway landing a series of steps Introduction
Layering of airline functionality ticket (purchase) baggage (check) gates (load) runway (takeoff) airplane routing departure airport arrival intermediate air-traffic control centers ticket (complain) baggage (claim gates (unload) runway (land) ticket baggage gate takeoff/landing layers: each layer implements a service via its own internal-layer actions relying on services provided by layer below Introduction
Why layering? dealing with complex systems: explicit structure allows identification, relationship of complex system’s pieces layered reference model for discussion modularization eases maintenance, updating of system change of implementation of layer’s service transparent to rest of system e.g., change in gate procedure doesn’t affect rest of system layering considered harmful? Introduction
Internet protocol stack 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 link: data transfer between neighboring network elements Ethernet, 802.111 (WiFi), PPP physical: bits “on the wire” application transport network link physical Introduction
ISO/OSI reference model presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machine-specific conventions session: synchronization, checkpointing, recovery of data exchange Internet stack “missing” these layers! these services, if needed, must be implemented in application needed? application presentation session transport network link physical Introduction
Encapsulation source destination application transport network link message M application transport network link physical segment Ht M Ht datagram Ht Hn M Hn frame Ht Hn Hl M link physical switch destination network link physical Ht Hn Hl M Ht Hn Hl M application transport network link physical Ht Hn M router Introduction
Application Layer
Client-server architecture always-on host permanent IP address data centers for scaling clients: communicate with server may be intermittently connected may have dynamic IP addresses do not communicate directly with each other client/server Application Layer
P2P architecture no always-on server arbitrary end systems directly communicate peers request service from other peers, provide service in return to other peers self scalability – new peers bring new service capacity, as well as new service demands peers are intermittently connected and change IP addresses complex management peer-peer Application Layer
Pure P2P architecture no always-on server arbitrary end systems directly communicate peers are intermittently connected and change IP addresses examples: file distribution (BitTorrent) Streaming (KanKan) VoIP (Skype) Application Layer
P2P file distribution: BitTorrent file divided into 256Kb chunks peers in torrent send/receive file chunks tracker: tracks peers participating in torrent torrent: group of peers exchanging chunks of a file Alice arrives … … obtains list of peers from tracker … and begins exchanging file chunks with peers in torrent Application Layer
P2P file distribution: BitTorrent peer joining torrent: has no chunks, but will accumulate them over time from other peers registers with tracker to get list of peers, connects to subset of peers (“neighbors”) while downloading, peer uploads chunks to other peers peer may change peers with whom it exchanges chunks churn: peers may come and go once peer has entire file, it may (selfishly) leave or (altruistically) remain in torrent Application Layer
Network Layer: The Data Plane
Chapter 4: network layer chapter goals: understand principles behind network layer services, focusing on data plane: network layer service models forwarding versus routing how a router works generalized forwarding instantiation, implementation in the Internet Network Layer: Data Plane
Network layer transport segment from sending to receiving host application transport network data link physical transport segment from sending to receiving host on sending side encapsulates segments into datagrams on receiving side, delivers segments to transport layer network layer protocols in every host, router router examines header fields in all IP datagrams passing through it network data link physical application transport network data link physical Network Layer: Data Plane
Two key network-layer functions forwarding: move packets from router’s input to appropriate router output routing: determine route taken by packets from source to destination routing algorithms analogy: taking a trip forwarding: process of getting through single interchange routing: process of planning trip from source to destination Network Layer: Data Plane
Network layer: data plane, control plane local, per-router function determines how datagram arriving on router input port is forwarded to router output port forwarding function Control plane network-wide logic determines how datagram is routed among routers along end-end path from source host to destination host two control-plane approaches: traditional routing algorithms: implemented in routers software-defined networking (SDN): implemented in (remote) servers 1 2 3 0111 values in arriving packet header Network Layer: Data Plane
Per-router control plane Individual routing algorithm components in each and every router interact in the control plane Routing Algorithm data plane control values in arriving packet header 0111 1 2 3 Network Layer: Control Plane
Logically centralized control plane A distinct (typically remote) controller interacts with local control agents (CAs) Remote Controller CA data plane control values in arriving packet header 1 2 0111 3 Network Layer: Control Plane
The Internet network layer host, router network layer functions: transport layer: TCP, UDP IP protocol addressing conventions datagram format packet handling conventions routing protocols path selection RIP, OSPF, BGP network layer forwarding table ICMP protocol error reporting router “signaling” link layer physical layer Network Layer: Data Plane
Generalized Forwarding and SDN Each router contains a flow table that is computed and distributed by a logically centralized routing controller logically-centralized routing controller control plane data plane local flow table headers counters actions 1 0100 1101 2 3 values in arriving packet’s header Network Layer: Data Plane