Spring 20071 Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 20/03/2007.

Slides:



Advertisements
Similar presentations
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Advertisements

4: Network Layer4a-1 IP Addressing: introduction r IP address: 32-bit identifier for host, router interface r interface: connection between host, router.
8-1 Last time □ Network layer ♦ Introduction forwarding vs. routing ♦ Virtual circuit vs. datagram details connection setup, teardown VC# switching forwarding.
Introduction 1-1 1DT066 Distributed Information System Chapter 4 Network Layer.
Announcement r Recitation tomorrow on Project 2 r Midterm Survey at the end of this class.
Week 5: Internet Protocol Continue to discuss Ethernet and ARP –MTU –Ethernet and ARP packet format IP: Internet Protocol –Datagram format –IPv4 addressing.
Introduction 1-1 1DT014/1TT821 Computer Networks I Chapter 4 Network Layer.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
Network Layer4-1 Computer Networking (Datakom) Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m routing.
The Network Layer Chapter 5. The IP Protocol The IPv4 (Internet Protocol) header.
Chapter 5 The Network Layer.
N/W Layer Addressing1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar 1 ECSE-4670: Computer Communication Networks (CCN) Network Layer Shivkumar.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
Network Layer Overview and IP
11- IP Network Layer4-1. Network Layer4-2 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection.
Network Layer4-1 IP: Internet Protocol r Datagram format r IPv4 addressing r DHCP: Dynamic Host Configuration Protocol r NAT: Network Address Translation.
IP Addressing: introduction
1 Lecture 11: The Network Layer Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3 slides.
Network Layer4-1 Data Communication and Networks Lecture 6 Networks: Part 1 Circuit Switching, Packet Switching, The Network Layer October 13, 2005.
Network Layer session 1 TELE3118: Network Technologies Week 4: Network Layer Basics, Addressing Some slides have been taken from: r Computer Networking:
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
IP Address 0 network host 10 network host 110 networkhost 1110 multicast address A B C D class to to
Network Layer4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side,
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Computer Networks The Network Layer
4: Network Layer4a-1 IP datagram format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time.
Adapted from: Computer Networking, Kurose/Ross 1DT066 Distributed Information Systems Chapter 4 Network Layer.
Datagram Networks: Internet Protocol (IPv4)
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
Csci 183/183W/232: Computer Networks Forwarding and Routing Network Layer Part I 1 Switching and Forwarding Network Layer Part I Switching and Forwarding.
12 – IP, NAT, ICMP, IPv6 Network Layer.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 16.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1DT066 Distributed Information System Chapter 4 Network Layer.
Network Layer4-1 Chapter 4 Network Layer A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers).
Transport Layer 3-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012  CPSC.
1 Chapter 4: Network Layer r 4.4 IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP m IPv6 r 4.5 Routing algorithms m Hierarchical routing.
Network Layer 4-1 Chapter 4 Network Layer. Network Layer 4-2 Chapter 4: Network Layer 4. 1 Introduction 4.2 Virtual circuit and datagram networks 4.3.
7-1 Last time □ Wireless link-layer ♦ Introduction Wireless hosts, base stations, wireless links ♦ Characteristics of wireless links Signal strength, interference,
1 CSE3213 Computer Network I Network Layer (7.1, 7.3, ) Course page: Slides modified from Alberto Leon-Garcia.
Internet Protocol ECS 152B Ref: slides by J. Kurose and K. Ross.
1 Network Layer Lecture 15 Imran Ahmed University of Management & Technology.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Network Layer4-1 The Internet Network layer forwarding table Host, router network layer functions: Routing protocols path selection RIP, OSPF, BGP IP protocol.
Sharif University of Technology, Kish Island Campus Internet Protocol (IP) by Behzad Akbari.
Transport Layer3-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Network Layer4-1 Datagram networks r no call setup at network layer r routers: no state about end-to-end connections m no network-level concept of “connection”
The Internet Network layer
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 19 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1 COMP 431 Internet Services & Protocols The IP Internet Protocol Jasleen Kaur April 21, 2016.
IP Internet Protocol. IP TCP UDP ICMPIGMP ARP PPP Ethernet.
CSE 421 Computer Networks. Network Layer 4-2 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside.
Network Layer session 1 TELE3118: Network Technologies Week 5: Network Layer Forwarding, Features Some slides have been taken from: r Computer.
Introduction to Networks
12 – IP, NAT, ICMP, IPv6 Network Layer.
Computer Communication Networks
Chapter 4: Network Layer
Chapter 4 Network Layer All material copyright
Chapter 4: Network Layer
CS 457 – Lecture 10 Internetworking and IP
Some slides have been taken from:
Wide Area Networks and Internet CT1403
Overview The Internet (IP) Protocol Datagram format IP fragmentation
32 bit destination IP address
Chapter 5: Link Layer 5.1 Introduction and services
Presentation transcript:

Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 20/03/2007 Ref: CSci5211 Univ. of Minnesota

