Looking up address bits in an arriving datagram header in the forwarding table
Analogous to TCP/UDP connecton-oriented / connectionless transport-layer services, but: - service: host-to-host - no choice: network provides one or the other - implementation: in network core Show
Virtual Circuitssource-to-dest path behaves much like telephone circuit A VC consists of
packet belonging to VC carries VC number (rather than dest address) VC number can be changed on each link. - new VC number comes from forwarding table Signaling protocols
Datagram Networks
Datagram forwarding table
RouterThere are two key router functions: - run routing algorithms/protocol (RIP, OSPF, BGP) - forwarding datagrams from incoming to outgoing link Input port functionsSwitching fabricsSwitching fabrics transfer packet from input buffer to appropriate output buffer. Switching rate: rate at which packets can be transfer from inputs to outputs - often measured as multiple of input/output line rate - N inputs: switching rate N times line rate desirable
Output ports
Output port queueingFabric slower than input ports combined -> queueing may occur at input queues - queueing (delay) and loss due to output port buffer overflow! Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward IP: Internet ProtocolIP datagram formatIPv4 Datagram Format. IP fragmentationMaximum Transmission Unit (MTU): largest possible link-level frame.
large IP datagram divided (“fragmented”) within net
e.g. We have a 4000 byte datagram with MTU = 1500 bytes FragmentsLengthIDOffsetFragflat11500x0121500x185131020 (=3980-1480-1480)x3700IP addressingClassless InterDomain Routing (CIDR) - subnet portion of address of arbitrary length - address format: a.b.c.d/x, where x is # bits in subnet portion of address Subnets
How does a host get IP address?
NAT: network address translationmotivation: local network uses just one IP address as far as outside world is concerned - range of addresses not needed from ISP - can change addresses of devices in local network without notifying outside world - can change ISP without changing addresses of devices in local network ICMP: Internet Control Message ProtocolICMP is used by hosts and routers to communicate network level information. - error reporting - echo request ICMP message: type, code plus first 8 bytes of IP datagram causing error. ICMP TypeCodeDescription00Response31Dest host not reachable..........IPv6Motivation
Format
TunnelingTunneling: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers Routing ALgorithmRouting algorithm classificationglobal vs decentralized
static or dynamic
Link-State Routing AlgorithmDijkstra’s algorithm
Distance vector\(d_x(y)=\min\{c(x,v)+d_v(y)\}\) link cost changes: - node detects local link cost change - bad news travels slow - “count to infinity” problem! - 44 iterations before algorithm stabilizes Hierarchical Routing
Autonomous systems (AS): aggregate routers into regions - intra-AS routing protocol is routers in same AS run same routing protocol. - routers in different AS can run different intra-AS routing protocol ** Gateway router** has link to router in another AS. Routing in the InternetRIP (Routing Information Protocol)It uses distance vector algorithm - distance metric: # hops (max = 15 hops), each link has cost 1 - DVs exchanged with neighbors every 30 sec in response message (aka advertisement) - each advertisement: list of up to 25 destination subnets (in IP addressing sense) RIP routing tables managed by application-level process called route-d (daemon) - sent in UDP packets, periodically repeated. OSPF (Open Shortest Path First)It uses link state algorithm - LS packet dissemination - topology map at each node - route computation using Dijkstra’s algorithm advertisements flooded to entire AS - carried in OSPF messages directly over IP (rather than TCP or UDP IS-IS routing protocol: nearly identical to OSPF BGP (Border Gateway Protocol)BGP provides each AS a means to: - eBGP: obtain subnet reachability information from neighboring ASs. - iBGP: propagate reachability information to all AS-internal routers. Where in a router is the destination IP address looked up in a forwarding table to determine the appropriate output port to which the datagram should be directed?Where does destination address lookup happen? Where in a router is the destination IP address looked up in a forwarding table to determine the appropriate output port to which the datagram should be directed? Within the routing processor.
What is the role of the forwarding table within a router?These are tables that define how a frame will be forwarded out of a given switch or router in the network. These tables work by matching specific header fields, such as the IP destination address, and when a match occurs, forwarding the frame to a specified egress port.
What are three IP datagram header fields that Cannot be matched in OpenFlow?Three example header fields in an IP datagram that can be matched in OpenFlow 1.0 generalized forwarding are IP source address, TCP source port, and source MAC address. Three fields that cannot be matched are: TTL field, datagram length field, header checksum (which depends on TTL field).
What helps us to get the network layer address for a host?As previously mentioned, ARP is used to translate between Internet layer addresses (IP addresses) and Link layer addresses (MAC addresses). In some cases, something can go wrong with this address resolution and translation causing a variety of connectivity issues such as the inability to reach a specific host.
|