ECE 4400:427/527 - Computer Networks Spring 2016 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 3: Network Architectures Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 1 Some Discussions • We know that there are substantial requirements for NETWORK DESIGN • General, cost-effective, fair, robust connectivity among large computers/users • Should be manageable by humans of varying levels of skills • Network designers have developed general blueprints referred to as NETWORK ARCHITECTURES to deal with complexity • Guide the design and implementation of networks Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 2 Outline • In this lecture, we introduce some central ideas common to all network architecture • Layering • Protocols • We also consider two most widely referenced architectures: • The OSI -7 –layer • Internet architecture Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 3 Layering • Communication network is so complex • Contain many pieces: hosts, switching devices, channels, etc • How we can manage complexity? • Using divide and conquer approach: Idea of Layering Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 4 Example of Air Travel Travelling contain a series of steps Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 5 Layering of Air Travel ticket (purchase) ticket (complain) ticket baggage (check) baggage (claim baggage gates (load) gates (unload) gate runway (takeoff) runway (land) takeoff/landing airplane routing airplane routing airplane routing airplane routing departure airport airplane routing intermediate air-traffic control centers arrival airport Layers: each layer implements a service – via its own internal-layer actions – relying on services provided by layer below Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 6 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? Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 7 Layering Abstraction Layer: A set of functionalities encapsulated in an object that can be used by other network components Why layering? Think complexity and common services Layers consist of protocols Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 8 Protocols • Protocol defines the interfaces between the layers in the same system and with the layers of peer system • Building blocks of a network architecture • Each protocol object has two different interfaces – service interface: operations on this protocol – peer-to-peer interface: messages exchanged with peer Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 9 Protocols Protocols in each layer have Service interface with upper layer/lower layers Peer-to-peer interface with host on same layer Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 10 Hierarchical Layer Structure Layering implies the use of a layer hierarchy Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 11 OSI 7-Layer Model • First formal way defined to connect computers • One or more protocols implement the functionality assigned to a given layer • Acts like a reference model rather than a realworld protocol graph • First three layers are implemented in all network nodes The OSI 7-layer Model OSI – Open Systems Interconnection Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 12 Description of Layer • Physical Layer – Handles the transmission of raw bits over a communication link • Data Link Layer – Collects a stream of bits into a larger aggregate called a frame – Network adaptor along with device driver in OS implement the protocol in this layer – Frames are actually delivered to hosts • Network Layer – Handles routing among nodes within a packet-switched network – Unit of data exchanged between nodes in this layer is called a packet The lower three layers are implemented on all network nodes Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 13 Description of Layer • Transport Layer – Implements a process-to-process channel – Unit of data exchanges in this layer is called a message • Session Layer – Provides a name space that is used to tie together the potentially different transport streams that are part of a single application, e.g., synchronization • Presentation Layer – Concerned about the format of data exchanged between peers, e.g., encryption, compression • Application Layer – Standardize common type of exchanges The transport layer and the higher layers typically run only on end-hosts and not on the intermediate switches and routers Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 14 The Internet Architecture • Application: supporting network applications • FTP, SMTP, HTTP • Transport: process data transfer • TCP, UDP • Network: routing of datagrams from source to destination Transport Network Link • IP, routing protocols • Application Link: data transfer between neighboring network elements Physical • Ethernet, 802.111 (WiFi), PPP • Physical: bits “on the wire” Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 15 Internet Architecture vs OSI • • • Presentation: allow applications to interpret meaning of data, e.g., encryption, compression, machinespecific conventions Session: synchronization, checkpointing, recovery of data exchange Internet stack “missing” these layers! • These services, if needed, must be implemented in application Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Application Presentation Session Transport Network Link Physical Computer Networks 16 The Internet: Protocol Encapsulation source message segment M Ht M datagram Hn Ht M frame Hl Hn Ht M application transport network link physical Hl Hn Ht M link physical Hl H n H t M switch destination M Ht M Hn Ht Hl Hn Ht M M application transport network link physical Dr. Nghi Tran (ECE-University of Akron) Hn Ht Hl Hn Ht M M network link physical Hn Ht Hl Hn Ht M M router ECE 4400:427/527 Computer Networks 17 Protocol Encapsulation: Example A in Office 1 sends to B in Office 2 a memo • Memo: Application-layer message • Memo needs to placed on an interoffice envelope and A needs to write an address: • Envelope: Transport-layer segment, with header is A’s address • Envelope headed to sending office mailroom and placed in a postal envelope; suited for public postal service: Datagram • Sending to receiving office mailroom: De-encapsulation begins. B will finally get the memo. Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 18 The Internet: Alternative View FTP HTTP TFTP TCP DNS UDP IP Net 1 Ethernet Net 1 FDDI FTP: File Transfer Protocol HTTP: Hypertext Transport Protocol TFTP: Trivial File Transfer Protocol FDDI: Fiber Distributed Data Interface Dr. Nghi Tran (ECE-University of Akron) TCP: Transmission Control Protocol UDP: User Datagram Protocol IP: Internet Protocol ECE 4400:427/527 Computer Networks 19 The Internet: Alternative View • Subnetwork: Involve sublayers • Internet Protocol: Support the interconnection of multiple networking technologies into a single, logical internetwork • TCP/UDP: Two main protocols of third layer – TCP: provide a reliable byte-stream channel – UDP: provide an unreliable datagram delivery channel – Sometimes called end-to-end protocols • Application We will step by step go through those layers/protocols Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 20 TCP vs. UDP Source: Skullbox.net • TCP: most commonly used protocol on the Internet • UDP: • Important data? • For streaming audio and video; UDP packets in Denial of Service (DoS); also implemented in trojan horse viruses etc. Again, we will step by step go through all these Dr. Nghi Tran (ECE-University of Akron) ECE 4400:427/527 Computer Networks 21