Spring Agenda Virtual Circuit Switching Model Datagram Switching Model Router Tables - Overview Longest Prefix Match –ARP ICMP

Spring Virtual Circuit vs. Datagram Objective of both: move packets through routers from source to destination Datagram Model: –Routing: determine next hop to each destination a priori –Forwarding: destination address in packet header, used at each hop to look up for next hop  routes may change during “session” –analogy: driving, asking directions at every corner gas station, or based on the road signs at every turn Virtual Circuit Model: –Routing: determine a path from source to each destination –“Call” Set-up: fixed path (“virtual circuit”) set up at “call” setup time, remains fixed thru “call” –Data Forwarding: each packet carries “tag” or “label” (virtual circuit id, VCI), which determines next hop –routers maintain ”per-call” state

Spring Virtual Circuit Switching Explicit connection setup (and tear-down) phase Subsequence packets follow same circuit Sometimes called connection-oriented model still packet switching, not circuit switching! Analogy: phone call Each switch maintains a VC table Host A Host B Switch 3 Switch 2Switch

Spring Datagram Switching No connection setup phase Each packet forwarded independently Sometimes called connectionless model Analogy: postal system Each switch maintains a forwarding (routing) table

Spring Forwarding Tables: VC vs. Datagram Virtual Circuit Forwarding Table a.k.a. VC (Translation) Table (switch 1, port 2) Datagram Forwarding Table (switch 1)

Spring More on Virtual Circuits call setup/teardown for each call before data can flow –need special control protocol: “signaling” –every router on source-dest path maintains “state” (VCI translation table) for each passing call –VCI translation table at routers along the path of a call “weaving together” a “logical connection” for the call link, router resources (bandwidth, buffers) may be reserved and allocated to each VC –to get “circuit-like” performance “source-to-dest path behaves much like telephone circuit” (but actually over packet network)

Spring Virtual Circuit: Signaling Protocols used to setup, maintain teardown VC used in ATM, frame-relay, X.25 used in part of today’s Internet: Multi-Protocol Label Switching (MPLS) operated at “layer 2+1/2” (between data link layer and network layer) for “traffic engineering” purpose application transport network data link physical application transport network data link physical 1. Initiate call 2. incoming call 3. Accept call 4. Call connected 5. Data flow begins 6. Receive data

Spring Virtual Circuit Setup/Teardown Call Set-Up: Source: select a path from source to destination –Use routing table (which provides a “map of network”) Source: send VC setup request control (“signaling”) packet –Specify path for the call, and also the (initial) output VCI –perhaps also resources to be reserved, if supported Each router along the path: –Determine output port and choose a (local) output VCI for the call  need to ensure that no two distinct VCs leaving the same output port have the same VCI! –Update VCI translation table (“forwarding table”)  add an entry, establishing an mapping between incoming VCI & port no. and outgoing VCI & port no. for the call Call Tear-Down: similar, but remove entry instead

Spring During data packet forwarding phase, input VCI is used to look up the table, and is “swapped” w/ output VCI (VCI translation, or “label swapping”) VCI translation table (aka “forwarding table”), built at call set-up phase four “calls” going thru the router, each entry corresponding one call green call purple call blue call orange call

Spring Virtual Circuit: Example Router 3 Host B Router 2 Host A Router 1 Router 4 “call” from host A to host B along path: host A  router 1  router 2  router 3  host B each router along path maintains an entry for the call in its VCI translation table the entries piece together a “logical connection” for the call

Spring Virtual Circuit Model: Pros and Cons Full RTT for connection setup –before sending first data packet. Setup request carries full destination address –each data packet contains only a small identifier If a switch or a link in a connection fails –new connection needs to be established. Provides opportunity to reserve resources.

Spring ATM Networks Study for Reference

Spring Datagram Networks: the Internet model no call setup at network layer routers: no state about end-to-end connections –no network-level concept of “connection” packets forwarded using destination host address –packets between same source-dest pair may take different paths, when intermediate routes change! application transport network data link physical application transport network data link physical 1. Send data 2. Receive data

