Presentation is loading. Please wait.

Presentation is loading. Please wait.

Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented.

Similar presentations


Presentation on theme: "Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented."— Presentation transcript:

1 Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented as C function calls (the entities are processes): –e.g. Socket “ wrapper ” functions bind(), listen(), connect(), accept(), send(), recv(),... –e.g. TCP services to the application layer tcp_connect(), tcp_rcv(), tcp_sendmsg(), tcp_close(),... –e.g. UDP services to the application layer udp_sendmsg(), udp_recvmsg(), … –e.g. IP services to the transport layer ip_send_check(), ip_check_route(),...

2 Types of Services Two flavors : –Connection-oriented service –Connectionless service (datagram service) Quality of Service –reliable, unreliable Reliable connection-oriented services –message sequences (message boundaries preserved) –byte streams (just a stream of bytes)

3 Classes of Service Primitives Request –An entity wants the service to do some work. Indication –An entity is to be informed about an event. Response –An entity wants to respond to an event. Confirm –The response to an earlier request has come back.

4 Services vs. Protocols Service: Set of primitive operations. Protocol: Rules governing the format and the meaning of messages exchanged by peer entities. –e.g. Negotiation

5 TCP as an example TCP is a reliable, connection-oriented, byte- stream protocol. Reliability provided by mechanism call Positive Acknowledgement with Re-transmission (PAR). –A system using PAR sends the data again, unless it hears from the remote system that the data arrived okay. –Unit exchanged: segment. Provides checksum to verify that the data is undamaged. –If a data segment arrives damaged, then it is discarded. Sender will timeout and retransmit segment. –If the data segment is undamaged, a positive acknowledgement is sent back to the sender.

6 TCP example continued Logical end-to-end connection is established via handshake. –Handshake: control info is exchanged to establish a dialogue before data is transmitted. Segment header contains flags specifying control information. –TCP uses a three-way handshake. SYN ACK, data SYN, ACK Data xfer begun Host AHost B

7 TCP 3-way handshake Host A begins connection by sending host B a segment with SYN bit set. –SYN: synchronize sequence numbers. Host B responds to A with a segment that has the ACK and SYN bits set. B informs A of the starting sequence number. Host A replies with ACK along with the first actual data to be transferred.

8 More TCP When data transfer has concluded a three way handshake containing segments with the FIN bit set is used to close the connection. –FIN: No more data from sender. TCP views the data as a continuous stream of bytes. ACK performs both positive acknowledgement and flow control. –Not every packet is acknowledged (sequence number informs sender how many packets are acknowledged). –Window field informs remote end of the number of bytes that it is able to accept.

9 Server Side of Communication Setup Server calls listen() function. –Process blocks, kernel handles communication requests. Receives SYN segment. SYN/ACK is returned to the sender. Wait for final ACK. ACK is received. Connection is now established.

10 Client Side of Communication Setup Client used the connect() function to set up a connection with the server. This function sends a SYN segment to the server. –Process is blocked until SYN/ACK is received from the server. When the SYN/ACK is received, client sends back the concluding ACK. The client now considers the connection setup complete.

11 Hybrid Tanenbaum Reference Model Application Layer Transport Layer Data Link Layer Network Layer Physical Layer 1 2 3 4 5

12 Example Networks and Communication Services Novell NetWare X.25 Frame Relay ISDN ATM

13 Novell NetWare NetWare = network operating system (NOS) + related support services. Novell, Inc., early 1980 ’ s –Transition from mainframes to PC LANs. Client/Server model –clients: desktop PC ’ s. –servers: PC dedicated as servers. Early 1990 ’ s, NOS market share between 50 and 75 percent.

14 Technology Basics NetWare NOS environment specifies the upper five layers of the OSI reference model. Provides –file/printer sharing –email –DBMS –etc.. Clients now run on a variety of systems. Remote procedure calls – transparent remote access

15 Media Access Layer Physical + Data Link NetWare runs on –Ethernet (IEEE 802.3) –Token Ring (IEEE 802.5) –FDDI –ARCnet –PPP

16 Network Layer Internet Packet Exchange (IPX) –Analogous to IP Encapsulation: The process of packaging upper-layer protocol information and data into a frame. IPX uses RIP (Routing info Protocol)

17 Transport Layer Sequence Packet Exchange (SPX) –like TCP –reliable, connection-oriented Offers IP support using UDP encapsulation of Novell packets (e.g. IPS,IPX packets). NetWare Core Protocol (NCP) services application requests (e.g. NetWare shell). –More of an application layer protocol. –Provides Network Transparency to Apps.

18 Communication Services X.25 –older public networks (~60 Kbs?) –Connection-oriented, proved virtual circuits. Frame Relay –bare bones virtual leased lines (~1.5 Mbps) ISDN –digital data over separate channels.


Download ppt "Interfaces and Services Each layer provides a service to the layer above it. A service is a set of primitive operations. Under UNIX, primitives are implemented."

Similar presentations


Ads by Google