240 likes | 351 Views
ITEC801 Distributed Systems. Protocols Coulouris chapter 3. Important Things. Things to get from this set of slides What is a protocol? What are protocols for? Why we have many protocols What is the difference between connection-oriented and connectionless. Protocols.
E N D
ITEC801Distributed Systems Protocols Coulouris chapter 3
Important Things • Things to get from this set of slides • What is a protocol? • What are protocols for? • Why we have many protocols • What is the difference between connection-oriented and connectionless Protocols
Protocols • Inter-process communication is at the heart of distributed systems • IPC depends on protocols • a protocol is simply the rules by which the communication is carried out • a network communications protocol defines all the messages (and their ordering) for a communication Protocols
Protocol • Protocol definitions include • Error detection • Message length • Message structure • etc • Protocol implementations may be in hardware or software Protocols
How Do Protocols Work? • Transmission of data over network broken down into discrete systematic steps • At each step, certain actions take place • Each step has its own rules and procedures which cannot take place at any other step Protocols
Protocol Functioning • Steps must be carried out in a consistent order on every computer in the network • Sending Computer: Steps carried out-Top down. • Receiving Computer: Steps carried out bottom-up. Protocols
Protocols Protocols
Protocol • There are many protocols • Each protocol has a different purpose and accomplishes different task • Several protocols work together in what is known as a Protocol Stack • Levels of the protocol stack map on to layers of the OSI model Protocols
Layered Protocols • Computer network protocols are layered • each layer has its own function • for example: • Network level: IP • Transport level: TCP. • Application level • RPC • Remote method Invocation (RMI) • Message oriented Middleware (MOM) Protocols
Internet Protocols (some) Upper Layers Telnet SNMP User apps User apps HTTP TFTP FTP TCP UDP Transport IP ICMP Network Protocols
Need for a Protocol Stack • Require a high degree of cooperation between two computer systems that communicate • Activities include: • Path determination/conveying control information to network • Ascertaining destination status • Ascertaining destination application status • Determining format Protocols
Need for a Protocol Stack • Single module versus multiple modules. • We could implement all communication in a single piece of software • too unwieldy and hard to maintain Protocols
Internet Protocol Stack: TCP/IP • Standard routable enterprise networking protocol • Technology for connecting dissimilar systems Protocols
TCP/IP layers: • Application: user interface to Internet. • Transport: • Transmission Control Protocol (TCP): Connection oriented reliable communications for applications. • User Datagram Protocol (UDP): connectionless • Network: Internet Protocol: For routing and addressing. (RFC 791) • Network Interface layer: Inserting/removing frames from network. Protocols
OSI Reference Model • Defines seven layers • Physical: Concerned with transmission of unstructured bit stream over physical medium. • Data link: Reliable transmission of information across physical link. • Network: Provides upper layer independence from data transmission/switching technologies. Protocols
OSI Reference Model • Transport: reliable transfer of data between end points. • Session: Control structure for communication between application. • Presentation: Independence to application process from data representation. • Application: Access to environment. Protocols
OSI Reference Model Protocols
Connection-Oriented versus Connectionless • Protocols can be connection–oriented OR Connectionless • Connection oriented: A logical connection is set up between sender and receiver before they actually communicate • Connectionless: Sender and receiver communicate without establishing a logical connection Protocols
Connection-Oriented • Setup phase when the connection is created • Communication phase during which the communications happens • Pull-down phase when the connection is terminated Protocols
Protocol Terminology • Entity: active elements in each layer • Peer Entities: Entities in same layer but on different machines • Entities in layer N implement a service used by layer N+1 • N layer: Service provider • N+1 layer: service user Protocols
Protocols • Each layer provides service at an access point : SAP (Service Access Point) • Each SAP has a unique address that identifies it. • Agreed set of rules at Interface between any two layers Protocols
Protocols • Information block passed by layer N+1 to layer N through SAP: Interface Data Unit (IDU) • IDU Block= SDU (Service Data Unit) + Control (ICI) • ICI: Interface Control Information • SDU information passed along network to peer entity up to layer N+1 Protocols
Protocols • Control: some guidelines for layer N to do its Job. • Processing on SDU by layer N results in PDU (Protocol Data Unit) • PDU = SDU+ Header • PDUs generated at different layers given a different name Protocols
Relation Between Layers at an Interface ICI SDU Layer N+1 SAP Interface ICI SDU Layer N Header SDU N-PDU Protocols