Networks - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Networks

Description:

Process b forks a process or spawns a thread c to talk with m:q, then resumes listening on p ... Examples of Connection-based Protocols. Telnet (virtual terminal) ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 23
Provided by: hughc7
Category:

less

Transcript and Presenter's Notes

Title: Networks


1
Networks Communication(continued)
  • CS-502Operating Systems
  • (Slides include materials from Operating System
    Concepts, 7th ed., by Silbershatz, Galvin,
    Gagne, Modern Operating Systems, 2nd ed., by
    Tanenbaum, and Distributed Systems Principles
    Paradigms, 2nd ed. By Tanenbaum and Van Steen)

2
Principal Abstraction Socket
  • Originally created in BSD Unix
  • Now, part of most operating systems
  • Allows opening a connection between two processes
    across network
  • Connection
  • a serial conversation between two end points
  • e.g., processes, threads, tasks on different
    machines
  • organized as a sequence of messages or datagrams
  • distinct from all other connections
  • One of the four principal abstractions provided
    by most modern operating systems

3
Definition Protocol
  • Formal set of rules that govern the formats,
    contents, and meanings of messages from computer
    to computer, process to process, etc.
  • Must be agreed to by all parties to a
    communication
  • May be defined in terms of other protocols

4
The OSI 7-layer model(in a nutshell)
Silbershatz, 16.6-16.7
5
Annotated OSI 7-Layer Stack
Silbershatz, page 630
6
Summary OSI 7-layer model
7
Circular Definition
  • Socket
  • End point of a connection
  • Usually used in pairs, one for each direction
  • Comprises IP Address Port
  • Connection
  • A logical linkage between pairs of sockets at two
    endpoints for purposes of a particular
    communication between those endpoints
  • i.e., a serial conversation between endpoints
  • Usually two-way

8
Connection
  • The backbone of most message-oriented
    communication protocols
  • Each party retains knowledge of the other
  • Each party retains information about state of the
    other (vis a vis the protocol itself)
  • Each party knows if connection is broken
  • Note some popular protocols are
    connection-less
  • one side retains no state information about other
    side

9
Establishing a Connection
  • Process a on machine m creates a socket
  • OS assigns a new port number q to that socket
  • Process a attempts to open a connection to
    machine np
  • p is a well-known port
  • Process b on machine n is listening on p
  • Receives request from mq
  • Process b forks a process or spawns a thread c to
    talk with mq, then resumes listening on p
  • Thread/process c
  • Creates a new socket r for this connection
  • Replies to mq with return address nr
  • a and c continue to communicate over this pair of
    sockets until they are finished.

10
Typical Client-Server Connection
  • Create socket
  • On server side
  • Bind
  • I.e., connect socket to port (usually
    well-known port)
  • Listen
  • Sit and wait for a communication to come in
  • Accept
  • Create new socket for purpose of responding to
    this caller

11
Notes
  • Responder to request for connection does not have
    to be the original server machine
  • Delegate workload to other server systems
  • Systems often include a connection ID as part of
    request to open connection
  • Unique or randomly chosen
  • Reduces spoofing of server responses
  • Unix/Linux will not re-use a socket within 30
    seconds
  • To avoid confusion between old connection and new

12
Reliable Connections
  • Transport layer partitions messages into packets
  • TCP Transmission Control Protocol
  • Sequence number of current packet
  • Sequence number of last packet received correctly
  • Receiver keeps track of sequence of packets
  • Reassembles in right order
  • Notify sender of missing, broken packets
  • Sender keeps copy of each packet until receipt
    acknowledged
  • Retransmits packets if no acknowledgement
  • Window defines how many packet buffers to
    maintain for efficient transmission
  • Allows many packets in flight

13
Reliable Connections (continued)
Packet i
Packet i1
Packet i2
Packet i3
recd i

Packet ik
time
14
Reliable Connections (continued)
Packet i
Packet i1
Packet i2
Packet i3
recd i

recd i
Packet ik
time
15
Reliable Connections (continued)
Packet i
Packet i1
Packet i2
Packet i3
recd i

recd i
Packet ik
recd i2
time
16
Reliable Connections (continued)
Packet i
Packet i1
Packet i2
Packet i3
recd i

recd i
lost
Packet ik
recd i2

recd i2
time
17
Reliable Connections (continued)
  • If acknowledgement received for packet i
  • Delete from buffer all packets ? i
  • If no acknowledgement received within a
    reasonable time for packet k
  • Retransmit from buffer all packets ? k
  • Result
  • Recovers from loss of packets
  • Recovers from loss of acknowledgements
  • Works well for reasonably reliable internet
  • Doesnt work so well for noisy, unreliable
    networks

18
Reminder
  • How do we know if a packet is received correctly?
  • Cyclic Redundancy Check (CRC)
  • Polynomial computed from packet header and body
  • Usually 16 or 32 bits, computed by hardware
  • Appended to message
  • Recomputed on reception, compared with
    transmitted CRC
  • Equal ? packet received correctly

19
Examples of Connection-based Protocols
  • Telnet (virtual terminal)
  • 2-way communication by character stream
  • Line-by-line organization
  • SMTP (Simple Mail Transport Protocol)
  • For sending mail
  • Layered on top of telnet protocol
  • POP (Post Office Protocol)
  • For receiving your mail
  • Layered on top of telnet protocol
  • FTP (File Transfer Protocol)
  • For transmitting ASCII or binary files
  • Binary data transmission not layered on telnet
    protocol

20
Connection-less communication
  • Some communication protocols dont need the
    overhead of reliable connections
  • When some number of errors can be tolerated
  • Where recovery from those errors is easy
  • UDP User Datagram Protocol
  • The internet connection-less protocol (layer 4)
  • Breaks messages into packets
  • Reassembles at destination
  • Messages delivered completely or not at all
  • Does not send acknowledgement of correct receipt

21
Examples
  • HTTP (HyperText Transport Protocol)
  • Web server responds directly to requests
  • If client does not get response, retries request
  • NFS (Network File System)
  • For access to files on servers as if they are
    local
  • If client does not get response, retries request
  • RPC (Remote Procedure Call)
  • Next topic

22
Summary
  • Socket, connection
  • Network stack, 7-layer model
  • Establishing a connection
  • Reliable transmission
  • Reading assignment
  • Silbershatz Chapter 16
Write a Comment
User Comments (0)
About PowerShow.com