Spring Datagram Model There is no round trip delay waiting for connection setup; a host can send data as soon as it is ready. Source host has no way of knowing if the network is capable of delivering a packet or if the destination host is even up. Since packets are treated independently, it is possible to route around link and node failures. Since every packet must carry the full address of the destination, the overhead per packet is higher than for the connection-oriented model.

Spring Network Layer Service Models: Internet model being extended: MPLS, Diffserv

Spring Datagram or VC: Why? Internet data exchange among computers –“elastic” service, no strict timing req. “smart” end systems (computers) –can adapt, perform control, error recovery –simple inside network, complexity at “edge” many link types –different characteristics –uniform service difficult ATM evolved from telephony human conversation: –strict timing, reliability requirements –need for guaranteed service “dumb” end systems –telephones –complexity inside network MPLS evolve from ATM –traffic engineering, fast path restoration (a priori “backup” paths)

Spring IP Addressing: Basics Globally unique (for “public” IP addresses) IP address: 32-bit identifier for host, router interface Interface: connection between host/router and physical link –router’s typically have multiple interfaces –host may have multiple interfaces –IP addresses associated with each interface Dot notation (for ease of human reading) =

Spring IP Addressing: Network vs. Host Two-level hierarchy –network part (high order bits) –host part (low order bits) What’s a network ? ( from IP address perspective) –device interfaces with same network part of IP address –can physically reach each other without intervening router multi-access LAN point-to-point link

Spring “Classful” IP Addressing 32 bits 0 network host 10 network host 110 networkhost 1110 multicast address A B C D class to to to to Disadvantage: inefficient use of address space, address space exhaustion e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts in that network

Spring Classless Addressing: CIDR CIDR: Classless InterDomain Routing Network portion of address is of arbitrary length Addresses allocated in contiguous blocks –Number of addresses assigned always power of 2 Address format: a.b.c.d/x –x is number of bits in network portion of address network part host part /23

