Download IRIS Project

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Zigbee wikipedia , lookup

Low-voltage differential signaling wikipedia , lookup

Net bias wikipedia , lookup

TCP congestion control wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

CAN bus wikipedia , lookup

Computer network wikipedia , lookup

Deep packet inspection wikipedia , lookup

Network tap wikipedia , lookup

Airborne Networking wikipedia , lookup

IEEE 1355 wikipedia , lookup

Internet protocol suite wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

UniPro protocol stack wikipedia , lookup

Transcript
L10: Protocols and Layering
Dina Katabi
6.033 Spring 2007
http://web.mit.edu/6.033
Some slides are from lectures by
Nick Mckeown, Ion Stoica, Frans
Kaashoek, Hari Balakrishnan, Sam
Madden, and Robert Morris
Plan for studying network systems
Sharing and
challenges
Layering
7.A
Ethernet
7.B+C
End-to-end
Routing
7.D
End-to-end
reliability
Congestion
control
7.E
Internet
routing
Network file
system
NATs
7.F
Network Design
Problem
• How do we organize design of a network?
Solution
• layering of protocols
Layering of protocols
• Layering is a particular form of
abstraction
• The system is broken into a vertical
hierarchy of protocols
• The service provided by one layer is
based solely on the service provided by
layer below
Layering tools for nesting
•
•
•
•
Each layer
Each layer
Each layer
Each layer
adds/strips off its own header
may split up higher-level data
multiplexes multiple higher layers
is (mostly) transparent to higher layers
data
data
data
data
data
data
data
data
Layering: The Internet
HTTP
Application
End-to-End
Layer
TCP
Transport
IP
Network
Ethernet
Link
The 4-layer Internet model
Multiplexing in the Internet
• Many applications, transports, and link protocols
• All use IP at the network layer
HTTP
Application
Transport
Internet
Link
SSH
TCP
RTP
UDP
IP
Ethernet
Packet
radio
Where are these layers?
• Link and network layers are implemented
everywhere
• The end-to-end layer (i.e., transport and
application) is implemented only at hosts
Host
Application
Transport
Network
Datalink
Peer-layer communication
Router
Network
Datalink
Physical medium
Host
Application
Transport
Network
Datalink
Clever usages of layering
• Nesting layers to the
extreme: tunneling
• Run link layer over TCP
(Virtual Private Network)
• Router uses TCP as
transport for routing
protocol (e.g., BGP)
• …
HTTP
TCP
IP
ssh
TCP
…
Link Layer
Problem:
Deliver data from one end of the link to the
other
Need to address:
• Bits Analog  Bits
• Framing
• Errors
• Medium Access Control (The Ethernet Paper)
Manchester encoding
Time
0
1
1
1
0
• Each bit is a transition
• Allows the receiver to sync to the sender’s clock
Framing
• Receiver needs to detect the beginning and
the end of a frame
• Use special bit-pattern to separate frames
• E.g., pattern could be 1111111 (7 ones)
• Bit stuffing is used to ensure that a special
pattern does not occur in the data
• If pattern is 1111111  Whenever the sender sees
a sequence of 6 ones in the data, it inserts a zero
(reverse this operation at receiver)
Error Handling
• Detection:
• Use error detection codes, which add some
redundancy to allow detecting errors
• When errors are detected
• Correction:
• Some codes allow for correction
• Retransmition:
• Can have the link layer retransmit the frame (rare)
• Discard:
• Most link layers just discard the frame and rely on
higher layers to retransmit
This Lecture
• To cope with the complexity, the network
architecture is organized into layers
• The link layer delivers data between two
machines that are directly connected
using a link