CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.

Slides:



Advertisements
Similar presentations
CSCI-235 Micro-Computers in Science The Network. Network Fundamentals A computer network consists of two or more computers linked together to exchange.
Advertisements

COP 4930 Computer Network Projects Summer C 2004 Prof. Roy B. Levow Lecture 1.
Layer 7- Application Layer
Chapter Extension 7 How the Internet Works © 2008 Prentice Hall, Experiencing MIS, David Kroenke.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
Review on Networking Technologies Linda Wu (CMPT )
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
Understanding Networks Charles Zangla. Network Models Before I can explain how connections are made from across the country, I would like to provide you.
Copyright 2003 CCNA 1 Chapter 7 TCP/IP Protocol Suite and IP Addressing By Your Name.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Process-to-Process Delivery:
Chapter 3 The Basics of Networking
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
CCNA 1 v3.0 Module 9 TCP/IP Protocol Suite and IP Addressing
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Computer Networks. IP Addresses Before we communicate with a computer on the network we have to be able to identify it. Every computer on a network must.
1 ELEN602 Lecture 2 Review of Last Lecture Layering.
INTERNET DATA FLOW Created by David Whitchurch for ISDS 4120 Louisiana State University.
CS1Q Computer Systems Lecture 16 Simon Gay. Lecture 16CS1Q Computer Systems - Simon Gay2 Where we are Global computing: the Internet Networks and distributed.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Lecture#1 on Internet. Internet Addressing IP address: pattern of 32 or 128 bits often represented in dotted decimal notation IP address: pattern of 32.
Okay, here’s a scenario… You’re sitting at a computer…. Type in www. yourcompany.com As soon as you click on search your browser will ask your Operation.
15-1 Networking Computer network A collection of computing devices that are connected in various ways in order to communicate and share resources.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
CS1Q Computer Systems Lecture 18 Simon Gay. Lecture 18CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
Network Protocols A network protocol defines the structure of messages sent over the network We will only talk about the Internet Network protocols need.
Information Flow Across the Internet. What is the Internet? A large group of computers that link together to form the Worldwide Area Network (WAN)
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CS1Q Computer Systems Lecture 16 Simon Gay. Lecture 16CS1Q Computer Systems - Simon Gay2 Where we are Global computing: the Internet Networks and distributed.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
CCNA 1 v3.0 Module 9 TCP/IP Protocol Suite and IP Addressing.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Networking Basics CCNA 1 Chapter 11.
CCNA 1 v3.0 Module 9 TCP/IP Protocol Suite and IP Addressing
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Protocol Layering Chapter 11.
Transmission Control Protocol (TCP) Internet Protocol (IP)
Enterprise Network Systems TCP Mark Clements. 3 March 2008ENS 2 Last Week – Client/ Server Cost effective way of providing more computing power High specs.
How Information Flows via the Internet By: Lee Farrell.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
TCP/IP Protocol Suite and IP Addressing Presented By : Dupien AMS.
The OSI Model. Understanding the OSI Model In early 1980s, manufacturers began to standardize networking so that networks from different manufacturers.
1 28-Sep-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI network layer CCNA Exploration Semester 1 Chapter 5.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
IP: Addressing, ARP, Routing
Distributed Systems.
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Layered Architectures
Using MIS 2e Chapter 6 Appendix
Vocabulary Prototype: A preliminary sketch of an idea or model for something new. It’s the original drawing from which something real might be built or.
Understanding the OSI Reference Model
Topic 5: Communication and the Internet
TCP/IP Networking An Example
Process-to-Process Delivery:
TCP/IP Protocol Suite: Review
TCP/IP Protocol Suite: Review
Lecture 2: Overview of TCP/IP protocol
Presentation transcript:

CS1Q Computer Systems Lecture 17 Simon Gay

Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks in terms of a number of layers, or levels of abstraction. When working at one layer, all we need to know about is the functionality provided by the next layer down, not how that functionality is implemented. This is just another example of the use of abstraction as the essential technique for understanding computer systems: for example, the hierarchical view of computing from Slide 2. The ISO 7 layer model is a standard view of networks; we will look at the TCP/IP layering model, also known as the Internet layering model, which is more specific and is used by the Internet.

Lecture 17CS1Q Computer Systems - Simon Gay3 The Internet Layering Model 1physical layer: how to send binary data along a single physical link. Bits are organised into blocks called frames 2network interface layer: how to send a packet along a single physical link. A packet is a frame containing routing information 3internet layer: how to send a packet between any two points in the network (also known as the IP layer) 4transport layer: how to send a message between any two points in the network (two versions: TCP and UDP) 5application layer: specific network applications use specific types of message

