Lecture 16 (Network Layer) Outline
Internet Network Layer: z z
Internet Control Protocols Multicast
CSC4430 – Data Communication and Computer Networks
1
16.1. Internet Control Protocols
IGMP: Internet Group Management Protocol ICMP: Internet Control Message Protocol ARP: Address Resolution Protocol RARP: Reverse Address Resolution Protocol
CSC4430 – Data Communication and Computer Networks
2
16.1.1. Internet Control Message Protocol
Internet Control Message Protocol (ICMP): z
Network-layer protocol located “above” IP: ICMP messages carried in IP datagrams
z
Used by hosts, routers, gateways to communicate network-level information. error reporting: unreachable host, network, port. query: e.g. echo request/reply (used by ping).
CSC4430 – Data Communication and Computer Networks
3
16.1.1. Internet Control Message Protocol
Example usage: Traceroute operation. z z
Tracing the forwarding path. Sends IP datagram (TTL=1) to destination host Starts timer. First router decrements TTL to 0, discards datagram, sends back ICMP "time exceeded" message (now first router in path is identified). Receives ICMP message - calculate round trip time from timer.
z
Sends IP datagram (TTL=2) to identify the second router.
z
Process continues until destination host reached.
CSC4430 – Data Communication and Computer Networks
4
16.1.1. Internet Control Message Protocol
Traceroute operation. z
Example: Sending from 137.189.97.122 to www.netscape.com on a different network in USA.
Tracing route to www24.netscape.com [207.200.73.73]over a maximum of 30 hops: 1 <10 ms <10 ms <10 ms 137.189.99.252 2 20 ms 10 ms 10 ms csc0g05brb.net.cuhk.edu.hk [137.189.196.240] 3 40 ms 10 ms 30 ms csc0g08brb.net.cuhk.edu.hk [202.40.218.9] 4 10 ms 50 ms <10 ms csc0g04brb.net.cuhk.edu.hk [202.40.218.46] 5 561 ms 351 ms 380 ms e1.hongkong.exodus.net [209.1.10.121] 6 291 ms * * SanFrancisco-Cisco1.exodus.net [206.40.71.1] 7 430 ms 381 ms 370 ms core1.exodus.net [206.40.94.121] 8 361 ms * 331 ms scca-02-f9-0-0.core.exodus.net [209.1.169.17] 9 341 ms * * mae-west-ames-h0-0-0.core.exodus.net [209.1.10.166] 10 * * * Request timed out. 11 240 ms 270 ms 241 ms 144.232.8.9 12 430 ms 241 ms 240 ms 144.232.3.5 13 281 ms 350 ms 310 ms 144.232.8.81 14 320 ms 601 ms 330 ms 144.232.4.97 15 311 ms 400 ms 291 ms sl-netscape-1-s-T3.sprintlink.net [144.228.146.26] 16 280 ms * 270 ms h-207-200-71-20.netscape.com [207.200.71.20] 17 321 ms 340 ms 341 ms h-207-200-73-73.netscape.com [207.200.73.73] Trace complete.
CSC4430 – Data Communication and Computer Networks
5
16.1.2. Address Resolution Protocol
Address Resolution Protocol (ARP): z
Dynamic mapping of logical address to physical address.
CSC4430 – Data Communication and Computer Networks
6
16.1.2. Address Resolution Protocol
Address Resolution Protocol (ARP): z
z
A knows B's IP address, wants to learn physical address of B. A broadcasts ARP query pkt, containing B's IP address. all machines on LAN receive ARP query.
z
z
B receives ARP packet, replies to A with its (B's) physical layer address. A caches (saves) IP-to-physical address pairs until information becomes old (times out). soft state: information that times out (goes away) unless refreshed.
CSC4430 – Data Communication and Computer Networks
7
16.1.2. Address Resolution Protocol z
ARP packet is encapsulated directly into a data link frame
CSC4430 – Data Communication and Computer Networks
8
16.1.3. Reverse Address Resolution Protocol
Reverse Address Resolution Protocol (RARP): z
Dynamic mapping of physical address to logical address.
CSC4430 – Data Communication and Computer Networks
9
16.1.3. Reverse Address Resolution Protocol z
RARP packet is encapsulated directly into a data link frame
CSC4430 – Data Communication and Computer Networks
10
16.1.3. Reverse Address Resolution Protocol
RARP can not provide the info on subnet mask. Alternative solutions to RARP: z z z
BOOTP: Bootstrap Protocol. DHCP: Dynamic Host Configuration Protocol. Both protocols are application-layer protocols.
CSC4430 – Data Communication and Computer Networks
11
16.2. Multicast
Multicast: z
z
Is an act of sending datagram to multiple receivers with single “transmit” operation. Analogy: one teacher to many students.
Question: How to achieve multicast? z z z
Multicast via unicast. Network multicast – native IP multicast. Application-layer multicast
CSC4430 – Data Communication and Computer Networks
12
16.2. Multicast
Multicast via unicast: z
Source sends N unicast datagrams, one addressed to each of N receivers.
routers forward unicast datagrams
multicast receiver (red) not a multicast receiver (white)
CSC4430 – Data Communication and Computer Networks
13
16.2. Multicast
Network multicast: z
Router actively participate in multicast, making copies of packets as needed and forwarding towards multicast receivers.
Multicast routers (red) duplicate and forward multicast datagrams CSC4430 – Data Communication and Computer Networks
14
16.2. Multicast
Application-layer multicast: z
z
End systems involved in multicast copy and forward unicast datagrams among themselves. Example: MBone.
CSC4430 – Data Communication and Computer Networks
15
16.2. Multicast
Internet multicast service model: z z z
A single address to identify a multicast group. Anyone can join a multicast group. Multicast routers deliver datagrams to hosts that have joined. 128.59.16.12
128.119.40.186
multicast group 226.17.30.197
128.34.108.63
128.34.108.60
CSC4430 – Data Communication and Computer Networks
16
16.2. Multicast
Multicast groups: z
Hosts addresses IP datagram to multicast group. Class D Internet addresses reserved for multicast:
z
Host group semantics: anyone can “join” (receive) multicast group. anyone can send to multicast group.
z
No network-layer identification to hosts of members.
CSC4430 – Data Communication and Computer Networks
17
16.2. Multicast
Joining a mcast group: two-step process z
local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol)
z
wide area: local router interacts with other routers to receive mcast datagram flow. many protocols (e.g. DVMRP, MOSPF, PIM). IGMP
IGMP wide-area multicast routing
CSC4430 – Data Communication and Computer Networks
IGMP
18
16.2.1. IGMP
IGMP: Internet Group Management Protocol z
host: sends IGMP report when application joins mcast group. IP_ADD_MEMBERSHIP socket option. host need not explicitly “unjoin” group when leaving.
z
router: sends IGMP query at regular intervals. host belonging to a mcast group must reply to query – soft-state membership.
query
CSC4430 – Data Communication and Computer Networks
report
19
16.2.2. Multicast Routing
Goal: find a tree (or trees) connecting routers having local mcast group members. Approaches for building mcast trees:
Source-based trees CSC4430 – Data Communication and Computer Networks
Group-shared tree 20
16.2.2. Multicast Routing
Approaches for building mcast trees: z
Source-based tree (SBT): one tree per source. Different tree from each sender to receivers. Approaches: Shortest path trees, Reverse path forwarding.
z
Group-shared tree (GT): group uses one tree. Same tree used by all group members. Approaches: Center-based trees, Minimal spanning (Steiner).
CSC4430 – Data Communication and Computer Networks
21
16.2.2. Multicast Routing
Shortest Path Tree: z
mcast forwarding tree: tree of shortest path routes from source to all receivers. Dijkstra’s algorithm.
S: source
LEGEND
R1 1
2
R4
R2 3 R3
router with attached group member
5 4 R6
router with no attached group member
R5 6 R7
CSC4430 – Data Communication and Computer Networks
i
link used for forwarding, i indicates order link added by algorithm 22
16.2.2. Multicast Routing
Center-based trees: z z z
Single delivery tree shared by all Identify one router as “center” of tree. To join: Edge router sends unicast join-msg addressed to center router. join-msg “processed” by intermediate routers and forwarded towards center. join-msg either hits existing tree branch for this center, or arrives at center. Path taken by join-msg becomes new branch of tree for this router.
CSC4430 – Data Communication and Computer Networks
23
16.2.2. Multicast Routing
Center-based trees: an example z
Suppose R6 chosen as center. LEGEND R1
R4
3 R2
router with attached group member
2 R5
R3
1
R6
1
router with no attached group member path order in which join messages generated
R7
CSC4430 – Data Communication and Computer Networks
24
16.2.2. Multicast Routing
Multicast routing protocols: z
DVMRP: Distance Vector Multicast Routing Protocol. Uses reverse path forwarding, source-based tree.
z
PIM: Protocol Independent Multicast. Dense mode: group members densely packed in “close” proximity. bandwidth are plentiful. uses RPF, source-based tree.
Sparse mode: group members “widely dispersed”. bandwidth are not plentiful. uses center-based approach. CSC4430 – Data Communication and Computer Networks
25
16.2.3. Overlay Networks: MBone
MBone (Multicasts Backbone): z z
is a virtual Internet Backbone for Multicast IP. comprises of a virtual network of “multicast islands'', interconnected by unicast tunnels.
CSC4430 – Data Communication and Computer Networks
26
16.2.3. Overlay Networks: MBone
MBone tunnel:
z
z
Multicast packets are transmitted point-to-point between multicast routers (mrouters). mrouter takes out the encapsulated packet and take appropriate action:
multicast or broadcast the packet locally using native LAN technology (such as Ethernet or FDDI). re-encapsulated the packet and send it on to 27 CSC4430 – Dataseveral Communication and mrouters Computer Networks more in the chain.
16.2.3. Overlay Networks: MBone
MBone multimedia applications: z z z z z
VideoConference (vic) Visual Audio Tool (vat) WhiteBoard (wb) Robust Audio Tool (rat) Other Tools
MBone resource: z
IPMulticast home pages: http://www.ipmulticast.com
z
MBone FAQ: http://www.cs.columbia.edu/~hgs/internet/mbonefaq.html
CSC4430 – Data Communication and Computer Networks
28
16.3. Further Readings
Internet Network Layer: z z
Internet Control Protocols : Section 24.5. Multicast : Ross Section 4.8.
CSC4430 – Data Communication and Computer Networks
29
Next Lecture
Transport Layer (Forouzan Chapter 22, Section 24.6 – 24.7)
30