Network Standards Layered Architectures Chapter 2
1. Message Standards (Protocols)
Figure 2-1: Standards Govern the Exchange of Messages Rules of operation that allow two hardware or software processes to work together Even if they are from different vendors Standards Govern the Exchange of Messages Messages must be governed by strict rules Because computers are not intelligent Message
Figure 2-1: Standards Govern the Exchange of Messages (Continued) Standards Govern Syntax Syntax: the organization of the message Human example: “Susan thanked Tom” This sentence has a subject-verb-object syntax Standards Govern Semantics Semantics: The meaning of the message Humans understand the meaning of this easily
Figure 2-2: Hypertext Transfer Protocol (HTTP) Interactions 1. HTTP Request Message Asking for a File Browser Webserver Application Client PC Webserver 2. HTTP Response Message delivering the File or giving an error message Semantics in HTTP, which governs the Web
Figure 2-3: Syntax of HTTP Request and Response Messages [CRLF] Carriage return and line feed (starts a new line) HTTP Request Message GET /reports/project1/final.htm HTTP/1.1[CRLF] GET is the method (others exist) Next comes the path to the file to be retrieved Last comes the version of the HTTP standard Host: voyager.cba.Hawaii.edu[CRLF] The host to be sent the request message
Figure 2-3: Syntax of HTTP Request and Response Messages, Continued Syntax is very rigid HTTP Response Message HTTP/1.1 200 OK[CRLF] Date: Tuesday, 20-JAN-2006 18:32:15 GMT[CRLF] Server: name of server software[CRLF] MIME-version: 1.0[CRLF] Content-type: text/plain[CRLF] [CRLF] File to be downloaded (byte stream) Syntax of fields (lines) after first line: Keyword : Content [CRLF]
Figure 2-1: Standards Govern the Exchange of Messages, Continued General Message Syntax (Organization) General Message Organization (Figure 2-4) Primary parts of messages Data Field (content to be delivered) Header (everything before the data field) Trailer (everything after the data field) The header and trailer act like a delivery envelope for the data field. Trailer Data Field Header
Figure 2-1: Standards Govern the Exchange of Messages, Continued General Message Syntax (Organization) Header and trailer are further divided into fields Trailer Data Field Header Other Header Field Destination Address Field is Used by Switches and Routers Like the Address on an Envelope Message with all three parts
Figure 2-4: General Message Organization, Continued Data Field Header Other Header Field Destination Address Field Message without a trailer Usually only data link layer messages have trailers
Figure 2-4: General Message Organization, Continued Header Other Header Field Destination Address Field Message with only a header e.g. TCP supervisory messages are pure headers (there is no data field content to deliver)
2. Reliability
Figure 2-5: Reliable Transmission Control Protocol (TCP) Session The Transmission Control Protocol (TCP) is an important standard in Internet transmission TCP Receiver acknowledges each correctly-received TCP segment. If an acknowledgments is not received by the sender, the sender retransmits the TCP message (called a TCP segment) This gives reliability: error detection and error correction
Figure 2-5: Reliable TCP Session, Continued Client PC TCP Process Webserver TCP Process 4. Data = HTTP Request Carry HTTP Req & Resp (4) 5. ACK (4) 6. Data = HTTP Response TCP Segment (Message) 4 Carries an HTTP Request Segment 5 Acknowledges It There Is No Need to Resend 7. ACK (6) Request-Response Cycle for Data Transfer
Figure 2-5: A TCP Session, Continued Client PC TCP Process Webserver TCP Process 8. Data = HTTP Request (Error) 9. Data = HTTP Request (No ACK so Retransmit) Carry HTTP Req & Resp (4) 10. ACK (9) TCP Segment (Message) 8 Is Lost in Transmission There Is No Acknowledgment So the Sender Retransmits It 11. Data = HTTP Response 12. ACK (11) Error Handling
3. Connection-Oriented and Connectionless Protocols
Figure 2-6: Connection-Oriented and Connectionless Protocols Connection-Oriented Protocol Connectionless Protocol Open Connection A B A B Message (No Sequence Number) Message 1 (Seq. Num = A1) Connection-oriented protocols have Formal openings and closings like Telephone calls Also have sequence numbers so that the receiver can put messages in order And so the receiver can send Acknowledgments for specific messages Message 3 (Seq. Num B1) Message 2 (Seq. Num = A2) Close Connection
HTTP is connectionless Figure 2-6: Connection-Oriented and Connectionless Protocols, Continued Client PC Browser Webserver Application HTTP Request HTTP is connectionless No Openings No Closings No Sequence Numbers No Acknowledgments
Figure 2-6: Connection-Oriented and Connectionless Protocols, Continued In TCP Client PC TCP Process Webserver TCP Process Connection-Opening Messages Messages During the Connection Time Connection-Closing Messages
Figure 2-7: Advantages and Disadvantages or Connection-Oriented Protocols Thanks to sequence numbers, the parties can tell if a message is lost. Error messages, such as ACKs can refer to specific messages. Long messages can be fragmented into many smaller messages that can fit inside packets. Fragmentation followed by reassembly on the destination host is an important concept in networking.
Figure 2-7: Advantages and Disadvantages or Connection-Oriented Protocols, Cont. The presence of many supervisory messages consumes existing bandwidth The processing of connection information places a heavy processing load on computers connected to the network
4. The Hybrid TCP/IP-OSI Standards Architecture
Standards Architecture A Standards Architecture is a Broad Plan for Creating Standards Break the problem of effective communication into smaller pieces for ease of development Develop standards for the individual pieces Just as a building architect creating a general plan for a house before designing the individual rooms in detail The dominant architecture today is the hybrid TCP/IP- OSI standards architecture shown in the next slide
Figure 2-8: Hybrid TCP/IP-OSI Architecture General Purpose (Core Later) Layer Specific Layer Purpose Application-application communication Application (5) Application-application interworking Transmission of a packet across an internet Transport (4) Host-host communication Internet (3) Packet delivery across an internet Transmission of a frame across a single network (LAN or WAN) Data Link (2) Frame delivery across a network Physical (1) Device-device connection
Figure 2-8: Hybrid TCP/IP-OSI Architecture, Continued Physical and Data Link Layer Standards Govern Communication Through a Single Network LAN or WAN
Figure 2-9: Physical and Data Link Layer Standards in a Single Network Physical Layer Physical layer standards govern transmission between adjacent devices connected by a transmission medium Physical Link A-X1 Switch X1 Host A Switch X2 Physical Link X1-X2
Figure 2-9: Physical and Data Link Layer Standards in a Single Network, Continued Data link layer standards govern the transmission of frames across a single network—typically by sending them through several switches along the data link Frame Data Link A-B Host B Switch X1 Host A Switch X2
Figure 2-9: Physical and Data Link Layer Standards in a Single Network, Continued Data link layer standards also govern Frame organization Switch operation
Figure 2-9: Physical and Data Link Layer Standards in a Single Network, Continued 3 Physical Links 1 Data Link 2 Switches Host A Switch Data Link A-R1 Switch Physical Link A-X1 Server Station Switch X1 Physical Link X1-X2 Physical Link X2-R1 Switch X2 Mobile Client Station Router R1
Figure 2-10: Internet and Data Link Layers in an Internet Internet and Transport Layers An internet is a group of networks connected by routers so that any application on any host on any network can communicate with any application on any other host on any other network Internet and transport layer standards govern communication across an internet composed of two or more single networks
Figure 2-10: Internet and Data Link Layers in an Internet, Continued Internet Layer Internet layer standards govern the transmission of packets across an internet—typically by sending them through several routers along the route Messages at the internet layer are called packets Internet layer standards also govern packet organization and router operation Packet Router 1 Router 2
Figure 2-10: Internet and Data Link Layers in an Internet, Continued Host A Data Link A-R1 R1 Network X 3 Data Links: One per Network 1 Route per Internet Network Y Data Link R1-R2 Network Z Route A-B R2 Host B Data Link R3-B
Figure 2-10: Internet and Data Link Layers in an Internet, Continued Frame X Packet In Network X: Two Destination Addresses: Packet: Host B (Destination Host) Frame: Router R1 Data Link A-R1 Switch Host A Switch Server Station Switch X1 Mobile Client Station Switch X2 Route A-B Router R1 Network X
Figure 2-10: Internet and Data Link Layers in an Internet, Continued To Network X Route A-B Router R1 Frame Y Data Link R1-R2 In Network Y: Two Destination Addresses: Packet: Host B (Destination Host) Frame: Router R2 Packet To Network Z Router R2 Network Y
Figure 2-10: Internet and Data Link Layers in an Internet, Continued Frame Z Packet Data Link R2-B Switch Z1 Host B Router R2 In Network Z: Two Destination Addresses: Packet: Host B (Destination Host) Frame: Host B Switch Z2 Mobile Client Stations Switch X2 Router Network Z
In an internet with hosts separated by N networks, there will be: Frames and Packets In an internet with hosts separated by N networks, there will be: 2 hosts One packet (going all the way between hosts) One route (between the two hosts) N frames (one in each network) There usually are many switches within single networks There usually are many physical links within networks
Figure 2-11: Internet and Transport Layer Standards Transport layer standards govern aspects of end-to- end communication between two end hosts that are not handled by the internet layer These standards allow hosts to work together even if the two computers are from different vendors and have different internal designs
Figure 2-11: Internet and Transport Layer Standards, Continued 2. Transport Layer end-to-end (host-to-host) TCP is connection-oriented, reliable UDP is connectionless and unreliable Server Client PC 1. Internet Layer (usually IP) hop-by-hop (host-router or router-router) connectionless, unreliable Router 1 Router 2 Router 3
Figure 2-12: Application Layer Standards The application layer governs how two applications work with each other, even if they are from different vendors Browser Webserver Application Client PC Webserver
Figure 2-12: Application Layer Standards There are more application layer standards than any other type of standard because there are many applications HTTP E-Mail Database Instant Messaging FTP Etc.
Standards Layers: Recap Be able to repeat this in your sleep! Application (5) Transport (4) Internet (3) Data Link (2) Physical (1)
5. Syntax Examples for Some Layer Messages
Octet = 8 Bits 10010111 Octets Field length may be measured in octets An octet is a group of eight bits In computer science, an octet is called a byte Octet = 8 Bits 10010111
Figure 2-14: Ethernet Frame Preamble (7 octets) 10101010 … Start of Frame Delimiter (1 octet) 10101011 Header Destination Ethernet (MAC) Address (48 bits) Source Ethernet (MAC) Address (48 bits) Length (2 octets) Length of Data Field The Ethernet frame has 48-bit destination and source address fields.
Figure 2-14: Ethernet Frame, Continued Data Field (variable length) LLC Subheader (usually 7 octets) Data Field Usually IP Packet Encapsulated Packet PAD (added if data field < 46 octets) Frame Check Sequence (32 bits) The Ethernet frame’s data field contains a IP packet (preceded by an LLC subheader). PAD is added if the data field is less than 46 octets long PAD length is set to keep the data field plus PAD 46 octets
Figure 2-14: Ethernet Frame, Continued Frame Check Sequence (32 bits) Sender computes the frame check sequence field value based on contents of other fields Receiver recomputes the field value If the values match, there have been no errors If the values do not match, there has been an error The receiver simply discards the frame Unreliable: error detection but not error correction
Figure 2-15: Internet Protocol (IP) Packet, Continued The IP packet is drawn 32 bits to a line Bit 0 Bit 31 Version (4 bits) Header Length (4 bits) Diff-Serv (8 bits) Total Length (16 bits) Identification (16 bits) Flags (3 bits) Fragment Offset (13 bits) Time to Live (8 bits) Protocol (8 bits) Header Checksum (16 bits) Version is Bits 0-3 Header length is Bits 4-7 Diff Serv is Bits 8-15 Total Length is Bits 16-31 Identification is Bits 32-47 Time to live is Bits 48-55
Figure 2-15: Internet Protocol (IP) Packet Bit 0 Bit 31 Version Header Length Diff-Serv Total Length Identification Flags Fragment Offset Time to Live Protocol Header Checksum Source IP Address (32 bits) Destination IP Address (32 bits) Options (if any) Padding (to 32-bit boundary) Data Field (dozens, hundreds, or thousands of bits) Often contains a TCP segment
Figure 2-16: TCP and UDP at the Transport Layer TCP is reliable Not all applications need reliability Voice over IP cannot wait for lost or damaged packets to be transmitted Network management protocols need to place as low a burden on the network as possible Both types of applications use the simpler User Datagram Protocol (UDP) instead of TCP
Figure 2-16: TCP and UDP at the Transport Layer, Continued Protocol TCP UDP Layer Transport Connection-Oriented? Yes No Reliable? Burden on the two hosts High Low Burden on the network
Why Make TCP Reliable? Two reasons: 1. The transport layer only involves processing on the two hosts. Reliability is a heavy process. It would be far more expensive to make the internet or data link layer reliable because this would require complex processing on many routers or switches, respectively. 2. TCP’s reliability fixes errors at the transport layer and all lower layers in the process. This allows the transport layer to give the application clean data.
Figure 2-17: A Complex Application Protocol: The Simple Mail Transfer Protocol (SMTP) Some application protocols are simple HTTP: Simple request-response message cycle shown in Figure 2-2 Some application protocols are complex (Figure 2- 17) Simple Mail Transfer Protocol (SMTP) for e-mail More than a dozen messages must be exchanged to send an e-mail message
6. Vertical Communication Between Layer Processes on the Same Host
Figure 2-18: Layered Communication on the Source Host The process begins when a browser creates an HTTP request message Application Process HTTP Message Passes Message Down to Transport Process Transport Process HTTP Message TCP Hdr Encapsulation of HTTP Message in Data Field of TCP Segment
Figure 2-18: Layered Communication on the Source Host, Continued When a layer process (N) creates a message, it passes it down to the next- lower-layer process (N-1) immediately The receiving process (N-1) will encapsulate the Layer N message, that is, place it in the data field of its own (N-1) message
Figure 2-18: Layered Communication on the Source Host, Continued Transport Process HTTP Message TCP Hdr Internet Process HTTP Message TCP Hdr IP Hdr Encapsulation of TCP Segment in Data Field of IP Packet
Figure 2-18: Layered Communication on the Source Host, Continued Internet Process HTTP Message TCP Hdr IP Hdr Data Link Process Eth Trlr HTTP Message TCP Hdr IP Hdr Eth Hdr Encapsulation of IP Packet in Data Field of Ethernet Frame
Figure 2-18: Layered Communication on the Source Host, Continued Data Link Process Eth Trlr HTTP Message TCP Hdr IP Hdr Eth Hdr Physical Process Physical Layer converts the bits of the frame into signals.
Figure 2-18: Layered Communication on the Source Host, Continued The following is the final frame for a an HTTP message on an Ethernet LAN Eth Trlr HTTP Message TCP Hdr IP Hdr Eth Hdr L2 L5 L4 L3 L2 Notice the Pattern: From Right to Left: L2, L3, L4, L5, maybe L2 Start with the highest-layer message (in this case, 5) Add headers for each lower layer (L4, L3, and L2, in this case) Don’t forget the possible trailing L2 trailer
Figure 2-19: Decapsulation on the Destination Host Eth Trlr HTTP Message TCP Hdr IP Hdr Eth Hdr Data Link Process Physical Process
Figure 2-19: Decapsulation on the Destination Host, Continued HTTP Message TCP Hdr IP Hdr Internet Process Eth Trlr HTTP Message TCP Hdr IP Hdr Eth Hdr Data Link Process Decapsulation of IP Packet from Data Field of Ethernet Frame
Figure 2-19: Decapsulation on the Destination Host, Continued HTTP Message TCP Hdr Transport Process HTTP Message TCP Hdr IP Hdr Internet Process Decapsulation of TCP Segment from Data Field of IP Packet
Figure 2-19: Decapsulation on the Destination Host, Continued HTTP Message Application Process HTTP Message TCP Hdr Transport Process Decapsulation of HTTP Message from Data Field of TCP Segment
Figure 2-20: Layered End-to-End Communication Routers Have Three Layers --- Each Router Port Has Two Layers (1&2) Switches Have Two Layers --- Each Switch Port Has One Layer (1) Source and Destination Hosts Have 5 Layers Int App DL Trans Phy Source Host Switch 1 Switch 2 Router 1 Switch 3 Router 2 Destination Host
Figure 2-21: Combining Horizontal and Vertical Communication Hypertext Transfer Protocol Int App DL Trans Phy Transmission Control Protocol Internet Protocol Source Host Switch 1 Switch 2 Router 1 Switch 3 Router 2 Destination Host
7. OSI, TCP/IP, and Other Standards Architectures
Figure 2-22: The Hybrid TCP/IP-OSI Architecture Broad Purpose Hybrid TCP/IP-OSI OSI TCP/IP Communication between applications Application (Layer 5) Application Application Presentation Session Internetworking Transport (Layer 4) Transport Transport Internet (Layer 3) Network Internet Transmission within a single LAN or WAN Data Link (Layer 2) Data Link Use OSI Standards Here Physical (Layer 1) Physical
Figure 2-23: OSI and TCP/IP Standards Agency or Agencies ISO (International Organization for Standardization) ITU-T (International Telecommunications Union— Standards Sector) IETF (Internet Engineering Task Force)
Figure 2-23: OSI and TCP/IP, Continued Dominance Nearly 100% dominant at physical and data link layers 70%-80% dominant at the internet and transport layers. Documents are Called Various Mostly RFCs (requests for comments)
Figure 2-24: OSI Layers Layer 1: OSI Physical Layer Standards Nearly always used in the hybrid TCP/IP-OSI architecture Layer 2: OSI Data Link Layer Standards
Figure 2-24: OSI Layers, Continued Layer 3: OSI Network Layer Standards Same function as internet layer standards in TCP/IP But OSI network layer standards are incompatible with TCP/IP internet layer standards Rarely used Layer 4: OSI Transport Layer Standards Same function as transport layer in TCP/IP But OSI transport layer standards are incompatible with TCP/IP transport layer standards
Figure 2-24: OSI Layers, Continued Layer 5: OSI Session Layer Standards Initiate and maintain a connection between application programs on different computers Nothing like this layer in TCP/IP Rarely used because OSI is rarely used above the data link layer and below the application layer
Figure 2-24: OSI Layers, Continued Layer 6: OSI Presentation Layer Standards Designed to handle data formatting differences between the computers, data compression, and encryption. Rarely used this way because OSI standards are rarely used above the data link layer and below the application layer In practice, a category for general OSI file format standards used in multiple applications JPEG, etc. These standards are widely used
Figure 2-24: OSI Layers, Continued Layer 7: OSI Application Layer For other application-specific matters Some OSI application layer standards are used Run over TCP/IP transport/internet layer processes Almost always without actual session and presentation layer processes
Figure 2-25: Other Major Standards Architectures IPX/SPX Used by older Novell NetWare file servers Popular option for newer Novell NetWare file servers SNA (Systems Network Architecture) Used by IBM mainframe computers AppleTalk Used by Apple Macintoshes
Figure 2-26: Characteristics of Protocols Discussed in the Chapter Layer Protocol Connection- Oriented /Connectionless Reliable/ Unreliable 5 (App) HTTP Connectionless Unreliable 4 (Transport) TCP Connection- oriented Reliable 4 (Transport) UDP Connectionless Unreliable 3 (Internet) IP Connectionless Unreliable 2 (Data Link) Ethernet Connectionless Unreliable Note: Only TCP is connection-oriented and reliable