1 / 62

Network Protocols

Network Protocols. Profs. Chuah and Kishore EMC 165 Spring 2005 Lecture 6. Last Time/Today. We look at business trends in several related technologies. Today, we begin our discussion on how networks are designed.

Télécharger la présentation

Network Protocols

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Protocols Profs. Chuah and Kishore EMC 165 Spring 2005 Lecture 6

  2. Last Time/Today • We look at business trends in several related technologies. • Today, we begin our discussion on how networks are designed. • We begin by looking at how the design of such complex systems is first divided into a series of tasks that enables modular design. • This motivates protocol layering, the topic of today’s lecture.

  3. Protocols and Protocol Layers • Two devices exchanging information need to follow some simple rules or protocols so that information can be interpreted correctly. • A network protocol gives a set of rules that are to be followed by entities (machines) situated on different parts of a network. • These protocols can be listed in order. The resulting order can be used to defined protocol layers.

  4. Protocol Layers • To communicate from information from one machine to another, data has to be prepared in a special format. • Think of protocol layers as an assembly line. • At each layer, certain things happen to the data that prepare it for the next layer. • To understand this concept, let’s look at 4 layer communication between two philosophers.

  5. Layering Example • Assume there are two philosophers, A and B. • Philosopher A is in the U.S. and B is in France. • Philosopher A has thoughts (in English) and wishes to communicate them to philosopher B, who only understands French. The communication link between the two philosophers is a phone line, which they use via a fax machine. • Clearly (given the language issues) the data (the thought) has to be properly prepared at Philosopher A’s office before being sent over the fax line to Philosopher B’s office.

  6. Layering Example • At philosopher B’s office, the information has to be processed and conveyed to philosopher B in the language he understands. • Assume no one in philosopher A’s office speaks French and no one in philosopher B’s office speaks English. • Assume that a translator and a secretary work at each philosopher’s office. • Somehow an agreement had to have been established between Philosopher A and B so that they can talk to each other.

  7. Layering Example (Cont’d) • The contents of this agreement are the protocols of this communication link. • From these protocols, we will see that an assembly line is constructed at both Philosopher A’s office and Philosopher B’s office. • This assembly line will give us the protocol layers for this type of communication between philosophers.

  8. Philosopher-Translator-Secretary Architecture • Location A • Location B J’aime les lapins Dest: B I like rabbits Message Philospher L: Dutch Dest: B Ik hou Van konijnen L: Dutch Dest: B Ik hou Van konijnen Information for the remote translator Translator Fax # -- L: Dutch Dest: B Ik hou Van konijnen Message for the remote secretary Fax # -- L: Dutch Dest: B Ik hou Van konijnen Secretary Fax Fax

  9. Examining Layering Example • This communication architecture has four layers, at each end of the communication link. • In the first layer, the philosopher generates a thought. He/she decides this thought should be conveyed to philosopher B (whose office may employ several philosophers). • He/she writes this thought on paper and indicates on it the “destination” of this message. He/she then sends it to a translator.

  10. Examining Layering Example (Cont’d) • In the second layer, the translator looks at the destination of the message and realizes that the destination office does not speak English. • The translator then determines a common language between the two offices, Dutch. • He/she converts the philospher’s message to Dutch and adds a header to the message indicating that it has been converted to Dutch.

  11. Examining Layer Example (Cont’d) • Note, the translator cares only about the conversion of the message, not its meaning. • In the third layer, the secretary takes the message (not caring about what language it is in or what it means) and determines the fax number of the destination office where philosopher B works. • He/she then faxes the message to the Philosopher B’s office fax number.

  12. Examining Layer Example (Cont’d) • In the fourth layer, the fax machines communicate with each other. • They have their own “language” that carries data from source to destination. • The source and destination points are given to this lowest layer by the higher layers.

  13. Example (Cont’d) • At the receiving end, reconstruction of philospher A’s thoughts begins with the receiving fax machine (the lowest layer). • The fax machine produces a document on which the destination fax number has been indicated. • This document is passed up to the third layer, where the secretary checks the correct fax number and then looks at the language indicator in the message.

  14. Example (Cont’d) • Based on the language, the secretary passes the document to the correct translator (if there is more than one working at this office). • Once the document reaches the translator, it has passed up to the second layer at the destination. • Here, the translator looks at the message content and the destination philosopher’s name and determines that the message has to be translated into French.

  15. Example (Cont’d) • The translator translates the message into French and then takes the document over to philosopher B’s desk. • Finally, the document reaches the top layer at the destination, i.e., the destination philosopher’s hands and can be read and understood.

  16. Protocol Layers • This type of layered conversation also happens in computer/telecommunication networks. • Most of these networks operate on either a 4, 5 or 7 layer protocol stack. • Layer n on one host carries a “conversation” with layer n on another host. • Rules/conventions used in this conversation are collectively known as the layer n protocol.

  17. Example of Information Flow in 5 Layer Protocol Network M 5 4 3 2 1 M M H4 M H4 Layers H3 M1 H3 M2 H4 H3 M1 H3 M2 H4 H2 H3 M1 T2 H2 H3 M2 T2 H4 H2 H3 M1 T2 H2 H3 M2 T2 H4 Destination Host Source Host

  18. Why do this? • This is an example of modular design. • Think of each layer as a module in the design of a communication system. • Basically, communication tasks are assigned to logically distinct modules, i.e., layers.

  19. Why do this? (Cont’d) • Each layer performs a specific data communication function. We will review these tasks in a bit. • Interfaces between each layer allow each layer to communicate with the layers directly above and below it. • Each layer may also communicate with its peer layer on a remote computer/network device.

  20. Why do this? (Cont’d) • By breaking up communication/computer systems into a series of tasks, components can be designed for each task. • As long as the components are designed to perform their specific task and co-exist with the layer above and below, they can be designed in any way. • In other words, how the task is implemented in the component is entirely up to the component designer.

  21. Why do this? (Cont’d) • This way multiple vendors can design different components of a system and these components will work together. • In other words, network components become standardized and multiple vendors can be used to develop and support a communication/computer system. • Another benefit of layering: advances in technology that impact one layer can be easily integrated without impacting the design of the whole system (other layers do not need to redesigned).

  22. Why do this? (Cont’d) • To see this, consider how roles and responsibilities get separated in real life – at a restaurant, one person may cook your dinner, another one serves it, and yet another washes dishes after you are done. • In this way, any one element can be replaced or altered without having a huge impact on the others. • Overall, layering helps tackle the design of complex communication/computer networks. • It also helps in learning about such systems.

  23. How are Real Networks Layered? • The most popular model used to teach people about network protocols is the Open Systems Interface (OSI) Reference Model developed by the ISO. • This is a 7-layer system designed in 1970’s when designers encountered problem of incompatible computing components, i.e., IBM components would not work with Digital component, etc. • Goal of ISO was to create a reference model that would clearly define network functions and responsibilities, ultimately allowing different components to interconnect and communicate.

  24. How are Real Networks Layered? (Cont’d) • Today OSI is primarily a reference model; no practical implementation exists. • In reality most network protocol stacks tend to map the model roughly. • Protocol stack refers to the cumulative set of protocols that make up some n-layer model.

  25. How are Real Networks Layered? (Cont’d) • The Department of Defense model, developed in the 1970s for DARPA, is a 4-layer protocol stack that maps closely to current common internet protocols. It is based on a more "pragmatic" approach to networking than OSI. This model is called the TCP/IP Model. • Although developed at the same time, the TCP/IP model had more traction than the OSI model in real implementation. • Reason: more reliable implementations of TCP/IP were realized, TCP/IP was closely associated with Unix making it popular in academia, etc.

  26. OSI Protocol Stack vs TCP/IP Protocol Stack Layers in each stack are known by name and number: OSI TCP/IP Layer 7 Application Layer 4 Application Layer 6 Presentation Layer 3 Transport (TCP, UDP) Layer 5 Session Layer 4 Layer 2 Internet Protocol (IP) Transport Layer 3 Network Host to Network Layer 1 Layer 2 Data Link Layer 1 Physical

  27. More on Network Layering • The higher the layer number is the closer that component is to the end user input, i.e., user interacts with the application layer. • To remember OSI protocol stack: “All People Seem To Need Data Processing.” • When two computers communicate on a network, software at each layer on one computer assumes it is communicating with the same layer on the other computer.

  28. More on Network Layering (Cont’d) • For example, the Transport layer of one computer communicates with the Transport layer on the other computer. • The Transport layer on the first computer has no regard for how the communication actually passes through the lower layers of the first computer, across the physical media, and then up through the lower layers of the second computer.

  29. 7-Layer Example: James Bond • James Bond meets Number One on the 7th floor of the spy headquarters building. Number One gives Bond a secret message that must get through to the US Embassy across town. (Application Layer) • Bond proceeds to the 6th floor where the message is translated into an intermediary language, encrypted and miniaturized. (Presentation Layer) • Bond takes the elevator to the 5th floor where Security checks the message to be sure it is all there and puts some checkpoints in the message so his counterpart at the US end can be sure he’s got the whole message. (Session Layer)

  30. 7-Layer Example (Cont’d) • On the 4th floor, the message is analyzed to see if it can be combined with some other small messages that need to go to the US end. Also if the message was very large it might be broken into several small packages so other spies can take it and have it reassembled on the other end. (Transport Layer) • The 3rd floor personnel check the address on the message and determine who the addressee is and advising Bond of the fastest route to the Embassy. (Network Layer)

  31. 7-Layer Example (Cont’d) • On the 2nd floor the message is put into a special courier pouch. It contains the message, the sender and destination ID. It also warns the recipient if other pieces are still coming. (Data Link Layer) • Bond proceeds to the 1st floor where Q has prepared the Aston Martin for the trip to the Embassy. (Physical Layer)

  32. 7-Layer Example (Cont’d) • Bond departs for the US Embassy with the secret packet in hand. On the other end the process is reversed. Bond proceeds from floor to floor where the message is decoded. • The US Ambassador is very grateful the message got through safely. • "Bond, please tell Number One I’ll be glad to meet him for dinner tonight."

  33. 7-Layer Example (Cont’d) • This example was provided by Lewis Technology (http://www.lewistech.com/rlewis/Resources/JamesBondOSI2.aspx). • It actually gives a fair description of the tasks assigned to each layer of the OSI protocol stack.

  34. OSI Protocol Stack “Humor” • The 7 layer model has often been extended in a humorous manner, to refer to non-technical issues or problems. A common joke is the 9 layer model, with layers 8 and 9 being the "financial" and "political" layers. • Network technicians will sometimes refer euphemistically to "layer-eight problems," meaning problems with an end user and not with the network.

  35. “Humor” (Cont’d) • Carl Malamud, in his book "Stacks," defines layers 8, 9, and 10 as "Money", "Politics", and "Religion". • The "Religion layer" is used to describe non-rational behavior and/or decision-making that cannot be accounted for within the lower nine levels. (For example, a manager who insists on migrating all systems to a Microsoft platform "because everyone else is doing it" is said to be operating in Layer 10.) • The OSI model has also sometimes been jokingly called the "Taco Bell model", since the restaurant chain has sometimes sold a 7 layer burrito.

  36. Summary Thus Far • The tasks performed by computers/devices in a communication network are separated into “layers.” • This layering is an example of modular design which helps tackle the design of complex communication/computer networks. • It leads to standardization of network components, eases technology migration, and allows for multivendor development and support.

  37. Recall • Recall data passed between systems in a communication network is referred to as a packet (collection of bits). • Packets contain the actual data (user data) being passed between devices as well as additional information (header/trailer) which contains things like source/destination address, error correction information, etc. • As data flows down the layers of the OSI stack, the various layers encapsulate it, usually adding header (or possibly trailer) information to it.

  38. Data Moving Down Protocol Stack Message M Layer n (User Data) Layer n -1 M H4 H3 M1 H3 M2 Layer n - 2 H4 H2 H3 M1 T2 H2 H3 M2 T2 Layer n - 3 H4 And so on

  39. OSI Layering • So what exactly happens in each layer? • What tasks are each layer of the OSI stack responsible for? • We look at this next.

  40. But first,… • We stress that although we list the tasks of each OSI layer here, the way in which these tasks are implemented can vary. • In fact, several protocols have been developed over the years for each layer of the protocol stack. Many of these protocols have been standardized, i.e., made into consistent rules for how these tasks are conducted. • Vendors typically develop their products to be compatible with these standards.

  41. Application Layer

  42. Application Layer • The Application layer is the top layer of the OSI model, and is considered to be the place where users interact with the network. • This interaction usually occurs by running a program, such as a web browser or a spreadsheet application. • This layer doesn’t really worry about the network. Instead, it simply knows how to make a request for something (this is the user data), and then what to do with the reply (the user data that was requested).

  43. Application Layer (Cont’d) • In the case of a user browsing a website, the client application (the web browser) makes a request that will be understood by the receiving application at the other end (the web server). This is sometimes referred to as program-to-program communication. • Other typical applications: email, ftp, www, etc. • This layer also converts data into a standard format that the other layers can understand. Other layers will be concerned with correctly encapsulating this standard data.

  44. Application Layer Summary • Applications and users interact with the network at this layer. • Common examples of application layer programs and protocols include: • Email clients (SMTP,POP3,IMAP) • Web browsers and servers (HTTP) • File transfers (FTP) • For example, companies like google or yahoo develop their products to be consistent with these types of application protocols.

  45. Presentation Layer • The Presentation layer is primarily responsible for data representation and formatting, ensuring that data can be viewed correctly. • These formats are sometimes referred to as the “data syntax” of the applications in use. • For example, different systems may use different schemes to represent data. While one system might use ASCII or EBCIDC, another might use UNICODE.

  46. Presentation Layer (Cont’d) • Since these schemes contain different character possibilities, it is the responsibility of the Presentation layer to make sure they are displayed in the correct or common format between the client and the server. • The Presentation layer is also where data compression and encryption are generally considered to take place. • For example, encoding video in MPEG or QuickTime, graphics into JPEG or TIFF, sound into MIDI, etc.

  47. Aside: What is Encoding? • We have already talked about one encoding method: using quantization to convert an analog signal to digital. • Quantization may not always be the most efficient way to convert analog signals (like voice, video, pictures, etc.) to digital. • Schemes like MPEG, JPEG, TIFF, WAV, etc. convert analogs information into compressed digital files. • The more compressed the digital file is the quicker it can be transported over a network.

  48. Aside: What is Encryption? • When a digital will be transmitted over a network, it may be desirable to encrypt it to prevent any non-authorized party from reading or changing data. • The level of protection provided by encryption is determined by an encryption algorithm. • Later in the semester we will discuss encryption in greater detail.

  49. Presentation Layer Summary • Layer responsible for data representation, formatting, compression, and encryption. • Common presentation layer protocols include: • ASCII, EBCIDC, UNICODE, RTF. • MPEG, AVI • JPG, PNG, TIFF

  50. Session Layer • The Session layer is responsible for the creation, management, and termination of sessions between systems. • A session is best described as a type of managed connection between systems for the purpose of a specific type of communication. For example, a session might be created for the purpose of user authentication, or to initiate a file transfer.

More Related