Download
internetworking n.
Skip this Video
Loading SlideShow in 5 Seconds..
Internetworking PowerPoint Presentation
Download Presentation
Internetworking

Internetworking

139 Views Download Presentation
Download Presentation

Internetworking

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Internetworking Outline Internetworking by IP Routing Global Internet Multicast

  2. Problem: There is more than one network • Two problems that must be addressed: • Heterogeneity • Scale • The scaling problem: • Routing – How to find an efficient path? • Addressing – The task of providing suitable identifiers for all those nodes.

  3. Internetworking Outline Best Effort Service Model Global Addressing Scheme

  4. What is an Internetwork? • An internetwork is an arbitrary collection of networks interconnected to provide some sort of host-to-host packet delivery service. • A network is either a directly connected or a switched network that uses one technology. An internetwork is an interconnected collection of such networks. • An internetwork is a logical network built out a collection of physical networks. • An internetwork is often referred to as a “network of networks” as shown in Figure 4.1

  5. Network 1 (Ethernet) H7 R3 H8 H1 H8 H2 H1 H3 TCP TCP Network 4 R1 R2 R3 (point-to-point) Network 2 (Ethernet) R1 IP IP IP IP IP R2 FDDI PPP ETH ETH ETH FDDI PPP ETH H4 Network 3 (FDDI) H5 H6 IP Internet • Concatenation of Networks (Figure 4.1) • Protocol Stack (Figure 4.2)

  6. What is an Internetwork? • The Internet Protocol was originally known as the Kahn-Cerf protocol. IP allows a collection of networks to function as a single logical internetwork as shown in Figure 4.2. • It is possible to build an internetwork that does not use IP. For example, Novell uses IPX (Internetwork Packet Exchange) protocol, Appletalk uses DDP (Datagram Delivery Protocol).

  7. 0 4 8 16 19 31 TOS Length V ersion HLen Ident Flags Offset TTL Protocol Checksum SourceAddr DestinationAddr Pad Options (variable) (variable) Data Service Model • 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 • Datagram format

  8. IPv4 Header • IPv4 header format • Version: the version of IP • HLen: the length of the header in 32-bit words. The header is 5 words (20 bytes) long when there are no options. • TOS: type of service • Length: length of the datagram in bytes. The maximum size of an IP datagram is 65,535 bytes. • Identification: All the fragments of a datagram contain the same identification value. • Flags: DF (don’t fragment), MF (more fragments) • Fragment offset: offset from the beginning of the datagram • TTL: time to live. The default value is 64. • Protocol: identifies the higher-level protocol to which this IP packet should be passed. The defined values for TCP is 6 and UDP is 17. • Checksum: The checksum is calculated. • SourceAddr: the source address • DestinationAddr: the destination address • Option: more specific control

  9. IPv4 Header Some of the IP options. 5-54

  10. Fragmentation and Reassembly • Each network has some maximum transmission unit (MTU) • Strategy • fragment when necessary (MTU < Datagram) • try to avoid fragmentation at source host • re-fragmentation is possible • fragments are self-contained datagrams • use CS-PDU (Convergence Sublayer – Protocol Data Unit) (not cells) for ATM • delay reassembly until destination host • do not recover from lost fragments

  11. Start of header Ident = x Offset = 0 0 Rest of header 1400 data bytes Start of header Ident = x 1 Offset = 0 Rest of header 512 data bytes Start of header Ident = x 1 Offset = 512 Rest of header 512 data bytes Start of header Ident = x 0 Offset = 1024 Rest of header 376 data bytes Example • The router R2 has an MTU of 532 bytes excluding the PPP header, which leaves 512 bytes for data after the 20-byte IP header.

  12. 7 24 A: 0 Network Host 14 16 B: 1 0 Network Host 21 8 C: 1 1 0 Network Host Global Addresses • Properties • globally unique • hierarchical: network + host • Dot Notation • 10.3.2.4 • 128.96.33.81 • 192.12.69.77

  13. IP Addresses IP address formats.

  14. IP Addresses Special IP addresses.

  15. Datagram Forwarding • Strategy • every datagram contains destination’s address • if directly connected to destination network, then forward to host • if not directly connected to destination network, 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 Hop 1 R3 2 R1 3 interface 1 4 interface 0

  16. Datagram Forwarding $ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 156.26.10.128 0.0.0.0 255.255.255.128 U 40 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 40 0 0 eth1 0.0.0.0 156.26.10.129 0.0.0.0 UG 40 0 0 eth0 $ ping kirk PING kirk.cs.twsu.edu (156.26.10.239): 56 data bytes

  17. Hubs, Repeaters, Bridges • Repeaters are nodes in the physical layer. • A repeater is a product that receives, amplifies, and retransmits signals in both directions. • In data communications, a hub is a place of convergence where data arrives from one or more directions and is forwarded out in one or more other directions. • Bridges are nodes in the data link layer. • A bridge is a product that connects a local area network (LAN) to another local area network that uses the same protocol. • Forward frames.

  18. Switches, Routers • Switches are nodes in the data link or the network layer. • A switch is a network device that selects a path or circuit for sending a unit of data (packet) to its next destination. • Forward packets. • Routers are nodes in the network layer (internetwork-level). • A router connects a network to one or more other networks that are usually part of a wide area network (WAN). • Forward datagrams. • A brouter is a network bridge and a router combined in a single product.

  19. Gateways • Gateways are nodes in the transport layer. • A gateway is a network point that acts as an entrance to another network. • A gateway is often associated with both a router, which knows where to direct a given packet of data that arrives at the gateway, and a switch, which furnishes the actual path in and out of the gateway for a given packet. • A computer server acting as a gateway node is often also acting as a proxy server and a firewall server.

  20. Repeaters, Hubs, Bridges, Switches, Routers and Gateways (a) Which device is in which layer. (b) Frames, packets, and headers.

  21. Repeaters, Hubs, Bridges, Switches, Routers and Gateways (a) A hub. (b) A bridge. (c) a switch.

  22. Proxy Server and Firewall • In an enterprise that uses the Internet, a proxy server is a server that acts as an intermediary between a workstation user and the Internet so that the enterprise can ensure security, administrative control, and caching service. Routers are internet-level nodes. • A firewall is a set of related programs, usually located at a network gateway server, that protects the resources of a private network from users from other networks.

  23. Address Translation • Map IP addresses into physical addresses and send the frame to: • the destination host • the next hop router that promises to forward it to the destination • Techniques • encode physical address in host part of IP address • For example, 128.96.33.81. 33.81 is the physical address. • A limited solution • table-based: (IP address physical address) • ARP (Address Resolution Protocol) • Check for the table of IP to physical address bindings in the cache • Broadcast request if IP address not in the table • Target machine responds with its physical address • Hosts receiving the request update the ARP table if the sender in in that table. Table entries are discarded if not refreshed to reset the expiration time.

  24. ARP Details • Request Format • 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

  25. 0 8 16 31 Hardware type = 1 ProtocolT ype = 0x0800 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 – 3) SourceHardwareAddr (bytes 4 – 5) SourceProtocolAddr (bytes 0 – 1) SourceProtocolAddr (bytes 2 – 3) T argetHardwareAddr (bytes 0 – 1) T argetHardwareAddr (bytes 2 – 5) T argetProtocolAddr (bytes 0 – 3) ARP Packet Format

  26. ATMARP • It is a part of the Classical IP over ATM model. • One large ATM network is subdivided into several logical IP subnets (LIS). Each LIS has the same IP network address. • An ARP server is to enable nodes on a LIS to resolve IP address to ATM address without using broadcast. • LIS is configured with the ATM address of the ARP server, so that it can establish a VC to the server when booting. • Two nodes on different subnets have to set up a VC through the ARP server (router).

  27. Host Configuration (DHCP) • Dynamic Host Configuration Protocol (DHCP) is a communications protocol that lets network administrators manage centrally and automate the assignment of Internet Protocol (IP) addresses in an organization's network. • Operation of DHCP • To contact a DHCP server, a newly booted or attached host broadcasts a DHCPDISCOVER message. • When a DHCP relay agent receive the message, it unicasts it to the DHCP server and relay the response from the remote DHCP to the booting machine.

  28. Host Configuration (DHCP) • DHCP is an alternative to another network IP management protocol, Bootstrap Protocol (BOOTP). DHCP is a more advanced protocol • BOOTP (Bootstrap Protocol) is a protocol that lets a network user be automatically configured (receive an IP address) and have an operating system booted (initiated) without user involvement.

  29. Internet Control Message Protocol (ICMP) • The Internet Control Message Protocol (ICMP) defines a collection of error messages that are sent back to the source host whenever a router or host is unable to process an IP datagram successfully. • ICMP defines messages such as • Echo: ping - send ICMP ECHO_REQUEST packets to network hosts • 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

  30. Virtual Private Network • A VPN (virtual private network) is a way to use a public telecommunication infrastructure, such as the Internet, to provide remote offices or individual users with secure access to their organization's network. • A VPN works by using the shared public infrastructure while maintaining privacy through security procedures and tunneling protocols.

  31. Tunnels • Tunneling is the transmission of data intended for use only within a private, usually corporate network through a public network in such a way that the routing nodes in the public network are unaware that the transmission is part of a private network. A VPN works by using the shared public infrastructure while maintaining privacy through security procedures and tunneling protocols. • Tunneling is generally done by encapsulating the private network data and protocol information within the public network transmission units so that the private network protocol information appears to the public network as data.

  32. Routing Outline Algorithms Scalability

  33. Overview • Forwarding vs. Routing • 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 (shortcomings) • dynamic: load

  34. Distance Vector • Each node maintains a set of triples • (Destination, Cost, NextHop) • Construct the distance vector • Initially, each node sets a cost of 1 to its directly connected neighbors and infinity to all other nodes. • Every node sends a message to its directly connected neighbors containing its personal list of distances. • Exchange updates directly connected neighbors • periodically (on the order of several seconds) • whenever its table changes (called triggered update) • Each update is a list of pairs: • (Destination, Cost)

  35. Distance Vector • Update local table if receive a “better” route • smaller cost • came from next-hop • Refresh existing routes; delete if they time out • When a node or a node fails: • A node continually tests the link to another node by sending a control packet • A node determines that the link or the node is down if it doesn’t receive the expected periodic routing update • Updating the routing table when a node or a link fails could cause the count to infinity problem.

  36. Example Destination Cost Next Hop A 1 A C 1 C D 2 C E 2 A F 2 A G 3 A

  37. Failure Detection and Routing Loop • Example 1 • F detects that link to G has failed • F sets distance to G to infinity and sends update t o 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 • 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…

  38. Loop-Breaking Heuristics • Set infinity to 16 • Split horizon • When a node sends a routing update to its neighbors, it does not send those routes it learned from each neighbor back to that neighbor • For example, if B has the route (E, 2, A) in its table, it knows if must have learned this route from A, and so whenever B sends a routing to A, it doesn’t include the route (E, 2). • Split horizon with poison reverse • For example, B sends the route (E, infinity) to A.

  39. Routing Information Protocol (RIP) • RIP (Routing Information Protocol) is a widely-used protocol for managing router information in IP networks. • RIP is considered an effective solution for small homogeneous networks. For larger, more complicated networks, RIP's transmission of the entire routing table every 30 seconds may put a heavy amount of extra traffic in the network. • The major alternative to RIP is the Open Shortest Path First Protocol (OSPF) .

  40. Link State (OSPF) • OSPF (Open Shortest Path First) is a router protocol used within larger networks in preference to the Routing Information Protocol (RIP). • Assume every node knows how to reach its directly connected neighbors. Then the complete map of the network can be built. • Link-state routing protocols rely on two mechanisms: • reliable dissemination of link-state information • the calculation of routers from the sum of all the accumulated link-state knowledge

  41. Link State • Strategy • 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 the link to each directly connected neighbor • sequence number (SEQNO) • time-to-live (TTL) for this packet

  42. Link State • The ID and cost are for the calculation and the sequence number and TTL ensures the reliable transmission. • 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

  43. Route Calculation • Dijkstra’s shortest path algorithm • Let • 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 ))

  44. Metrics • Original ARPANET metric • measures number of packets enqueued 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 • The problem: • Under heavy load, many links would be idle. • The range of link values was much too large.

  45. Metrics • Revised ARPANET routing metric • compressed dynamic range to account for the link type • Fine Tuning • The delay measurement was transformed to a link utilization. • There was a hard limit on how much the metric could change. • Observation of the Link utilization • A highly loaded link never shows a cost of more than three times its cost when idle. • The most expensive link is only seven times the cost of the least expensive. • A high-speed satellite link is more attractive than a low-speed terrestrial link • Cost is a function of link utilization only a t moderate to high loads.

  46. Mobile IP • Dynamic Host Configuration Protocol (DHCP) enables a newly connected computer to acquire a temporary IP. • If a mobile computer is to remain accessible to client and resource-sharing applications (such as a share-monitoring service) when moving between networks, it must retain a single IP number, but IP routing is subnet-based. • Mobile IP is a solution to allow the correct routing through different subnets.

  47. Mobile IP • When a mobile host is connected outside of its home base, a home agent (HA) and a foreign agent (FA) take responsibility of rerouting. • The HA is responsible for holding up-to-date knowledge of the mobile host’s current location. • When a mobile host leaves its home site, it should inform the HA. During the absence it will behave as proxy for the absent host.

  48. Mobile IP • Once the mobile host arrives at a new site, it informs the FA at that site. The FA allocates a temporary IP address (care-of address) on the local subnet and notifies the HA the mobile host’s home IP address and the care-of address. • The next figure illustrates the Mobile IP routing mechanism. • An IP packet addressed to the mobile host’s home address is received at the home network and routed to the HA.

  49. The Mobile IP routing mechanism Sender Subsequent IP packets Mobile host MH tunnelled to FA Address of FA returned to sender First IP packet addressed to MH Internet Foreign agent FA Home First IP packet agent tunnelled to FA

  50. Mobile IP • The HA then encapsulates the IP packet in a Mobile IP packet and sends it to the FA. The FA unpacks the packet and deliver it to the mobile host. This uses the tunnelling technique. • The HA also send the care-of address of the mobile host to the original sender. • If the sender is Mobile IP enabled, the subsequent communication will directly go the new address. If it is not, it will ignore the change and continue to be routed via the HA.