Application(web browser)HTML on HTTP
TCP
IP
Application(web server)HTML on HTTP
TCP
IP
User-space
Kernel-space(operating-system)
Socket layer(socket interface)
NIC: Network Interface Card
A real layered system
End system End system
Physical connector Physical connector
Ethernet(Card andNIC driver)
Ethernet(Card andNIC driver)
Application(web browser)HTML on HTTP
TCP
IP
Application(web server)HTML on HTTP
TCP
IP
NIC: Network Interface Card
A real layered system
End system End system
Physical connector Physical connectorPhysical connector Physical connector
Ethernet (data link-layer)
Ethernet(Card andNIC driver)
Ethernet(Card andNIC driver)
NIC: Network Interface Card
A real layered system
End systemEnd system
Application(web browser)HTML on HTTP
TCP
IP
Ethernet(Card andNIC driver)
Physical connector Physical connector Physical connector
Ethernet (data link-layer)
Network (3)
Transport (4)
Application(web server)HTML on HTTP
TCP
IP
Physical connector
Ethernet(Card andNIC driver)
Network (3)
Transport (4)
Physical (1) Physical(1)
Data-Link (2)
0 1 1 1 1 10000
0 1 1 1 1 10000
0 1 1 1 1 10000
Non-Return-to-Zero (NRZ)
Non-Return-to-Zero-Mark (NRZM) 1 = transition 0 = no transition
Non-Return-to-Zero Inverted (NRZI) (note transitions on the 1)
Line Coding Exampleswhere Baud=bit-rate
0 1 0 1 1 11000
Non-Return-to-Zero (NRZ) (Baud = bit-rate)
Manchester example (Baud = 2 x bit-rate)
Clock
Line Coding Examples - II
0 1 0 1 1 11000
0 1 0 1 1 11000
Quad-level code (2 x Baud = bit-rate)
Clock
0 1 0 1 1 11000
Line Coding Examples - III
Name 4b 5b Description0 0000 11110 hex data 01 0001 01001 hex data 12 0010 10100 hex data 23 0011 10101 hex data 34 0100 01010 hex data 45 0101 01011 hex data 56 0110 01110 hex data 67 0111 01111 hex data 78 1000 10010 hex data 89 1001 10011 hex data 9A 1010 10110 hex data AB 1011 10111 hex data BC 1100 11010 hex data CD 1101 11011 hex data DE 1110 11100 hex data EF 1111 11101 hex data F
Name 4b 5b DescriptionQ -NONE- 00000 QuietI -NONE- 11111 IdleJ -NONE- 11000 SSD #1K -NONE- 10001 SSD #2T -NONE- 01101 ESD #1R -NONE- 00111 ESD #2H -NONE- 00100 Halt
0 1 1 0 0 11010
Block coding transfers data with a fixedoverhead: 20% less information per Baud in the case of 4B/5B
So to send data at 100Mbps; the line rate(the Baud rate) must be 125Mbps.
1Gbps uses an 8b/10b codec; encoding entire bytes at a time but with 25% overhead
Data to send
Line-(Wire) representation
Line Coding Examples - IV
ScramblingSequence
ScramblingSequence
CommunicationsChannelMessage Message
MessageXOR
Sequence
MessageXOR
Sequence
Line Coding Examples - IV
ScramblingSequence
ScramblingSequence
CommunicationsChannelMessage Message
MessageXOR
Sequence
MessageXOR
Sequence
δ δ δ δ δ
e.g. (Self-synchronizing) scrambler
Line Coding Examples – V(Hybrid)
δ δ δ δ δδ δ δ δ δ
…100111101101010001000101100111010001010010110101001001110101110100…
Inserted bits marking “start of frame/block/sequence”
…10011110110101000101000101100111010001010010110101001001110101110100…
Scramble / Transmit / Unscramble
…0100010110011101000101001011010100100111010111010010010111011101111000…
Identify (and remove) “start of frame/block/sequence”This gives you the Byte-delineations for free
64b/66b combines a scrambler and a framer. The start of frame is a pair of bits 01 or 10: 01 means “this frame is data” 10 means “this frame contains data and control” – control could be configuration information, length of encoded data or simply “this line is idle” (no data at all)
Rule for adjusting W– If an ACK is received: W ← W+1/W– If a packet is lost: W ← W/2
Single Flow ARQ in operation
Only W packets may be outstanding
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Physical layer interconnect(a connector to the rest of us , in this case it connects male connector to male connector)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Data-Link (2)
Physical (1) Physical (1)
Physical device – media convertorspeaks fluent Physical-layer
But only a bit of the Data-Link (Ethernet)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1) Physical (1)
Data-Link (2)
Data-Link device aka an Ethernet switchspeaks fluent Ethernet and often the extra/new
Ethernet-related standards (802.1q for VLAN and 802.1x for Network Access Control)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1) Physical (1)
Data-Link (2)
Data-Link device aka an Ethernet switchspeaks fluent Ethernet (two standards: wire and wireless!)
Another example with media conversion
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Physical (1)
Data-Link (2)
Network (3)
Network device aka an IP Routerspeaks fluent IP and can convert between any data-link
and any physical standard to any other.
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Physical (1)
Data-Link (2)
Network (3)
Transport-layer mapping (pretty uncommon)speaks fluent TCP and ???
?
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Application device aka a Web-load balancerspeaks fluent HTTP
ARPRecall from the primary slide-stack (slide 8-22) we need a mechanism for higher-layer entities to know what address to utilize in the lower entities.
ARP (address resolution protocol) provides a mechanism for establishing a host’s link-layer (e.g. Ethernet) address using only a network-address (e.g. IP address)
ARP is not limited to either Ethernet or IP; although that is the most common current use.
A linux machine’s ARP table can be shown using the command arp -a
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Network (3)
Transport (4)
Session (5)
Presentation (6)
Application (7)
Physical (1)
Data-Link (2)
Physical (1)
Consider the following situation:
ARP
H1 H2 H3
H4 H5 H6
H7 H8 H9
H10 H11 H12
Switch
D ff.ff.ff.ff.ff.ffSP 128.187.171.2SH fe.34.56.32.d5.29DP 128.187.174.10DH 0.0.0.0.0.0
H10= IP 128.187.174.10, Ethernet 44.fe.34.56.32.d5
D ff.ff.ff.ff.ff.ffSP 128.187.171.2SH fe.34.56.32.d5.29DP 128.187.174.10DH 0.0.0.0.0.0
D ff.ff.ff.ff.ff.ffSP 128.187.171.2SH fe.34.56.32.d5.29DP 128.187.174.10DH 0.0.0.0.0.0
D ff.ff.ff.ff.ff.ffSP 128.187.171.2SH fe.34.56.32.d5.29DP 128.187.174.10DH 0.0.0.0.0.0
D fe.34.56.32.d5.29SP 128.187.174.10SH 44.fe.34.56.32.d5DP 128.187.171.2DH fe.34.56.32.d5.29
D fe.34.56.32.d5.29SP 128.187.174.10SH 44.fe.34.56.32.d5DP 128.187.171.2DH fe.34.56.32.d5.29
D 128.187.174.10D 44.fe.34.56.32.d5 S 128.187.171.2S fe.34.56.32.d5.29
D 128.187.174.10D 44.fe.34.56.32.d5 S 128.187.171.2S fe.34.56.32.d5.29
An Ethernet (switch) example
Notes
• ARP table entries timeout in about 10 minutes
ARP table rules:• update table with source when you are the
target• update table if you already have an entry• do not refresh table entries upon reference
CIDR and Longest Prefix Matches The IP address space is broken into line segments. Each line segment is described by a prefix. A prefix is of the form x/y where x indicates the prefix of all addresses in
the line segment, and y indicates the length of the segment. e.g. The prefix 128.9/16 represents the line segment containing
addresses in the range: 128.9.0.0 … 128.9.255.255.
0 232-1
128.9/16
128.9.0.0
216
142.12/19
65/8
128.9.16.14
Classless Interdomain Routing (CIDR)
0 232-1
128.9/16
128.9.16.14
128.9.16/20128.9.176/20
128.9.19/24
128.9.25/24
Most specific route = “longest matching prefix”
HDDisplay
Topology of Routers
VideoServer
Subnet Configuration
.1.1
.1.2.3.1
.30.2
.4.1
.4.2
.6.1.3.2
.7.1
.7.2
.9.1
.6.2
.10.1
.10.2
.12.1
.9.2
.13.1
.13.2
.15.1
.12.2
.16.1
.16.2.15.2
.28.1
.28.2 .27.1
.30.1
.25.1
.25.2.24.1
.27.2
.22.1
.22.2.21.1
.24.2
.19.1
.19.2
.17.1
.21.2.18.2
.5.1 .8.1 .11.1 .14.1 .18.1
.20.1.23.1.26.1
.29.1
.2.1
Video ClientShortest Path
Video Server
Step 1 – Observe the Routing Tables
The router is already configured and running on your machines
The routing table has converged to the routing decisions with minimum number of hops
Next, break a link …
Step 2 - Dynamic Re-routingBreak the link between
video server and video client
Routers re-route traffic around the broken link and video continues playing
.1.1
.1.2
.3.1
.30.2
.4.1
.4.2
.6.1.3.2
.7.1
.7.2
.9.1
.6.2
.10.1
.10.2
.12.1
.9.2
.13.1
.13.2
.15.1
.12.2
.16.1
.16.2.15.2
.28.1
.28.2.27.1
.30.1
.25.1
.25.2.24.1
.27.2
.22.1
.22.2.21.1
.24.2
.19.1
.19.2
.17.1
.21.2.18.2
.5.1 .8.1 .11.1 .14.1 .18.1
.20.1
.23.1.26.1
.29.1
.2.1
Working IP Router
– Observe PW-OSPF re-routing traffic around a failure
– Video is temporarily disrupted then resumes playing as TCP recovers from packet-loss
Collision detection can take as long as 2τ
CSMA/CD Ethernet (10Mbps circa 1980)
A B
A B
A B
A B
Packet starts at time 0
Packet arrives at B at τ-ε
Packet starts from B at time τCollision shortly thereafter
Noise (the collision) arrivesat A at time 2τ
AUser
BCDE
In pure Aloha, framesare transmitted at arbitrary (and uncoordinated) times
Time