Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.) Goal is to use this opportunity.

Slides:



Advertisements
Similar presentations
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
Advertisements

Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
CSCI 4550/8556 Computer Networks Comer, Chapter 23: An Error Reporting Mechanism (ICMP)
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 11 – February 16, 2010.
Spring 2003CS 4611 Routing Outline Algorithms Scalability.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
Spring 2003CS 4611 Internetworking COS 461 Spring 2003.
CSE331: Introduction to Networks and Security Lecture 7 Fall 2002.
CS Internetworking Slide Set 8. In this set... Addressing Datagram forwarding.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
Spring 2002CS 4611 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
Spring 2002CS 4611 Routing Outline Algorithms Scalability.
CSS432 Routing Textbook Ch 3.3
26-Aug-154/598N: Computer Networks Recap SBC UUNET Comcast Sprint End Users Internet First mile problem Last mile problem.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
IP (Internet Protocol) –the network level protocol in the Internet. –Philosophy – minimum functionality in IP, smartness at the end system. –What does.
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
1 Routing Outline Algorithms Scalability. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
1 Internet Control Message Protocol (ICMP) Used to send error and control messages. It is a necessary part of the TCP/IP suite. It is above the IP module.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda.
Lecture 17 November 8Intra-domain routing November 13Internet routing 1 November 15Internet routing 2 November 20End-to-end protocols 1 November 22End-to-end.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
23-Dec-154/598N: Computer Networks Overview 4.2: Routing Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
Computer Networks22-1 Network Layer Delivery, Forwarding, and Routing.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
CSS432 Routing Textbook Ch3.3
TRANSPORT LAYER BY, Parthasarathy.g.
NAT – Network Address Translation
Scaling the Network Chapters 3-4 Part 2
Dynamic Routing Protocols II OSPF
Dynamic Routing Protocols part2
Routing BY, P.B.SHANMATHI.
Routing and Switching Fabrics
ICMP ICMP – Internet Control Message Protocol
3. Internetworking (part 3: IP)
THE NETWORK LAYER.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing.
Dynamic Routing Protocols part2
Dynamic Routing Protocols II OSPF
ECE544: Communication Networks-II, Spring 2006
Advanced Computer Networks
Mid term grade distribution
Internetworking Outline Best Effort Service Model
ECE544: Communication Networks-II, Spring 2016
Intradomain Routing Outline Introduction to Routing
Viet Nguyen Jianqing Liu Yaqin Tang
Overview The Internet (IP) Protocol Datagram format IP fragmentation
2. Fragmentation and Reassembly
The University of Adelaide, School of Computer Science
Communication Networks
Advanced Computer Networks
Tree Structured Internet(c. 1990)
Communication Networks
Routing Outline Algorithms Scalability Spring 2003 CS 332.
Routing and Switching Fabrics
Routing.
Presentation transcript:

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.) Goal is to use this opportunity (and not to find the lowest common denominator performance)

Issue 2: Fragmentation and Reassembly Cannot expect all networks to deal with the same packet size, can choose the absolute smallest - but that would mean poor performance for all networks Each network has some MTU (maximum transmission unit) Design decisions fragment when necessary (MTU < Datagram) re-fragmentation is possible fragments are self-contained datagrams delay reassembly until destination host do not recover from lost fragments Suppose we send a 64k packet over ether (1500 byte MTU), 1 packet = 44 fragments. Losing 1 of 44 fragments = lose the entire packet try to avoid fragmentation at source host

Example Ident = x Start of header Rest of header 1400 data bytes Offset = 0 (b) 512 data bytes 1 Offset = 64 376 data bytes Offset = 128

Gateway13 example Ifconfig eth0 in gateway13.cse.nd.edu Link encap:Ethernet HWaddr 00:07:E9:3C:8F:80 inet addr:129.74.154.198 Bcast:129.74.155.255 Mask:255.255.252.0 inet6 addr: fe80::207:e9ff:fe3c:8f80/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1

Issue 3: Datagram Forwarding Strategy every datagram contains destination’s address if connected to destination network, then forward to host if not directly connected, then forward to some router forwarding table maps network number into next hop each host has a default router each router maintains a forwarding table Example (R2) Network number Next 1 R3 2 R1 3 Interface 1 4 Interface 0

Address Translation Map IP addresses into physical addresses destination host next hop router Techniques encode physical address in host part of IP address table-based Mechanism to map IP to physical address: ARP table of IP to physical address bindings broadcast request if IP address not in table target machine responds with its physical address table entries are discarded if not refreshed

ARP Details Request Format Notes HardwareType: type of physical network (e.g., Ethernet) ProtocolType: type of higher layer protocol (e.g., IP) HLEN & PLEN: length of physical and protocol addresses Operation: request or response Source/Target-Physical/Protocol addresses Notes table entries timeout in about 10 minutes update table with source when you are the target update table if already have an entry do not refresh table entries upon reference

