internet protocol - stanford secure computer systems … when necessary (mtu < size of...
TRANSCRIPT
![Page 1: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/1.jpg)
Overview
• Internet Protocol- What it provides and its header
- Fragmentation and assembly
- IP address assignment
• Address mapping and allocation
• Forwarding: switching, circuits, and sourcerouting
![Page 2: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/2.jpg)
Internet Protocol Goal
• Glue lower-level networks together
R2
R1
H4
H5
H3H2H1
Network 2 (Ethernet)
Network 1 (Ethernet)
H6
Network 4(point-to-point)
H7 R3 H8
Network 3 (FDDI)
![Page 3: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/3.jpg)
The Hourglass, Revisited
…
FTP
TCP UDP
IP
NET1 NET2 NETn
HTTP NV TFTP
![Page 4: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/4.jpg)
Internet Protocol
• Connectionless (datagram-based)
• Best-effort delivery (unreliable service)- packets are lost
- packets are delivered out of order
- duplicate copies of a packet are delivered
- packets can be delayed for a long time
![Page 5: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/5.jpg)
IPv4 packet format
0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9 0 10 1 2 3
hdr lenvers TOS Total Length
Identification Fragment offsetDM
TTL Protocol hdr checksum
Source IP address
Destination IP address
Options Padding
F0 F
Data
![Page 6: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/6.jpg)
IP header details
• Routing is based on destination address
• TTL (time to live) decremented at each hop (avoids loops)- TTL mostly saves from routing loops
- But other cool uses. . .
• Fragmentation possible for large packets- Fragmented in network if crosses link w. small frame size
- MF bit means more fragments for this IP packet
- DF bit says “don’t fragment” (returns error to sender)
• Following IP header is “payload” data- Typically beginning with TCP or UDP header
![Page 7: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/7.jpg)
Example Encapsulation
Application data
Transport header
IP header
Link layer header
Sending Receiving
![Page 8: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/8.jpg)
IPv4 packet format
0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9 0 10 1 2 3
hdr lenvers TOS Total Length
Identification Fragment offsetDM
TTL Protocol hdr checksum
Source IP address
Destination IP address
Options Padding
F0 F
TCP or UDP headerTCP or UDP payload
![Page 9: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/9.jpg)
Other IP Fields
• Version: 4 (IPv4) for most packets, there’s also IPv6(lecture 9)
• Header length (in case of options)
• Type of Service (diffserv, we won’t go into this)
• Protocol identifier (UDP: 17, TCP: 6, ICMP:1, whyis TCP earlier?)
• Checksum over the header
• Let’s look at a packet with wireshark
![Page 10: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/10.jpg)
Fragmentation & Reassembly
• Each network has some maximum transmissionunit (MTU)
• Strategy- Fragment when necessary (MTU < size of Datagram)
- Source host tries to avoid fragmentationWhen fragment is lost, whole packet must be retransmitted!
- Re-fragmentation is possible
- Fragments are self-contained datagrams
- Delay reassembly until destination host
- Do not recover from lost fragments
![Page 11: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/11.jpg)
Fragmentation example
H1 R1 R2 R3 H8
ETH FDDI
PPP IP (376)
PPP IP (512)
PPP IP (512) (512)
ETH IP
ETH IP
(512)ETH IP
(376)
IP (1400) IP (1400)
R1 R2 R3
• Ethernet MTU is 1,500 bytes
• PPP MTU is 576 bytes- R2 Must fragment IP packets to forward them
![Page 12: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/12.jpg)
Fragmentation example(continued)
• IP addresses plus ident fieldidentify fragments belonging tosame packet
• MF (more fragments) bit is 1 in allbut last fragment
• Fragment size multiple of 8 bytes- Multiply offset field by 8 to get fragment
position within original packet
(a)
Ident = x
Start of header
Rest of header
1400 data bytes
Offset = 00
(b)
Ident = x
Start of header
Rest of header
512 data bytes
Offset = 01
Ident = x
Rest of header
512 data bytes
Offset = 641
Start of header
Ident = x
Start of header
Rest of header
376 data bytes
Offset = 1280
![Page 13: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/13.jpg)
Format of IP addresses• Globally unique (or made to seem that way)
• Hierarchical: network + host- Aggregating addresses saves memory in routers, simplifies
routing (as we will see next lecture)
• Originally, routing prefix embedded in address:
Network Host
7 24
0(a)
Network Host
14 16
1 0(b)
Network Host
21 8
1 1 0(c)
(Still hear “class A,” “class B,” “class C”)
• Now, routing info on “CIDR” blocks, addr+prefix-len- E.g., 171.67.0.0/16
![Page 14: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/14.jpg)
Translating IP to lower-level addresses
• Map IP addresses into physical addresses- E.g., Ethernet address of destination host
- Or Ethernet address of next hop router
• Techniques- Encode link layer address in host part of IP address
(option is available, but only in IPv6)
- Each network node maintains a lookup table (link→IP)
• ARP – address resolution protocol- Table of IP to link layer address bindings
- Broadcast request if IP address not in table
- Everybody learns physical address of requesting node (broadcast)
- Target machine responds with its link layer address
- Table entries are discarded if not refreshed
![Page 15: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/15.jpg)
Need for Address Translation
• Layer 2 (link) address names a hardware interface- E.g., my wireless ethernet 00:13:42:d2:93:11
[digits changed to protect the weak MAC-layer filtering]
• Layer 3 (network) address names a host- E.g., www6.stanford.edu is 171.67.22.48
• Details:- A single host can have multiple hardware interfaces, so
multiple link layer addresses for a single network address
- A node is asked to forward a packet to another IP address:out which hardware interface does it send the packet?
![Page 16: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/16.jpg)
Arp Ethernet packet format
TargetHardwareAddr (bytes 2–5)
TargetProtocolAddr (bytes 0–3)
SourceProtocolAddr (bytes 2–3)
Hardware type = 1 ProtocolType = 0x0800
SourceHardwareAddr (bytes 4–5)
TargetHardwareAddr (bytes 0–1)
SourceProtocolAddr (bytes 0–1)
HLen = 48 PLen = 32 Operation
SourceHardwareAddr (bytes 0–3)
0 8 16 31
![Page 17: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/17.jpg)
Internet Control Message Protocol (ICMP)
• Echo (ping)
• Redirect (from router to source host)
• Destination unreachable (protocol, port, or host)
• TTL exceeded (so datagrams don’t cycle forever)
• Checksum failed
• Reassembly failed
• Cannot fragment
• Many ICMP messages include part of packet thattriggered them
- Example: Traceroute
![Page 18: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/18.jpg)
ICMP message format
0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9 0 10 1 2 3
20-byte IP header
ChecksumCodeType
depends on type/code
(protocol = 1—ICMP)
• Types include:- echo, echo reply, destination unreachable, time exceeded, . . .
- See http://www.iana.org/assignments/icmp-parameters
![Page 19: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/19.jpg)
Example: Time exceeded
0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9 0 10 1 2 3
20-byte IP header
ChecksumCodeType = 11
unused
IP header + first 8 payload bytes
of packet that caused ICMP to be generated
(protocol = 1—ICMP)
• Code usually 0 (TTL exceeded in transit)
• Discussion: How does traceroute work?
![Page 20: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/20.jpg)
Recall: UDP packet format
SrcPort DstPort
ChecksumLength
Data
0 16 31
• First 8 bytes of UDP packet is UDP header- Which is conveniently included in ICMP packets
![Page 21: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/21.jpg)
DHCP
• Hosts need IP addrs for their network interfaces
• Sometimes assign manually (but this is a pain)
• Or use Dynamic Host Configuration Protocol- Client broadcasts DHCP discover message
- One or more DHCP servers send back DHCP offer- Sent to offered IP address (client hasn’t accepted yet)- But sent to client’s Ethernet address (not broadcast)
- Client picks one offer, broadcasts DHCP request
- Server replies with DHCP ack
• Discussion: why also a gateway and netmask?
![Page 22: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/22.jpg)
IP forwarding
• IP routers have multiple input/output ports
• Note distinction between forwarding and routing- Forwarding is passing packets from input to output port
- Routing is figuring out the rules for mapping packets tooutput ports (topic of next two lectures)
• IP forwarding maps packet to output port basedon destination address
- Operates at network layer, not link layer
- May forward between different kinds of networks(E.g., Ethernet on one side, cable TV wire on the other)
- Does certain required processing on network-layer header(TTL, etc.)
![Page 23: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/23.jpg)
Big Picture
BroadcastCommunication
Network
VirtualCircuit
CommunicationNetwork
SwitchedCommunication
Network
Circuit-switched Packet-switched
Datagram
![Page 24: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/24.jpg)
Physical Circuit Diversion: Old PSTN
• A telephone number is a program
• Number sets up a physical wire connection toanother phone
• Old phones used to click...
![Page 25: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/25.jpg)
Virtual Circuit Switching
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
Host A Host B
Switch 3
Switch 2Switch 1
7
11
• Explicit connection setup (and tear-down) phase- Establishes virtual-circuit ID (VCI) on each link
• Each switch maintains VC table- Switch maps 〈in-link, in-VCI〉 → 〈out-link, out-VCI〉- Subsequent packets follow established circuit
• Sometimes called connection-oriented model
![Page 26: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/26.jpg)
Datagram switching
0
13
2
0
1 3
2
0
13
2
Switch 3 Host B
Switch 2
Host A
Switch 1
Host C
Host D
Host EHost F
Host G
Host H• No connection setup phase- Switches have routing table based on node addresses
• Each packet forwarded independently
• Sometimes called connectionless model
![Page 27: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/27.jpg)
Source routing
0
13
2
0
1 3
2
0
13
2
0
13
2
3 0 1 3 01
30 1
Switch 3
Host B
Switch 2
Host A
Switch 1
• Simple way to do datagram switching (puntforwarding decisions to the sender)
![Page 28: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/28.jpg)
Virtual Circuit Model
− Typically wait full RTT for connection setupbefore sending first data packet
+ Each data packet contains only a small identifier,making the per-packet header overhead small
− If a switch or a link in a connection fails, theconnection is broken and a new one needs to beestablished
+ Connection setup provides an opportunity toreserve resources
+ Packets to the same destination can use differentcircuits
![Page 29: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/29.jpg)
Datagram Model
+ There is no round trip time delay waiting forconnection setup; a host can send data as soon as itis ready
− Source host has no way of knowing if the networkis capable of delivering a packet or if thedestination host is even up
+ It is possible to route around failures
− Overhead per packet is higher than for theconnection-oriented model
− All packets to the same destination must use thesame path
![Page 30: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/30.jpg)
Cut through vs. store and forward
• Two approaches to forwarding a packet- Receive a full packet, then send it on output port
- Start retransmitting as soon as you know output port,before you have even received the full packet (cut-through)
• Cut-through routing can greatly decrease latency
• Disadvantage: Can’t always send useful packet- If packet corrupted, won’t check CRC till after you started
transmitting
- Or if Ethernet collision, may have to send runt packet onoutput link, wasting bandwidth
![Page 31: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/31.jpg)
Optical switches
• Already analog optical repeaters deployed- Will amplify any signal
- Can change your low-level transmission protocol w/oreplacing repeaters
• Could possibly do the same thing for switching- Microscopic mirrors can redirect light to different ports
- (The ultimate cut-through routing)
• Technology exists, but not widely deployed- Optical switch will not see packet headers
- Instructions on where to send packet need to be out-of-band
![Page 32: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/32.jpg)
Generic hardware switching architecture
Switch
fabric
Control
processor
Output
port
Input
port
• Goal: deliver packets from input to output ports
• Three potential performance concerns:- Throughput in terms of bytes/time
- Throughput in terms of packets/time
- Latency
![Page 33: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/33.jpg)
Shared bus switchI/O bus
Interface 1
Interface 2
Interface 3
CPU
Main memory
• Shared bus – like your PC- NIC DMAs packet to memory over I/O bus
- CPU examines pkt header, sends to dest NIC over bus
- I/O bus is serious bottleneck
- For small packets, CPU may be limited, too
• Shared memory – similar, has memory bottleneck
![Page 34: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/34.jpg)
Crossbar switch
• One [vertical] bus per input interface
• One [horizontal] bus per output interface
• Can connect any input to any output- Trivially allows any input→output permutation
- More than one input to same output requires trickery
![Page 35: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/35.jpg)
Where to buffer?
• At some point more than one input port will havepackets for the same output port
• Where do you buffer the packet?- Input port
- Output port
![Page 36: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/36.jpg)
Self-routing switches
Switch
2
21
Port 1
Port 2
• Idea: Build up switch out of 2×2 elements
• Each packet contains a “self-routing header”- For each switch along the way, specifies the output
• Must somehow compute a path when introducing packet- Is there more than one path to chose from?
- Will path collide with another packet?
• Easy to implement stages once path computed
![Page 37: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/37.jpg)
Banyan networks
• A Banyan network has exactly one path from anyinput port to a given ouput port
- Example: Each stage can flip one bit of the port number
• Easy to compute paths
• Problem: Not all permutations can be routed- Might want 1→ 0 and 7→ 1, but both paths use same link
• But: Can always route packets if sorted- Leads to batcher banyan networks
- Batcher phase sorts packets before banyan
![Page 38: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/38.jpg)
Example: Banyan network
001
011
110
111
001
011
110
111
Switch on middle bitSwich on high bit Switch on low bit
![Page 39: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/39.jpg)
Benes
• Two back-to-back Banyan networks- Can route any permutation of inputs→outputs
- (Can be proven by induction on size of network)
• Unfortunately, figuring out schedule is global problem
![Page 40: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/40.jpg)
Bisection bandwidth
• Can speak of the bandwidth between sets of ports- Bandwidth is maximum achievable aggregate bandwidth
between the two sets
• Bisection bandwidth is important property of network- Lowest possible bandwidth between equal-sized sets of ports
- Or almost equal-sized if odd number of ports
• A network with bad bisection bandwidth may offerpoor behavior
- Even if no conflict between input and output link utilization,may have internal bottlenecks reducing throughput
![Page 41: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/41.jpg)
Example: Poor bisection bandwidth
EthernetSwitch
FastEthernetSwitch
Fast100Mb/s
100Mb/s100Mb/s100Mb/s100Mb/s100Mb/s100Mb/s100Mb/s 100Mb/s
100Mb/s100Mb/s100Mb/s100Mb/s100Mb/s100Mb/s
• Connect two Ethernet switches with Ethernet- Suppose all clients on left, and all servers on right. . .
- Aggregate bandwidth between all clients and servers only100Mbit/s
![Page 42: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/42.jpg)
Example: Poor bisection bandwidth 2
T3
modems modems
• Remember it’s worst case cut- Even with one fat link, don’t have to slice down middle
- Put fat link in one partition, and bisection b/w very small
![Page 43: Internet Protocol - Stanford Secure Computer Systems … when necessary (MTU < size of Datagram)-Source host tries to avoid fragmentation When fragment is lost, whole packet must be](https://reader031.vdocuments.site/reader031/viewer/2022022517/5b060a267f8b9ad1768c4151/html5/thumbnails/43.jpg)
Overview
• Internet Protocol- What it provides and its header
- Fragmentation and assembly
- IP address assignment
• Address mapping and allocation
• Forwarding: switching, circuits, and sourcerouting
• Next lecture: routing – how forwarding tables arebuilt