Networks - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Networks

Description:

(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, ... Role of Session and Presentation layers is murky, at best. ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 43
Provided by: hughc7
Category:
Tags: murky | networks

less

Transcript and Presenter's Notes

Title: Networks


1
Networks Communication
  • 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
Context
  • Networking was formerly regarded as just another
    form of I/O
  • Today, focus is Distributed Computing
  • Shared files and other resources among physically
    separated systems on networks
  • NFS, remote printing, etc.
  • Integrated computations across network
  • Airline reservations, ATMs, etc.
  • Interactive games and multimedia
  • Note this topic overlaps with CS-513/ECE-506

3
Topics
  • Fundamentals
  • Socket interface
  • Protocol Stack
  • Kinds of network connections
  • Kinds of Communication
  • Remote Procedure Call
  • Message-oriented communication
  • Stream-oriented communication
  • Naming
  • Names, addresses, routes

4
(No Transcript)
5
Network Goal
  • Allow activities on multiple computer systems to
    communicate with each other
  • Shared memory, files, or data
  • Message passing
  • Remote Procedure Call
  • Integrated applications distributed across
    physical space
  • Create abstractions that make these (relatively)
    transparent

6
Principal Abstraction Socket
  • Originally created in BSD Unix
  • Subsequently, 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

7
(No Transcript)
8
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

9
There are many, many protocols
  • TCP, UDP, IP, NCP, SMTP, SNNP, NNTP, FTP, TFTP,
    POP, IMAP, HTTP, VMRL,
  • Appletalk, Netware,
  • Remote Procedure Call, NFS,
  • CORBA, GLOBE, JINI,
  • Network Streaming,
  • How to make sense out of all of them?

10
Network Stack
  • 1983 Open System Interconnection (OSI) 7 layer
    Reference Model
  • Working group of the International Standards
    Organization (ISO)
  • Defines seven layers
  • Describe how applications communicate with each
    other
  • Via network-aware devices
  • Most day-to-day protocols
  • work on a slightly modified layer system
  • E.g. TCP/ IP uses a 6-rather than a 7-layer model

11
OSI 7-layer model
  • Primarily a software and protocol architecture
  • Layers of model correspond to layers of
    abstraction
  • Each layer has a well-defined function
  • Layers chosen so that
  • international standards can be defined
  • Boundaries between layers chosen to
  • minimize information flow across interfaces
  • Number of layers
  • Large enough
  • Distinct functions need not be thrown together
  • Small enough
  • Architecture does not become unwieldy

12
The OSI 7-layer model(in a nutshell)
Silbershatz, 16.6-16.7
13
Annotated OSI 7-Layer Stack
Silbershatz, page 630
14
The OSI 7-layer model (continued)
  • Layer 2 Data Link Layer
  • Take the raw transmission facility and transform
    it into an abstract link that appears free of
    errors to layer 3.
  • Error correcting coding (e.g. FEC)
  • Rate Control (Slow device not overrun by high
    speed device)
  • Defines Packet abstraction
  • Layer 1 Physical Layer
  • Defines the physical and electrical
    characteristics of the network.
  • Transmitting of raw bits over the communication
    channel
  • Defines Bit abstraction

Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
15
The OSI 7-layer model (continued)
  • Layer 2 Data Link Layer
  • Take the raw transmission facility and transform
    it into an abstract link that appears free of
    errors to layer 3.
  • Error correcting coding (e.g. FEC)
  • Rate Control (Slow device not overrun by high
    speed device)
  • Defines Packet abstraction
  • Layer 1 Physical Layer
  • Defines the physical and electrical
    characteristics of the network.
  • Transmitting of raw bits over the communication
    channel
  • Defines Bit abstraction

Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
16
The OSI 7-layer model (continued)
  • Layer 3 Network Layer
  • Controlling the operation of the subnet
  • How packets are routed
  • Congestion Control
  • Accounting function (billing)
  • Network Statistics
  • Example - IP layer (IPv4, IPv6)
  • Differences between v4, v6 source/destination
    addressing
  • V4 32 bit addressing
  • V6 128 bit addressing
  • Defines Internet abstraction i.e., packets that
    can be sent from anywhere to anywhere

Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
17
The OSI 7-layer model (continued)
  • Layer 4 Transport Layer
  • Accept data from higher layers
  • Split it up into smaller units if need be
  • Passes these to the network layer
  • Ensures that the packets all arrive correctly at
    the destination in the right order
  • Isolates higher layers from changes in the
    underlying hardware
  • Two types of service to provide
  • Reliable or unreliable delivery
  • True end-to-end layer
  • Example TCP or UDP
  • Defines Connection abstraction i.e., data to
    destination

Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
18
The OSI 7-layer model (continued)
  • Layer 7 Application Layer
  • User layer protocol, multiple protocols required
  • Example http, ftp, smtp
  • Layer 6 Presentation Layer
  • Performs certain functions that are requested
    sufficiently often to warrant finding a general
    solution for them rather than letting each user
    solve the problem
  • Example encoding data
  • Layer 5 - Session Layer
  • Allows users on different machines to establish
    sessions between them
  • Example SSL, RPC

Application Layer
Presentation Layer
Session Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
19
Summary OSI 7-layer model
20
Layered Protocols
  • OSI 7-layer model was intended to be a foundation
    of a family of international standard protocols
  • Those protocols never gained much acceptance
  • Role of Session and Presentation layers is murky,
    at best.
  • Internet protocols (TCP/IP, etc.) are dominant

21
The TCP/IP Protocol Layers
22
The TCP/IP Protocol Layers
Subsumed by middleware
Defined by manufacturers, industry sub-groups,
and separate standards bodies
23
Modified Layers
24
Examples of Middleware
  • Authentication protocols
  • Commit protocols for atomic transactions
  • Multimedia protocols
  • Remote Procedure Call protocols (RPC)

25
Styles of Communication
  • Message-oriented
  • Remote Procedure Call
  • Streaming

26
Some Terms
  • Packet
  • A unit of communication at Data Link layer
  • aka datagram
  • IP Address
  • A four-part number used by Network Layer to
    route a packet from one computer to another
  • Port
  • A 16-bit number used within one computer to
    identify who/where to send packet to
  • Well-known port
  • A port with number lt 1024, used by agreement for
    standard services e.g.,
  • telnet (23), ftp (21), smtp (25), pop (110)

27
More Terms
  • Socket
  • End point of a communication
  • 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

28
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

29
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.

30
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

31
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

32
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 seq. 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

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

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

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

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

recd i
lost
Packet ik
recd i2

recd i2
time
37
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

38
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

39
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

40
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
  • Messages delivered atomically or not at all
  • Does not send acknowledgement of correct receipt

41
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

42
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