Transcript Slide 1

Recitation 6
•
•
•
•
Midterm 1’s solution
Project 2
IP Forwarding
CIDR
1
Project 2
• Environment
– 1 tracker, 2 seeds and 2 leeches
• Expand your project 1
– Download from multiple peers.
– Be able to upload.
– Be able to accept incoming connections.
– Connect to 2 leeches and upload your
available pieces to leeches.
2
Protocol
• State machine:
–
–
–
–
•
•
•
•
•
•
•
•
•
am_choking: this client is choking the peer
am_interested: this client is interested in the peer
peer_choking: peer is choking this client
peer_interested: peer is interested in this client
bitfield: <len=0001+X><id=5><bitfield>
SEND+RECV
keep-alive: <length prefix> is 0
choke: <len=0001><id=0>
unchoke: <len=0001><id=1>
interested: <len=0001><id=2>
not interested: <len=0001><id=3>
have: <len=0005><id=4><piece index>
request: <len=0013><id=6><index><begin><length> SEND+RECV
piece: <len=0009+X><id=7><index><begin><block> SEND+RECV
3
Notes
• After handshake, seeds should send the
bitfield with “all of bit 1s”. Leeches may
not send “bitfields” or bitfield with “all of bit
0s”
• After downloading & verifying a piece, your
program should advertise the piece by
sending a “have” to peers. Don’t send a
“have” to peers having it already.
4
Sample Question: Subnetting
Consider a conventional class B network. A
network administrator decides to give all subnets
in the class B network a sub-net mask of
255.255.248.0.
(5 points) How many sub-nets can the
administrator use if all sub-nets use this mask?
(5 points) How many hosts are possible on each
sub-net?
(5 points) The administrator just heard that she
only needs 16 sub-nets for the class B address.
What sub-net mask maximizes the number of
hosts on each sub-net?
5
ARP (from IP add. to MAC add.)
•
Application doesn’t know MAC address !!!
–
Application works with IP address:
ssh 128.6.171.162
ping 192.168.1.1
•
Recall: Ethernet Frame Structure
MAC Dest. address
•
(ssh cereal.rutgers.edu)
MAC Source
address
Type
DATA ….
CRC
“A” knows IP X of “C”, how can A send an ethernet frame to C? How does A know MAC
of C??
HUB
Send
broadcast
MAC A -> FF: …FF, Type=ARP
Who has IP X ????
MAC C -> MAC A, type=ARP
Hey guy, I have IP X !!!
MAC A-> MAC C, type=IP
A
B
C
IP packet
D
6
Multi-Hop Forwarding Example
X sends an IP packet to Y??
1.X-> R1a
a
N1
3. R2b->Y
2. R1b->R2a
R1
b
a
R2
b
N2
x
N3
Y
1. X sends to its gateway (IP of R1a)
MAC X -> MAC R1a
IP X -> IP Y
DATA
IP X -> IP Y
DATA
IP X -> IP Y
DATA
2. R1 forwards the packet to R2
MAC R1b -> MAC R2a
3. R2 forwards the packet to Y
MAC R2b -> MAC Y
7
Multi-Hop Forwarding Example
R1
N1
R2
R3
N2
N3
N4
Dest Next hop
Routing table @ R2
N1
N2
N3
N4
R1
Deliver directly (ARP)
Deliver directly (ARP)
R3
Actual routing table contains IP addresses, Flags
indicating type of entries, net mask etc.
8
IP forwarding
ROUTING TABLE AT A ROUTER:
Destination Gateway
Genmask
Flags Metric Ref
128.6.5.0
A
255.255.255.128
U 0
128.6.5.128 B
255.255.255.128
U 0
0
127.0.0.0
0.0.0.0
255.0.0.0
U 0
0.0.0.0
128.6.5.1
0.0.0.0
UG 0
Use Iface
0
0
0
eth1
0
0
0
0
(default)
0
128.6.5.1
0.0.0.0
UG
0
0
eth0
lo
eth0
eth0
Question1: Packet with dest IP = 128.6.5.200, what is the next-hop (gateway)?
For each entry:
if ( <dest IP> AND <netmask> == <destination field>)
{
choose the next hop = the corresponding gateway;
break;
}
Question2: How many networks does the router connect to?
9
Network programming in Java
TCP/IP stack
Host A
Host B
Application Protocol
Application
Layer
Transport Protocols (UDP and TCP)
Transport
Layer
IP
IP
Data
Application
Layer
Transport
Layer
TCP/UDP
header
Data
TCP/UDP
header
Data
IP
Network
Layer
Network
Layer
Network
Layer
Network
Layer
Host-toNet Layer
Host-toNet Layer
Host-toNet Layer
Host-toNet Layer
IP
header
10
Sample Question: IP Forwarding
The following table is a routing table using
CIDR. Address bytes are in
hexadecimal. The notation “/12”
defines the length of the mask in bits.
For example, for C4.50.0.0/12, the
mask is 12 bits, or FF.F0.0.0 in
hexadecimal notation.
For each of the following destination IP
addresses (in hexadecimal), state
what the next hop will be by using the
routing table above (2 points each):
1.
2.
3.
4.
5.
6.
C4.4B.31.2E :
C4.5E.05.09 :
C4.4D.31.2E :
C4.5E.03.87 :
C4.5E.7E.12 :
C4.5E.D1.02 :
Dest.
Next Hop
C4.5E.2.0/23
A
C4.5E.4.0/22
B
C4.5E.C0.0/19
C
C4.5E.40.0/18
D
C4.4C.0.0/14
E
C0.0.0.0/2
F
80.0.0.0/1
G
default
H
11
Reducing Routing Table Size
Without CIDR:
200.71.0.0
200.71.1.0
200.71.2.0
…..
200.71.255.0
service
provider
200.71.0.0
200.71.1.0
200.71.2.0
…..
200.71.255.0
Routing
table
With CIDR:
200.71.0.0
200.71.1.0
200.71.2.0
…..
200.71.255.0
service
provider
200.71.0.0/16
Routing
table
12
Sample Question: CIDR
• The company X has 4 offices, each office has one
subnet. All subnets connect to a router (Router 1 in the
figure). This router connects to the ISP router. The
subnets are described in the figure.
139.200.1.0/26
Subnet A
139.200.1.1
139.200.1.64/26
Subnet B
139.200.1.65
192.168.1.2/24
192.168.1.3/24
Internet
139.200.1.128/26
Subnet C
139.200.1.129
Router 1
ISP Router
139.200.1.192/26
Subnet D
139.200.1.193
13
Sample Question: CIDR (cont.)
A. Fill out the routing table for the router 1:
Destination
Netmask
Nexthop
Interface
Eth1
Eth2
Eth3
Eth4
192.168.1.0
255.255.255.0
192.168.1.2
Eth0
0.0.0.0
0.0.0.0
192.168.1.3
Eth0
14
Sample Question: CIDR (cont.)
B. Assume that the ISP router forwards to the router 1 an
IP packet that has the destination address
139.200.1.135. Which subnet will the packet be
forwarded to? Based on the routing table in (1), what is
the interface that the router 1 will forward the packet
through?
C. Assume that the ISP router implement CIDR. What is
the routing entry for all subnets of the company X in the
routing table of the ISP router?
Destination
Netmask
Nexthop
Interface
Eth1
15