Network Architecture and Layering Jingwen Chen Email: jwchen@hust.edu.cn Web: http://itec.hust.edu.cnhust edu cn Dept. of Electronics and Information Engineering Huazhong University of Science and Technology 2012.9.3
Outline Basics of data networking Layered network architecture End-to-End Argument Architectural principals Data Networks 2
Data/Computer Networks Data communication services Data (of any form) delivery among computers of various types, e.g., servers, desktops, laptop, PDAs, cell phones,... Typically multi-hop : need some nodes to relay data among any two end points Resource sharing Used by many concurrent users General-purpose Not optimized for particular applications like phone calls, supporting various kinds of application Utilizing a variety of underlying communication technologies Copper wires, fiber optical, logical circuit, radio, satellite Basic building blocks nodes: process and transfer data links: passive carrier of data Data Networks 3
Internet: Nuts and Bolts View (1) PC Millions of connected Mobile network server computing devices: hosts = end systems wireless laptop running network apps cellular handheld access points wired links Communication links fiber, copper, radio, satellite transmission rate = bandwidth Home network Global ISP Regional ISP Institutional network router Routers: forward packets (chunks of data) Computer Networks 4
Internet: Nuts and Bolts View (2) Protocols control sending, receiving of msgs e.g., TCP, IP, HTTP, Skype, Ethernet Internet: network of networks loosely hierarchical public Internet versus private intranet Mobile network Home network Global ISP Regional ISP Internet standards Institutional network RFC: Request for comments IETF: Internet Engineering Task Force Computer Networks 5
Internet: Service View Communication infrastructure enables distributed applications: Web, VoIP, email, games, e- commerce, file sharing Communication services provided to applications: reliable data delivery from source to destination best effort (unreliable) data delivery Computer Networks 6
Basic Mechanisms (1) Switching Allows a set of computers to be indirectly connected by a number of intermediate nodes and to efficiently share the network resource Mechanisms: circuit, virtual circuit, datagram Basic issues: addressing, circuit/packet processing Routing Problem: determine end-to-end paths between sources and destinations of information Mechanisms static/dynamic centralized/distributed hop-by-hop/source routing example: dynamic and distributed distance vector, link state Data Networks 7
Basic Mechanisms (2) Reliable transfer Error detection bit error (bit level): noise, electromagnetic interference, packet loss (pkt level): buffer overflow, uncorrectable bit errors Q: how to distinguish between lost and late arrival? link failure/computer crash (link/node level) Q: how to distinguish i host crashed and one slowly l running? Error correction: hide certain kinds of failures to make the network appear more reliable bit level: error correction code pkt level: acknowledgment, timeout and retransmission Flow control Synchronize speeds at which sender transmits data and receiver accepts data Data Networks 8
Basic Mechanisms (3) Congestion control sources reducing their offered load short time scale traffic engineering long time scale increasing i link capacity long time scale Resource allocation Allocate network resources (bandwidth and buffer) to meet tthe service requirements of competing end users Particularly implemented in the routers/switches Also needs the participation of end hosts Data Networks 9
Outline Basics of data networking Layered network architecture End-to-End Argument Architectural principals Data Networks 10
Essences of Network Systems Complexity as a large distributed system Computers, switches, routers, applications, Heterogeneity of elements connected Links: wired, wireless, optical Switching: circuit, datagram, virtual circuit Hosts: PC, server, Variety of applications FTP, Web, Email, media, Data Networks 11
Developing a Network System As is common for the designs of many complex systems, modularization approach is fit for developing a network system Divide the whole system into a number of smaller and less complex blocks of different functionalities These blocks are united with well-defined interfaces The details of a module are hidden behind its interface gives flexibility but may hurt performance Similarly, the key is how to partition the system as well as the interfaces among the functionality blocks Plain or layered? Data Networks 12
Layering Organize a network system into a succession of logically distinct entities, such that the service provided by one entity is solely based on the service provided by lower level entity A particular form of modularization Advantages modularity reuse abstract functionality Disadvantages inefficiency Key decision: how to divide functionality across layers? Data Networks 13
Entities Entities abstract bt tobjects that t make up the layers of a network system provide communication services to upper layer entities by calling communication services provided by lower layer entities, communicate with peer entity in remote computer Interfaces to other entities vertical (upper): service interfaces horizontal (peer): peer interface to its counterpart (peer) on remote computer Data Networks 14
Protocols Definition: specification of the rules that are required to communication between two or more network entities peer to peer communication primary portion of a protocol service to upper layer entities Network architecture: the set of rules governing the form and content of an entity graph of network Examples: OSI reference model, Internet architecture Data Networks 15
OSI Reference Model Service Host Node Host Application Presentation Session Transport Network Data link Physical Network Data link Physical Physical medium Application Presentation Session Transport Network Data link Physical what a layer does Interface how to access the service Protocol how is the service implemented, that is, a set of rules and formats that govern the communication between two peers Data Networks 16
Functionalities of OSI Layers Physical layer handles the transmission of raw bits over a physical link Data link layer collects a stream of bits into a bit aggregate called frame Network layer handles packet forwarding between the nodes within a network Transport layer implement process-to-process channels Session layer handles the things such as session management, access control, and synchronization for long-term transfer Presentation layer converts the data between various representations Application layer concerns the services provided to end users, e.g., ftp, telnet Data Networks 17
Internet Architecture Host Node Host Application Transport Internet Network Access Internet Network Access Physical medium Application Transport Internet Network Access Data Networks 18
Functionalities of Layers Network access layer no real specification of this layer can be any kinds of lower-layer network Internet layer host-to-host packet transmission sole protocol: IP work with any kind of lower-layer network: IP over XXX Transport layer process-to-process message transmission two main protocols TCP: reliable byte-stream channel UDP: unreliable datagram delivery channel Application layer concerns specific applications includes a wide range of application protocols, e.g., HTTP, FTP Data Networks 19
Encapsulation in the Internet source message M application segment H t M transport datagram H n H t M network frame H l H n H t M link physical link physical switch H n H t H t M M M destination application transport network link physical network link physical H n H t M H l H n H t M H n H t H l M router H n H t M
Features of Internet Architecture Wide at the top and the bottom, narrow in the middle IP is glue and central point Complex host, simple nodes evolution: complex edge, simple core Does not imply strict layering application directly over IP actually no real reference model Emphasize implementations of proposed protocols implementations should accompany with proposed protocols Data Networks 21
Features of Internet Architecture (contd.) Data Networks 22
OSI vs. Internet Application Application Telnet FTP DNS Presentation Session Transport Network Datalink Physical Technology Transport Internet Network Access Internet: IP-centric, feasible, flexible, scalable OSI: iterative flow control, error-correcting Different culture Internet community: to implement as you go ISO/ITU: specify first and implement later TCP LAN IP UDP Packet radio Data Networks 23
Outline Basics of data networking Layered network architecture End-to-End Argument Architectural principals Data Networks 24
Another Principal Issue Host Router Host Application Transport Network Network Application Transport Network Data link Physical Data link Physical Physical medium Data link Physical Layering answers how to break network functionality into modules vertically Then, where to implement common functionalities (e.g., reliability, security) horizontally (among layers)? End points (hosts) or network (intermediate nodes) Data Networks 25
Observations Some applications have end-to-end function requirements reliability, security, Implementing these requirements inside the network is hard every step along the way must not fail End points (hosts) Can meet the requirement themselves Cannot depend on the network Data Networks 26
Example: Reliable File Transfer Host A Appl. OS OK Host B Appl. OS Solution 1: make each step reliable, and then concatenate them Not complete: what happens if any network element misbehaves? Solution 2: end-to-end check and retry Complete: can be entirely implemented at application layer with no need for reliability from lower layers Data Networks 27
Example: Reliable File Transfer (contd.) Implementing reliable transfer in the network Doesn t reduce host implementation ti complexity Does increase network complexity Probably bl imposes delay and overhead on all applications, even if they don t need functionality However, implementing in network can enhance performance in some cases highly lossy link Data Networks 28
End-to-End Argument The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system. Therefore, providing that questioned function as a feature of the communication system itself is not possible. (Sometimes an incomplete version of the function provided by the communication system may be useful as a performance enhancement.) Saltzer, Reed, and Clark, in the paper End-to-End Arguments in System Design Data Networks 29
End-to-End or Not? For layered network system design, E2E principle provides guidance on functionality placement Dumb network and smart end hosts But, what about routing, multicast, security,? And layering and E2E principles are often violated Firewalls, NAT, Challenges Install functions in network that t enhance application performance without reducing the application flexibility of the network Technology vs. Business Data Networks 30
Outline Basics of data networking Layered network architecture End-to-End Argument Architectural Principals Data Networks 31
Architecture and Principals System architecture not the implementation ti itself design blueprint on how to organize implementations what interfaces are supported where functionality is implemented Architectural t Principals i not scriptures, but guidelines each choice has its own pros and cons, or tradeoffs Data Networks 32
General Architectural Principals Modularity manage complexity and increase inter-operability Separating policies from mechanisms decouple control from data semantics-free Keep It Simple, Stupid (KISS principle) complicated design increases system coupling (inter- dependence), d amplifies errors,.. don t over-optimize! choose simplest among many solutions! Design for scale hierarchy, aggregation, Data Networks 33
Architectural Principles: Network Systems Two Basic Architectural principles (both about modularity) Layering: how to break network functionality into modules End-to-End Argument: where to implement functionality Others (not only for network systems) Virtualization Indirection Stateful or stateless Randomization Caching Data Networks 34
Summary Basics of data networking Features, common mechanisms Layered network architecture Layering, OSI reference model, Internet t architecture t End-to-end argument Functionality placement between network and end hosts Some architectural t principals i References Chapter 1 in [PD07] [Car96], [Cla88], [SRC84] Data Networks 35