Data communications and Networking Chapter 2 Protocol Architecture: TCP/IP model and osl Model Reading Book Chapter 2 Data and Computer Communications, 8th edition yWi∥ am Stallings
1 Data Communications and Networking Chapter 2 Protocol Architecture: TCP/IP model and OSI Model Reading: Book Chapter 2 Data and Computer Communications, 8th edition By William Stallings
Outline Section 1: The need for a protocol architecture Section 2: TCP/IP protocol architecture Section 3 OSi model ° Learning outcomes -Describe the network protocol architectures and reference models
2 Outline • Section 1: The need for a protocol architecture • Section 2: TCP/IP protocol architecture • Section 3: OSI model • Learning outcomes: —Describe the network protocol architectures and reference models
Section 1 The need for a protocol architecture
3 Section 1 The Need for a Protocol Architecture
What is a protocol? · From dictionary: 一 A general definition: the accepted or established code of procedure or behavior in any group organization, or situation -For computing set of rules governing the exchange or transmission of data electronically between devices
4 What is a protocol? • From dictionary: —A general definition: the accepted or established code of procedure or behavior in any group, organization, or situation —For computing: set of rules governing the exchange or transmission of data electronically between devices
Protocol o perform a task, the involved parties usually follow a common protocol designed for this task The protocol is just a set of rules or conventions Different tasks use different protocols Some key features of a protocol Syntax Concerns the format of the data blocks Semantics Includes control information for coordination and error handling Timing Includes speed matching and sequencing 5
5 Protocol • To perform a task, the involved parties usually follow a common protocol designed for this task — The protocol is just a set of rules or conventions — Different tasks use different protocols • Some key features of a protocol — Syntax • Concerns the format of the data blocks — Semantics • Includes control information for coordination and error handling — Timing • Includes speed matching and sequencing
Examples of Protocol Two protocols will be studied in your first lab Http is the protocol used for browsing website Web browser <---- Web server http://www.youtube.com/watch?v=1iqfitndozo&feature=related SMTP is the protocol used for sending emails Email client software <---- SMTP server a new application usually uses a new protocol, e. g. Bit Torrent protocol http:/len.wikipediaorg/wiki/bittorrent_(prOtocol) TCP is a protocol used by internet hosts for reliable data transmission - Recall that Internet packets could be lost inside the Internet IEEE 802. 11 is the protocol used in WiFi How to coordinate a number of wireless devices within a wifi network? 6
6 Examples of Protocol • Two protocols will be studied in your first lab — HTTP is the protocol used for browsing website • Web browser Web server • http://www.youtube.com/watch?v=1IQFjTnDozo&feature=related — SMTP is the protocol used for sending emails • Email client software SMTP server • A new application usually uses a new protocol, e.g. BitTorrent protocol: http://en.wikipedia.org/wiki/BitTorrent_(protocol) • TCP is a protocol used by Internet hosts for reliable data transmission — Recall that Internet packets could be lost inside the Internet • IEEE 802.11 is the protocol used in WiFi — How to coordinate a number of wireless devices within a WiFi network?
Need For protocol architecture There are lots of network applications Building each application from scratch is very time-consuming and challenging What commands should be supported -How to respond to each command? -How to identify the two peer applications? Each computer may run multiple applications -How to identify the two computers? -How to convert the data into bit stream? -How to convert the bit stream into signals? How to detect and handle data loss and data error? The network is not perfect -Etc
7 Need For Protocol Architecture • There are lots of network applications • Building each application from scratch is very time-consuming and challenging —What commands should be supported? —How to respond to each command? —How to identify the two peer applications? • Each computer may run multiple applications! —How to identify the two computers? —How to convert the data into bit stream? —How to convert the bit stream into signals? —How to detect and handle data loss and data error? • The network is not perfect! —Etc
(Cont) Most of the network apps share some common modules Application A Application B Application C Module a Module b Module c Module t Module t Module t Module i Module i Module i C ommon Module n Module n Module n modules Module p Module p Module p 8
8 (Cont.) • Most of the network apps share some common modules Application A Module A Module T Module I Module N Module P Application B Module B Module T Module I Module N Module P Application C Module C Module T Module I Module N Module P Common modules
(Cont) a complex task is broken into subtasks: modular design Each subtask is implemented separately as a layer arranged in a vertical stack Each layer performs a related subset of the functions required to communicate with another system It relies on the next lower layer to perform more primitive functions and to conceal the details of those functions -It provides services to the next higher layer. Layers should be defined so that changes in one layer do not require changes in other layers. So, instead of using a single complex protocol, it's more flexible to implement a stack of protocols! Reduce the design and development workload significantly
9 (Cont.) • A complex task is broken into subtasks: modular design — Each subtask is implemented separately as a layer, arranged in a vertical stack • Each layer performs a related subset of the functions required to communicate with another system. — It relies on the next lower layer to perform more primitive functions and to conceal the details of those functions. — It provides services to the next higher layer. — Layers should be defined so that changes in one layer do not require changes in other layers. • So, instead of using a single complex protocol, it’s more flexible to implement a stack of protocols! — Reduce the design and development workload significantly!
Vertical stack Application A Application B Application C Application developers Modulea Module Module C Module t Operating system Module i Module n Hardware be replaced by other modules Module p斗 →| Module w 10
10 Vertical Stack Application A Module A Module T Module I Module N Module P Application B Module B Module C Application C Module W can be replaced by other modules Application developers Operating System Hardware