Lecture 17CS1Q Computer Systems - Simon Gay4 Naming There are three different naming schemes in the Internet, used at different layers. hardware addresses, also known as MAC addresses: each hardware device connected to the Internet has a 48 bit address, commonly written as 6 two-digit hex numbers, e.g. 00:d0:b7:8f:f2:0e internet addresses, also known as IP addresses: each hardware device is given a 32 bit IP address when it is attached to the Internet. (Analogy: IP address is like a telephone number, MAC address is like the identity of a particular physical telephone.) IP addresses are commonly written in dotted decimal form, e.g IP addresses are running out and will be replaced by a 128 bit scheme known as IPv6.

Lecture 17CS1Q Computer Systems - Simon Gay5 Naming domain names: a more human-friendly naming scheme, e.g. marion.dcs.gla.ac.uk, Note that there is not a direct correspondence between the fields in a domain name and the fields in an IP address. Software in layer 5 uses domain names (so you can type a domain name into a web browser). Software in layer 4 translates between domain names and IP addresses. Software in layer 3 translates between IP addresses and hardware addresses.

Lecture 17CS1Q Computer Systems - Simon Gay6 Uniform Resource Locator (URL) A significant part of the development of the World Wide Web was the introduction of the URL: a standard way of specifying a host (computer), a protocol to use for communication with the host, and the name of a resource belonging to the host. Example: the protocol, in this case HyperText Transmission Protocol the host name the port to use when connecting to the host the resource name

Lecture 17CS1Q Computer Systems - Simon Gay7 Example: Following a Web Link Suppose we are using a web browser, and viewing a page which has a link to What happens if we click on this link? The browser must: send a request to the server at asking for the file index.html receive the contents of this file from the server use the information in the file to display a web page The server must receive the request and send the data. There’s a huge amount of complexity under the surface, but we’ll look at the main points at each layer.

Lecture 17CS1Q Computer Systems - Simon Gay8 View from Layer 5 55web server at web browser opens a connection to sends request GET /index.html HTTP/1.0 sends response and data HTTP/ OK contents of index.html closes connection displays web page

Lecture 17CS1Q Computer Systems - Simon Gay9 View from Layer 5: Notes The browser and server work with the idea of a connection, which is like the idea of circuit switching. The underlying network uses packet switching, not circuit switching, so a connection at layer 5 is a virtual circuit provided by software in layer 4. The browser and server work with messages (in this case, text) of arbitrary length. Software in layer 4 breaks long messages into packets if necessary. Software at layer 5 can assume that communication is reliable, even though the physical network may be unreliable. Layer 4 software monitors success/failure of packet transmission, resending if necessary. Software at layer 5 is unaware of the details of the network between the client and the server.

Lecture 17CS1Q Computer Systems - Simon Gay10 Interaction between L5 and L4 55web server at web browser 44TCP/IP software

Lecture 17CS1Q Computer Systems - Simon Gay11 Interaction between L5 and L4 55web server at web browser 44TCP/IP software function call The server calls a function listen(80) to indicate that it is willing to accept connections on port 80.

