1 recitation 6 midterm 1’s solution project 2 ip forwarding cidr
TRANSCRIPT
1
Recitation 6
• Midterm 1’s solution
• Project 2
• IP Forwarding
• CIDR
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
5
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?
6
ARP (from IP add. to MAC add.)• Application doesn’t know MAC address !!!
– Application works with IP address:ssh 128.6.171.162 (ssh cereal.rutgers.edu)
ping 192.168.1.1
• Recall: Ethernet Frame Structure
• “A” knows IP X of “C”, how can A send an ethernet frame to C? How does A know MAC of C??
HUB
BA C D
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 IP packet
MAC Dest. address MAC Source address
Type DATA …. CRC
7
Multi-Hop Forwarding Example
N2N2 N3N3
X sends an IP packet to Y??X sends an IP packet to Y??
N1N1R1 R2
x Y
1.X-> R1a
a ab b
1. X sends to its gateway (IP of R1a)
MAC X -> MAC R1a IP X -> IP Y DATA
2. R1 forwards the packet to R2
MAC R1b -> MAC R2a IP X -> IP Y DATA
3. R2 forwards the packet to Y
MAC R2b -> MAC Y IP X -> IP Y DATA
2. R1b->R2a 3. R2b->Y
8
Multi-Hop Forwarding Example
N2N2 N3N3 N4N4
Actual routing table contains IP addresses, Flags Actual routing table contains IP addresses, Flags indicating type of entries, net mask etc. indicating type of entries, net mask etc.
Routing table @ R2Routing table @ R2
N1N1
R1 R2 R3
N1N2N3N4
R1Deliver directly (ARP)Deliver directly (ARP)R3
Dest Next hop
9
IP forwardingROUTING TABLE AT A ROUTER:Destination Gateway Genmask Flags Metric Ref Use Iface128.6.5.0 A 255.255.255.128 U 0 0 0 eth0128.6.5.128 B 255.255.255.128 U 0 0 0 eth1127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo0.0.0.0 128.6.5.1 0.0.0.0 UG 0 0 0 eth0
(default) 128.6.5.1 0.0.0.0 UG 0 0 0 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?
10
Network programming in JavaTCP/IP stack
Application Protocol
Transport Protocols (UDP and TCP)
ApplicationLayer
TransportLayer
NetworkLayer
Host-to-Net Layer
Host A Host B
ApplicationLayer
TransportLayer
NetworkLayer
Host-to-Net Layer
NetworkLayer
Host-to-Net Layer
NetworkLayer
Host-to-Net Layer
IPIP IP
Data
DataTCP/UDP header
DataTCP/UDP header
IP header
11
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. C4.4B.31.2E :2. C4.5E.05.09 :3. C4.4D.31.2E :4. C4.5E.03.87 :5. C4.5E.7E.12 :6. 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
12
Reducing Routing Table Size
serviceprovider
200.71.0.0200.71.1.0200.71.2.0…..200.71.255.0
200.71.0.0200.71.1.0200.71.2.0…..200.71.255.0
Routingtable
Without CIDR:
serviceprovider
200.71.0.0200.71.1.0200.71.2.0…..200.71.255.0
Routingtable
With CIDR:
200.71.0.0/16
13
• 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.
ISP Router
Internet
Subnet A
Subnet B
Subnet C
Subnet D
Router 1
139.200.1.0/26
139.200.1.64/26
139.200.1.128/26
139.200.1.192/26
192.168.1.3/24192.168.1.2/24
139.200.1.1
139.200.1.129
139.200.1.193
139.200.1.65
Sample Question: CIDR
14
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
15
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