Spring Representation of Address Blocks “Human Readable” address format: a.b.c.d/x –x is number of bits in network portion of address machine representation of a network (addr block): using a combination of –first IP of address blocks of the network –network mask ( x “1”’s followed by 32-x “0”’s network mask: network w/ address block: / first IP address of address block:

Spring More Examples Three Address Blocks: first IP address: network mask: first IP address: network mask: first IP address : network mask: Given an IP address, which network (or address block) does it belong to? Example 2: Example 1: Use longest prefix matching!

Spring Special IP Addresses Network address: host id = all 0’s Directed broadcast address: host id = all 1’s Local broadcast address: all 1’s Local host address (this computer): all 0’s Loopback address –network id = 127, any host id (e.g )

Spring IP Addresses: How to Get One? Q: How does host get IP address? “static” assigned: i.e., hard-coded in a file –Wintel: control-panel->network->configuration- >tcp/ip->properties –UNIX: /etc/rc.config Dynamically assigned: using DHCP (Dynamic Host Configuration Protocol) – dynamically get address from as server –“plug-and-play”

Spring DHCP: Dynamic Host Configuration Protocol Goal: allow host to dynamically obtain its IP address from network server when it joins network Can renew its lease on address in use Allows reuse of addresses (only hold address while connected an “on” Support for mobile users who want to join network (more shortly) DHCP overview: –host broadcasts “DHCP discover” msg –DHCP server responds with “DHCP offer” msg –host requests IP address: “DHCP request” msg –DHCP server sends address: “DHCP ack” msg

Spring DHCP Client-Server Scenario A B E DHCP server arriving DHCP client needs address in this network

Spring DHCP Client-Server Scenario DHCP server: arriving client time DHCP discover src : , 68 dest.: ,67 yiaddr: transaction ID: 654 DHCP offer src: , 67 dest: , 68 yiaddrr: transaction ID: 654 Lifetime: 3600 secs DHCP request src: , 68 dest:: , 67 yiaddrr: transaction ID: 655 Lifetime: 3600 secs DHCP ACK src: , 67 dest: , 68 yiaddrr: transaction ID: 655 Lifetime: 3600 secs

Spring IP Addresses: How to Get One? … Q: How does network get network part of IP addr? A: gets allocated portion of its provider ISP’s address space ISP's block /20 Organization /23 Organization /23 Organization /23... ….. …. …. Organization /23

Spring IP Addressing: the Last Word... Q: How does an ISP get block of addresses? A: ICANN: Internet Corporation for Assigned Names and Numbers –allocates addresses –manages DNS –assigns domain names, resolves disputes

Spring IP Forwarding & IP/ICMP Protocol Network layer routing table Routing protocols path selection RIP, OSPF, BGP IP protocol addressing conventions packet handling conventions ICMP protocol error reporting router “signaling” Transport layer: TCP, UDP Data Link layer (Ethernet, WiFi, PPP, …) Physical Layer (SONET, …)

Spring IP Service Model and Datagram Forwarding Connectionless (datagram-based) –Each datagram carries source and destination Best-effort delivery (unreliable service) –packets may be lost –packets can be delivered out of order –duplicate copies of a packet may be delivered –packets can be delayed for a long time Forwarding and IP address –forwarding based on network id  Delivers packet to the appropriate network  Once on destination network, direct delivery using host id IP destination-based next-hop forwarding paradigm –Each host/router has IP forwarding table  Entries like –Try out “netstat –rn” command

Spring IP Datagram Format ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead

Spring IP Datagram Forwarding Model IP datagram: misc fields source IP addr dest IP addr data datagram remains unchanged, as it travels source to destination addr fields of interest here A B E Dest. Net. next router Nhops forwarding table in A

Spring IP Forwarding Table 4 billion possible entries! (in reality, far less, but can still have millions of “routes”) forwarding table entry format destination network next-hop (IP address) link interface (1 st IP address, network mask ) , , - (direct) , otherwise

Spring Forwarding Table Lookup using Longest Prefix Matching Prefix Match Next Hop Link Interface otherwise DA: Examples DA: Which interface?

Spring IP Forwarding: Destination in Same Net Starting at A, send IP datagram addressed to B: look up net. address of B in forwarding table find B is on same net. as A link layer will send datagram directly to B inside link-layer frame –B and A are directly connected misc fields data Dest. Net. next router Nhops A B E forwarding table in A

Spring IP Datagram Forwarding on Same LAN: Interaction of IP and data link layers A B E Starting at A, given IP datagram addressed to B: look up net. address of B, find B on same net. as A link layer send datagram to B inside link-layer frame B’s MAC addr A’s MAC addr A’s IP addr B’s IP addr IP payload datagram frame frame source, dest address datagram source, dest address

Spring MAC (Physical) Addresses used to get frames from one interface to another physically-connected interface (same physical network, i.e., p2p or LAN) 48 bit MAC address (for most LANs) –fixed for each adaptor, burned in the adapter ROM –MAC address allocation administered by IEEE  1 st bit: 0 unicast, 1 multicast.  all 1’s : broadcast MAC flat address -> portability –can move LAN card from one LAN to another MAC addressing operations on a LAN: – each adaptor on the LAN “sees” all frames – accept a frame if dest. MAC address matches its own MAC address – accept all broadcast (MAC= all1’s) frames – accept all frames if set in “promiscuous” mode – can configure to accept certain multicast addresses (first bit = 1)

Spring MAC vs. IP Addresses 32-bit IP address: network-layer address, logical – i.e., not bound to any physical device, can be re-assigned IP hierarchical address NOT portable –depends on IP network to which an interface is attached –when move to another IP network, IP address re-assigned used to get IP packets to destination IP network –Recall how IP datagram forwarding is performed IP network is “virtual,” actually packet delivery done by the underlying physical networks –from source host to destination host, hop-by-hop via IP routers –over each link, different link layer protocol used, with its own frame headers, and source and destination MAC addresses  Underlying physical networks do not understand IP protocol and datagram format!

Spring ARP: Address Resolution Protocol Each IP node (host, router) on LAN has ARP table ARP Table: IP/MAC address mappings for some LAN nodes – timer: time after which address mapping will be forgotten (typically 20 min) try out “arp –a” command Question: how to determine MAC address of B knowing B’s IP address?

Spring ARP Protocol A wants to send datagram to B, and A knows B’s IP address. A looks up B’s MAC address in its ARP table Suppose B’s MAC address is not in A’s ARP table. A broadcasts (why?) ARP query packet, containing B's IP address –all machines on LAN receive ARP query B receives ARP packet, replies to A with its (B's) MAC address –frame sent to A’s MAC address (unicast) A caches (saves) IP-to-MAC address pair in its ARP table until information becomes old (times out) –soft state: information that times out (goes away) unless refreshed ARP is “plug-and-play”: –nodes create their ARP tables without intervention from net administrator

Spring ARP Messages Hardware Address Type: e.g., Ethernet Protocol address Type: e.g., IP Operation: ARP request or ARP response

Spring ARP Request & Response Processing The requester broadcasts ARP request The target node unicasts (why?) ARP reply to requester –With its physical address –Adds the requester into its ARP table (why?) On receiving the response, requester –updates its table, sets timer Other nodes upon receiving the ARP request –Refresh the requester entry if already there –No action otherwise (why?) Some questions to think about: –Shall requester buffer IP datagram while performing ARP? –What shall requester do if never receive any ARP response?

Spring ARP Operation Illustration

Spring IP Forwarding: Destination in Diff. Net Starting at A, dest. E: look up network address of E in forwarding table E on different network –A, E not directly attached routing table: next hop router to E is link layer sends datagram to router inside link-layer frame datagram arrives at continued….. misc fields data Dest. Net. next router Nhops A B E forwarding table in A

Spring IP Forwarding: Destination in Diff. Net … Arriving at , destined for look up network address of E in router’s forwarding table E on same network as router’s interface –router, E directly attached link layer sends datagram to inside link-layer frame via interface datagram arrives at !!! (hooray!) misc fields data Dest. Net router Nhops interface A B E forwarding table in router

Spring Forwarding to Another LAN: Interaction of IP and Data Link Layer walkthrough: send datagram from A to B via R assume A knows B IP address Two ARP tables in router R, one for each IP network (LAN) In routing table at source host, find router In ARP table at source, find MAC address E6-E BB-4B, etc A R B

Spring A creates datagram with source A, destination B A uses ARP to get R’s MAC address for A creates link-layer frame with R's MAC address as dest, frame contains A-to-B IP datagram A’s data link layer sends frame R’s data link layer receives frame R removes IP datagram from Ethernet frame, sees its destined to B R uses ARP to get B’s physical layer address R creates frame containing A-to-B IP datagram sends to B AR B

Spring IP Datagram Format Again ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP? 20 bytes of TCP 20 bytes of IP = 40 bytes + app layer overhead

Spring Fields in IP Datagram IP protocol version: current version is 4, IPv4, new: IPv6 Header length: number of 32-bit words in the header Type of Service: – 3-bit priority,e.g, delay, throughput, reliability bits, … Total length: including header (maximum bytes) Identification: all fragments of a packet have same identification Flags: don’t fragment, more fragments Fragment offset: where in the original packet (count in 8 byte units) Time to live: maximum life time of a packet Protocol Type: e.g., ICMP, TCP, UDP etc IP Option: non-default processing, e.g., IP source routing option, etc.

Spring IP Fragmentation & Reassembly: Why network links have MTU (max.transfer size) - largest possible link-level frame. –different link types, different MTUs large IP datagram divided (“fragmented”) within net –one datagram becomes several datagrams –“reassembled” only at final destination –IP header bits used to identify, order related fragments fragmentation: in: one large datagram out: 3 smaller datagrams reassembly

Spring IP Fragmentation & Reassembly: How An IP datagram is chopped by a router into smaller pieces if –datagram size is greater than network MTU –Don’t fragment option is not set Each datagram has unique datagram identification –Generated by source hosts –All fragments of a packet carry original datagram id All fragments except the last have more flag set –Fragment offset and Length fields are modified appropriately Fragments of IP packet can be further fragmented by other routers along the way to destination ! Reassembly only done at destination host (why?) –Use IP datagram id, fragment offset, fragment flags. Length –A timer is set when first fragment is received (why?)

Spring IP Fragmentation and Reassembly: Exp ID =x offset =0 fragflag =0 length =4000 ID =x offset =0 fragflag =1 length =1500 ID =x offset =1480 fragflag =1 length =1500 ID =x offset =2960 fragflag =0 length =1040 One large datagram becomes several smaller datagrams Example 4000 byte datagram MTU = 1500 bytes

Spring ICMP: Internet Control Message Protocol used by hosts, routers, gateways to communication network-level information –error reporting: unreachable host, network, port, protocol –echo request/reply (used by ping) network-layer “above” IP: –ICMP msgs carried in IP datagrams ICMP message: type, code plus first 8 bytes of IP datagram causing error Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header

Spring ICMP Message Transport & Usage ICMP messages carried in IP datagrams Treated like any other datagrams –But no error message sent if ICMP message causes error Message sent to the source –8 bytes of the original header included ICMP Usage (non-error, informational): Examples –Testing reachability: ICMP echo request/reply  ping –Tracing route to a destination: Time-to-live field  traceroute –Path MTU discovery  Don’t fragment bit – IP direct (for hosts only): inform hosts of better routes

Spring Questions? That’s all for today!