Lecture 17CS1Q Computer Systems - Simon Gay12 Interaction between L5 and L4 55web server at web browser 44TCP/IP software function call The browser calls a function connect(“ to open a connection to the server.

Lecture 17CS1Q Computer Systems - Simon Gay13 Interaction between L5 and L4 55web server at web browser 44TCP/IP software The browser calls a function connect(“ to open a connection to the server. L4 software translates into (how? later) and sends a message to create the connection. create connection

Lecture 17CS1Q Computer Systems - Simon Gay14 Interaction between L5 and L4 55web server at web browser 44TCP/IP software The functions connect and listen return objects which the browser and server can use to access the connection. Messages can now be exchanged without specifying the destination address each time.

Lecture 17CS1Q Computer Systems - Simon Gay15 View from Layer 4 44TCP/IP software (on client machine) TCP/IP software (on server machine) L5 software calls send(message) message is split into packets packets are sent to destination IP address (by calling L3 functions) wait for acknowledgement and resend if necessary ack packet 2

Lecture 17CS1Q Computer Systems - Simon Gay16 View from Layer 4 44TCP/IP software (on client machine) TCP/IP software (on server machine) packets are received & acknowledged packets are reassembled so that when L5 software calls receive a complete message can be returned if the L5 server software calls send then the reverse occurs

Lecture 17CS1Q Computer Systems - Simon Gay17 View from Layer 4: Notes Software at layer 4 is unaware of the details of the network between the endpoints of a connection: it just calls functions provided by layer 3 software to send packets to an IP address. Converting unreliable packet communication into reliable message communication is complicated: packets might not arrive in the same order in which they are sent acknowledgement packets might be lost next packet can be sent before previous packet is acknowledged how long should we wait for an acknowledgement? There is an alternative version of layer 4, called UDP, which is based on individual messages rather than connections.

Lecture 17CS1Q Computer Systems - Simon Gay18 View from Layer 3 Layer 3, the IP layer, is where the structure of the intermediate network becomes visible. It is where routing takes place clientserver routers each router knows about its neighbours Routers do not have software from layers 4 or 5. Packets are processed independently and are not acknowledged. Basic operation of a router: receive a packet, labelled with its intended destination, and send it one step further towards that destination. The local routing table specifies which direction that step should be in.

Lecture 17CS1Q Computer Systems - Simon Gay19 View from Layer 3: Routing A B 8 D C host router D D: 8 C: 7 In each router, the local routing table specifies the next hop destination, depending on the final destination of the packer.

Lecture 17CS1Q Computer Systems - Simon Gay20 Static and Dynamic Routing Typically a host is part of just one local network, which is connected to the rest of the Internet by a single router. The local routing table in a host simply sends all packets to that router, and this never changes. Hosts use static routing. Routers in general are connected to more than one network and have connections to several other routers. Each router has an initial local routing table, set up when it is first switched on, but the table can change. Routers use dynamic routing. Local routing tables can change, as a result of changes in the structure of the network, or failures. Routers constantly check their own physical links, and exchange routing information with neighbouring routers. A distributed algorithm adjusts the routing tables so that, together, they specify the best overall routes for packets.

Lecture 17CS1Q Computer Systems - Simon Gay21 Layer 2: IP to MAC Translation Layer 2 functions are called from layer 3 in order to send a packet to the next hop destination. Layer 2 must translate the IP address of the next hop into the corresponding MAC (hardware) address. Translation from IP addresses to MAC addresses is called address resolution. It only takes place for addresses on the same local network, and the details depend on the type of local network: either table lookup, or calculation, if the local network allows IP addresses and MAC addresses to be chosen in a related way, or by broadcasting a request to the local network, asking which machine has a certain IP address.

Lecture 17CS1Q Computer Systems - Simon Gay22 View from Layer 1 Layer 1 consists of the network interface hardware (e.g. an Ethernet card plugged into a PC) and the low-level driver software. In response to a call from layer 2, to send a packet to another machine on the local network, the layer 1 hardware generates the correct electrical signals and deals with collision detection. In other forms of network (e.g. radio, optical, etc) the correct physical signals of whatever type are handled.

Lecture 17CS1Q Computer Systems - Simon Gay23 Overall Progress of a Message Messages are often described as moving down the layers of the network model, then across the network at layer 1, then back up the layers to the receiving application. What does this mean? Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 Downwards movements are calls to send functions in lower layers. Upwards movements are responses to receive functions in higher layers.

Lecture 17CS1Q Computer Systems - Simon Gay24 Overall Progress of a Message Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 As we have seen, each layer has its own view of how data moves across the network. Layer 5 Layer 4 Layer 3 Layer 2 Layer 1 using a connection to a domain name: sending a message using a connection to an IP address: sending packets Layer 3 sending a packet to the next hop: IP Layer 2 sending a packet to the next hop: MAC Layer 1 sending bits on a local network

Lecture 17CS1Q Computer Systems - Simon Gay25 More about HTTP The basic interaction in HTTP, after a connection has been opened, is a request like GET /index.html HTTP/1.0 from the client, followed by a response like PUT HTTP/ OK data from the server. The connection is then closed. Other responses are possible, some of which are frequently seen while browsing: e.g. 404 FILE NOT FOUND. A new connection is opened for every request, even if there is a series of requests to the same server. Not all protocols work in this way: e.g. FTP (file transfer protocol) keeps a control connection open, allowing several requests to be sent in sequence; for each request, a data connection is opened to transfer a file.

Lecture 17CS1Q Computer Systems - Simon Gay26 More about Routing The internet is designed to be scalable and fault-tolerant. Fault-tolerance requires dynamic routing, so that broken connections or routers can be avoided. Scalability means that it is essential for routes to be chosen locally, using a distributed algorithm. A global routing table for the whole internet would be huge. If copied to every router, it would overload them; if stored centrally, the network would be flooded with requests for routing information. Next-hop routing using the local routing tables is an effective solution.