Spring 2010CS 3321 Chapter 4: Internetworking. Spring 2010CS 3322 Assumptions Data pipe from every machine to every other machine. –Need not be single.

Slides:



Advertisements
Similar presentations
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Advertisements

IPv4 - The Internet Protocol Version 4
CSE 461: IP/ICMP and the Network Layer. Next Topic  Focus:  How do we build large networks?  Introduction to the Network layer  Internetworks  Service.
Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
1 IP - The Internet Protocol Relates to Lab 2. A module on the Internet Protocol.
CSCI 4550/8556 Computer Networks Comer, Chapter 23: An Error Reporting Mechanism (ICMP)
Chapter 20 Network Layer: Internet Protocol Stephen Kim 20.1.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
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.
CS335 Networking & Network Administration Tuesday, May 11, 2010.
CS Internetworking Slide Set 8. In this set... Addressing Datagram forwarding.
1 ELEN Lecture 13 LAN Bridges Routers, Switches, Gateways Network layer -IP Reading: 6.7,
Spring 2002CS 4611 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
IP Routing, Format, Fragmentation Chapters 20-21, 23.
26-Aug-154/598N: Computer Networks Recap SBC UUNET Comcast Sprint End Users Internet First mile problem Last mile problem.
TELE202 Lecture 10 Internet Protocols (2) 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Internet Protocols (1) »Source: chapter 15 ¥This Lecture »Internet.
CS 6401 Internet Protocol Outline Introduction to Internet Protocol Header and address formats ICMP Tools.
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Internetworking.
Fall 2010CMSC 1501 Internetworking. Fall 2010CMSC 1502 Assumptions Data pipe from every machine to every other machine. –Need not be single link (and.
A Review of Evolving Network Technology Ethernet & IP J.J. Ekstrom March 2008.
CS 6401 Internetworking Outline Internet Architecture Best Effort Service Model.
IP : Internet Protocol Addresses Rsc.Asst.Kamil Serhan Bilman
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
TCOM 515 IP Routing. Syllabus Objectives IP header IP addresses, classes and subnetting Routing tables Routing decisions Directly connected routes Static.
1 IP : Internet Protocol Computer Network System Sirak Kaewjamnong.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
Internetworking Internet: A network among networks, or a network of networks Allows accommodation of multiple network technologies Universal Service Routers.
CSS432: Internetworking 1 CSS432 Internetworking Textbook Ch4.1 Professor: Munehiro Fukuda Augmented by Rob Nash.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
1 Network Layer Lecture 16 Imran Ahmed University of Management & Technology.
Fall, 2001CS 6401 Switching, Internet Protocol Outline Quiz 2 Solution Crossbar switch design Knockout switch design Introduction to Internet Protocol.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
CS 4396 Computer Networks Lab
1 Chapter 23 Internetworking Part 3 (Control Messages, Error Handling, ICMP)
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
Lecture 15 Internetworking: Address Structure Fragmentation and Reassembly.
1 Computer Communication & Networks Lecture 19 Network Layer: IP and Address Mapping Waleed Ejaz.
1 Chapter 4: Internetworking (Internet Protocol) Dr. Rocky K. C. Chang 16 March 2004.
Address Translation Outline Datalink layer intro ARP RARP DHCP.
1 Internetworking: IP Packet Switching Reading: (except Implementation; pp )
CSS432 Basic Internetworking Textbook Ch3.2
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
1 Internetworking Outline Best Effort Service Model Global Addressing Scheme.
Packet Switch Network Server client IP Ether IPTCPData.
2002 년 2 학기인터넷통신망 년 2 학기. 인터넷통신망 2 Acknowledgement Some figures and texts are from: –Govindan –Kurose –Peterson & Davie –Huitema –Halabi –Retana,
Scaling the Network Chapters 3-4 Part 2
A quick intro to networking
Scaling the Network: The Internet Protocol
TCP/IP Transmission Control Protocol / Internet Protocol
IP - The Internet Protocol
CS 457 – Lecture 10 Internetworking and IP
IP - The Internet Protocol
Advanced Computer Networks
IP : Internet Protocol Surasak Sanguanpong
Internetworking Outline Best Effort Service Model
IP - The Internet Protocol
2. Fragmentation and Reassembly
Net 323 D: Networks Protocols
IP - The Internet Protocol
Introduction to Computer Networks
Scaling the Network: The Internet Protocol
Advanced Computer Networks
IP - The Internet Protocol
Presentation transcript:

Spring 2010CS 3321 Chapter 4: Internetworking

Spring 2010CS 3322 Assumptions Data pipe from every machine to every other machine. –Need not be single link. –Pipe can lose or corrupt messages. Sender/receiver may be on different physical networks, using different technology So what info do we need to build a single “logical” network (either reliable or unreliable)?

Spring 2010CS 3323 Issues Getting various technologies to work with one another (i.e. creating a single “network” from many heterogeneous systems). –Problem magnified since packet may need to traverse several different networks (and network technologies), each with their own addressing schemes, service models, media access protocols, etc. Scale: It’s the big issue –How can you find an efficient path through a network with millions (and perhaps billions eventually) of nodes? –How do you provide addressing for a network with this many nodes?

Spring 2010CS 3324 Internetwork Arbitrary collection of possibly heterogeneous networks interconnected to provide host-to-host packet delivery service. Network: Directly connected or switched network that uses a single technology (i.e. ATM, 802.5, Ethernet). –Could be many physical networks creating a single logical network.

Spring 2010CS 3325 Internetwork Internet—THE internetwork. –Runs the Internet Protocol (IP or Kahn-Cerf) –Interesting because it has faced the problems of scale –Experimental versions 1977 – 1981 –IPv4 first deployed in 1981 internet—abstract internetwork

Spring 2010CS 3326 IP is a big deal Vint Cerf and Bob Kahn with Pres. Bush at 2006 ceremony where they received the Presidential Medal of Freedom for their work on IP. White House News & Policies photophoto

Spring 2010CS 3327 IP Internet Concatenation of Networks Note Hn denotes host, Rn denotes router.

Spring 2010CS 3328 IP Internet Protocol Stack R1 ETH FDDI IP ETH TCP R2 FDDI PPP IP R3 PPP ETH IP H1 IP ETH TCP H8

Spring 2010CS 3329 The Internet Outline Best Effort Service Model Global Addressing Scheme

Spring 2010CS Service Model Connectionless (datagram-based) –So each packet must be “self-contained” 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

Spring 2010CS Why?! Best Effort service model is simple as it gets – intentionally! –If you provide best effort service over a network technology that provides reliable delivery, you’re fine –Providing reliable delivery over an unreliable network means extra functionality in the routers –Keeping the routers as simple as possible was an IP design goal. (Why?) Note: IP today runs over many technologies that were not in existence when IP was invented!

Spring 2010CS IP Datagram Format VersionHLen TOSLength IdentFlagsOffset TTLProtocolChecksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data In 32 bit words In bytes Note: fields aligned on 32 bit boundaries

Spring 2010CS Fields Version: note placement at front of packet (why?) Header Length: in 32 bit words (20 bytes when no options) Type of service: later Length: of entire packet in bytes (note max of 65,535 bytes because of 16 bit length field) Ident, flags, offset all deal with fragmentation Time to live: first seconds, but evolved to be hop count

Spring 2010CS Fields Protocol: demux key specifying higher level protocol that gets datagram Checksum: take IP header as sequence of 16 bit words, add them using ones complement, take ones complement of result. –Relatively easy to calculate in software –Not as strong error detection as CRC –Bad packets discarded by router (potential bad dest. addr.) Src, dest address: pretty clear (and these are unique!) Options: rare, but complete IP implementation must handle them all! Presence determined by header length field

Spring 2010CS Fragmentation and Reassembly Each network has some MTU (why not uniform?) –Why not some uniform standard? –What is a reasonable choice for a given host? Strategy –fragment when necessary (MTU < Datagram length) –try to avoid fragmentation at source host –re-fragmentation is possible –fragments are self-contained datagrams –delay reassembly until destination host –do not recover from lost fragments

Spring 2010CS Fragmentation and Reassembly Header fields used in F &R (bits in parens) Ident field (16): chosen by sending host, intended to be unique among all datagrams that might be received at this dest from this source over reasonable time period. –All fragments keep this same ident value Offset (13): specifies 8 byte chunks of data (Why? And why not fragment #?) Flags: M is “more” flag

Spring 2010CS Example Ident = xOffset = 0 Start of header 0 Rest of header 1400 data bytes Ident = xOffset = 0 Start of header 1 Rest of header 512 data bytes Ident = xOffset = 512 Start of header 1 Rest of header 512 data bytes Ident = xOffset = 1024 Start of header 0 Rest of header 376 data bytes MTU 532 bytes Note: fragmentation can occur at multiple hops!

Spring 2010CS Global Addresses Properties –globally unique (don’t want anyone with my phone #) Why not just use Ethernet address?! –hierarchical: network + host (really interface) Dot Notation – – – NetworkHost A: NetworkHost B: NetworkHost C:

Spring 2010CS IP Internet Note Hn denotes host, Rn denotes router. Routers need two IP addresses. All hosts on same network have same network part of IP address

Spring 2010CS Terminology Routing Mechanism: How a router selects the link over which to forward a packet Routing Protocol: Policies that determine what is placed in the routing tables. These are not the same thing!

Spring 2010CS 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

Spring 2010CS Recall: R2 R1 H4 H5 H3 H2 H1 Network 2 (Ethernet) Network 1 (Ethernet) H6 Network 3 (FDDI) Network 4 (point-to-point) H7R3H8

Spring 2010CS Pseudocode if (networknum dest = networknum my interface) deliver packet over that interface else if (networknum in my routing table) deliver packet to next hop router else deliver packet to default router

Spring 2010CS Address Translation Map IP addresses into physical addresses –destination host –next hop router –Why not just broadcast it? (E.g. if physical network is Ethernet). Techniques –encode physical address in host part of IP address –table-based 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

Spring 2010CS 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 Stands for “hardware address length” and “protocol address length” –Operation: request or response –Source/Target-Physical/Protocol addresses Notes –table entries timeout in about 15 minutes (why?) –update table with source when you are the target (why?) –"refresh" table if already have an entry (i.e. reset timeout) –do not refresh table entries upon reference

Spring 2010CS ARP Packet Format TargetHardwareAddr (bytes 2–5) TargetProtocolAddr (bytes 0–3) SourceProtocolAddr (bytes 2–3) Hardware type = 1ProtocolType = 0x0800 SourceHardwareAddr (bytes 4–5) TargetHardwareAddr (bytes 0–1) SourceProtocolAddr (bytes 0–1) HLen = 48PLen = 32Operation SourceHardwareAddr (bytes 0–3)

Spring 2010CS Dynamic Host Configuration Protocol (DHCP) Manually configuring IP information can be hard –Large networks –Configuration process error prone Every host needs correct network number No two hosts can have same IP address DHCP automates process –Network management has to scale, too – not just network operation

Spring 2010CS DHCP (continued) At least one DHCP server per administrative domain –Centralized repository for host configuration info Info can be sent to hosts at boot or connection time. Can also be used to maintain pool of available addresses assigned on demand Method –Send DHCPDISCOVER msg to –Response is DHCP Offer message – also broadcast (why?) –Host chooses one of offers and sends Reply and gets Ack –Host "leases" IP address for a period of time – can renew –Relay agents

Spring 2010CS Internet Control Message Protocol (ICMP) Communicates error messages and other conditions that require attention ICMP messages are acted on by either the IP layer or higher layers (TCP or UDP). Transmitted within IP datagrams typechecksumcode Contents depends on type and code

Spring 2010CS ICMP (cont.) 15 different values for the type field, then several codes for each of the types Checksum computed same as for IP packet Contains first 8 bytes of IP datagram that generated the message so sender can ID Complete specification of protocol is RFC 792 (Postel) Another good source is TCP/IP Illustrated, Vol. 1, Ch. 6

Spring 2010CS Types of ICMP Messages 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

Spring 2010CS Virtual Private Networks (VPNs) Goal: simulate private network of dedicated links on a public (shared) network Easy on circuit-switched infrastructure Not so easy on IP-based internetwork Strategy: routers create an IP "tunnel" for VPN traffic.

Spring 2010CS IP Tunneling Router R1 at one end of tunnel is provided with IP address of router R2 at the other end. R1 is directly connected to the network where the host that requested the tunnel lives. R2 is directly connected to the network where the destination host lives. All VPN traffic is encapsulated as IP packets from R1 to R2 (this is not the norm) R2 strips tunnel header and forwards packet to ultimate recipient.

Spring 2010CS Tunnel implementation NetworkNumNextHop 1Interface 0 2Virtual interface 0 DefaultInterface 1 Routing table for router R1:

Spring 2010CS What is it good for? Security – tunnel plus encryption Using routers that have enhanced capabilities, e.g. multicast Tunneling other protocols across IP Short-circuiting normal routing – useful for mobility