ARP Packet Format 8 16 31 Hardware type = 1 ProtocolType = 0x0800 8 16 31 Hardware type = 1 ProtocolType = 0x0800 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 ― 3) SourceHardwareAddr (bytes 4 ― 5) SourceProtocolAddr (bytes 0 ― 1) SourceProtocolAddr (bytes 2 ― 3) TargetHardwareAddr (bytes 0 ― 1) TargetHardwareAddr (bytes 2 ― 5) TargetProtocolAddr (bytes 0 ― 3)

Sample arp table in darwin.cc.nd.edu arp -a Net to Media Table: IPv4 Device IP Address Mask Flags Phys Addr ------ -------------------- --------------- ----- --------------- hme0 eafs-e06.gw.nd.edu 255.255.255.255 00:d0:c0:d3:aa:40 hme0 bind.nd.edu 255.255.255.255 08:00:20:8a:5f:cf hme0 honcho-jr.cc.nd.edu 255.255.255.255 00:b0:d0:82:83:7f hme0 mail-vip.cc.nd.edu 255.255.255.255 02:e0:52:0c:56:c4 hme0 john.helios.nd.edu 255.255.255.255 08:00:20:85:db:c4 hme0 casper.helios.nd.edu 255.255.255.255 08:00:20:b1:f8:e1 hme0 pinky.helios.nd.edu 255.255.255.255 08:00:20:a9:88:30

ARP problems ARP trusts any response - no authentication method Works great at home, how about Notre Dame Replies which do not correspond to requests are allowed to update cache in many instances New information must supercede old info

Internet Control Message Protocol (ICMP) Mechanisms to notify of errors (not mandatory) 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

Next problem: Routing Routing is similar to bridging in functionality. We want to use multiple paths instead of removing redundancy (spanning tree alrogithm)

Overview 4.2: Routing Forwarding vs Routing Network as a Graph forwarding: to select an output port based on destination address and routing table routing: process by which routing table is built Network as a Graph Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load Distributed algorithm: what info. should be exchanged?

Two kinds of routing algorithms Distance vector: Each router exchanges information with other routers and makes independent decisions Link state: All routers exchange information, learn the state of the “world” and find the most optimal route (which is uniform across all routers)

Distance Vector (e.g. RIP v1) Each node maintains a set of triples (Destination, Cost, NextHop) Directly connected neighbors exchange updates periodically (on the order of several seconds) whenever table changes (called triggered update) Each update is a list of pairs: (Destination, Cost) Update local table if receive a “better” route smaller cost came from next-hop Refresh existing routes; delete if they time out

Example Destination Cost NextHop A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A B

Routing Loops Example 1 Example 2: count to infinity problem F detects that link to G has failed F sets distance to G to infinity and sends update to A A sets distance to G to infinity since it uses F to reach G A receives periodic update from C with 2-hop path to G A sets distance to G to 3 and sends update to F F decides it can reach G in 4 hops via A Example 2: count to infinity problem link from A to E fails A advertises distance of infinity to E B and C advertise a distance of 2 to E B decides it can reach E in 3 hops; advertises this to A A decides it can read E in 4 hops; advertises this to C C decides that it can reach E in 5 hops…

Loop-Breaking Heuristics Set infinity to 16 Split horizon Split horizon with poison reverse

Link State (e.g. OSPF) Strategy Link State Packet (LSP) send to all nodes (not just neighbors) information about directly connected links (not entire routing table) Link State Packet (LSP) id of the node that created the LSP cost of link to each directly connected neighbor sequence number (SEQNO) time-to-live (TTL) for this packet

Link State (cont) Reliable flooding store most recent LSP from each node forward LSP to all nodes but one that sent it generate new LSP periodically increment SEQNO start SEQNO at 0 when reboot decrement TTL of each stored LSP discard when TTL=0

Route Calculation Dijkstra’s shortest path algorithm Let M = {s} N denotes set of nodes in the graph l (i, j) denotes non-negative cost (weight) for edge (i, j) s denotes this node M denotes the set of nodes incorporated so far C(n) denotes cost of the path from s to node n M = {s} for each n in N - {s} C(n) = l(s, n) while (N != M) M = M union {w} such that C(w) is the minimum for all w in (N - M) for each n in (N - M) C(n) = MIN(C(n), C (w) + l(w, n ))

Route cost metrics Original ARPANET metric New ARPANET metric measures number of packets queued on each link took neither latency or bandwidth into consideration New ARPANET metric stamp each incoming packet with its arrival time (AT) record departure time (DT) when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency if timeout, reset DT to departure time for retransmission link cost = average delay over some time period Fine Tuning compressed dynamic range replaced Delay with link utilization

Mobility What if nodes move You need a new IP address when you move Communications (sockets) have to be reestablished One solution is to use Dynamic DNS with DHCP Used at ND When a host moves, DHCP gives it a new address and Dynamic DNS updates the DNS entry with the new DHCP address For example, my laptop is called kural.cse.nd.edu, but may map into different IP addresses depending on where I am Works for new connections, old connections break Can only work within the same domain (because DNS servers are only administered for the domain)

Mobile IP Mobile host registers with Foreign Agent. FA informs Home Agent. HA tunnels packets to FA. Communications through the Home address.