1/87
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
NET: Network layer availability
NET: In every host and router
NET: 2 key network-layer functions
NET: forwarding and routing
NET: Forwarding
NET: move packets from router's input to appropriate router's output
NET: Routing
NET: determine route take by packets from source to destination
NET: Why use address ranges?
NET: 4 billion IP addresses
NET: longest prefix matching
NET: when looking for forwarding table entry for given destination address, use longest address prefix that matching destination address
NET: 2 key router functions
NET: run routing protocols, forward datagrams
NET: routing architecture
NET: routing processor (compute forwarding tables, routing, management control plane, done in software), high-speed switching fabric (forwarding data plane, done in hardware)
NET: Input ports
NET: line termination (physical layer); link layer protocol to receive; lookup, forwarding, queueing
NET: decentralized switching
NET: given datagram destination, lookup output port using forwarding table in input port memory. Complete input port processing at line speed. Queuing if datagrams arrive faster than forward rate into switch fabric
NET: switching fabric
NET: transfer packet from input buffer to output buffer
NET: switching rate
NET: rate at which packets are transfered from input to output, desirable at N * line rate, with N inputs
NET: switching fabric types
NET: memory, bus, crossbar
NET: switching via memory
NET: switching under control of CPU, packet copied to main memory, speed limited by memory bandwidth
NET: switching via bus
NET: datagram moves via a shared bus, bus contention (speed limited by bus bandwidth)
NET: switching via crossbar
NET: overcome bus bandwidth, connect processors to multiprocessors, parallel transmissions
NET: output ports
NET: datagram buffer and queue, link layer protocol to send, line termination
NET: output port buffering
NET: required when datagrams arrive from fabric faster than transmission rate. queuing and loss due to buffer overflow.
NET: scheduling discipline
NET: choose among queued datagrams for transmission
NET: input port queue
NET: fabric slower than input ports combined, loss due to input buffer overflow
NET: head-of-the-line (HOL) blocking
NET: queued datagram at front of queue prevents others in queue from moving forward
NET: Network Layer breakdown
NET: Routing protocols (path selection, RIP, OSPF, BGP) that feeds into forwarding table; IP protocol (address conventions, datagram format, packet handling conventions); ICMP protocol (error reporting, router signaling)
NET: 13 Header Segments in IP datagram
NET: version, header length, type of service, length, 16-bit id, flags, fragment offset, time to live, upper layer, header checksum, source ip address, destination ip address, options
NET: How much overhead in ip datagram?
NET: 20 bytes of TCP + 20 bytes IP = 40 bytes + app overhead
NET: MTU
NET: network links have maximum transfer size - largest link-level frame, different links have different MTU
NET: ip fragmentation
NET: large ip datagram divided and reassembled at final destination. ip header bits (16-bit id, flag, fragment offset) used to identify and order related fragments
NET: ip address
NET: 32-bit identifier for host, router interface
NET: interface
NET: connection between host/router and physical link
NET: subnet
NET: device interfaces with same subnet part of ip address, can physically reach other without intervening router
NET: high order bits
NET: subnet part in ip address
NET: low order bits
NET: host part in ip address
NET: how to create a subnet
NET: detach each interface from its host or router, creating isolated networks
NET: ip address format
NET: a.b.c.d/x, x is number of bits in subnet
NET: how host get ip address
NET: DHCP or hardcoded by system admin in a file
NET: DHCP
NET: dynamic host configuration protocol
NET: DHCP goals
NET: dynamically get address from server, renew its lease on address in use, allows reuse of addresses, support for mobile users
NET: DHCP message
NET: DHCP discover, DHCP offer, DHCP request, DHCP ack
NET: what DHCP returns
NET: network mask, DNS name and ip address, first-hop router address
NET: DHCP encapsulation
NET: UDP
NET: how network get subnet part of ip address
NET: gets an allocation of ISP addresses; hierarchical address allows efficient advertisement of route information
NET: how isp get block of address
NET: ICANN
NET: ICANN
NET: internet corporation for assigned names and numbers
NET: ICANN services
NET: allocates addresses, resolve disputes, manages DNS, assigns domain names
NET: NAT purpose
NET: all datagrams leaving local network have same ip address
NET: NAT implementation
NET: 1) replace source ip and port with NAT ip and port in outgoing datagrams
2) remember translations in NAT table
3) replace NAT ip and port with destination ip and port in incoming datagrams
NET: NAT address count
NET: 16-bit port number -> 60,000 connections
NET: NAT controversy
NET: routers should process up to layer 3, violates end-to-end argument, address shortage should be solved by IPv6
NET: NAT traversal solutions
NET: 1) statically configure NAT to forward requests at given port
2) UPnP allows NAT to learn public IP address and add/remove port mappings
3) establish relay to bridge connections
NET: ICMP
NET: internet control message protocol
NET: ICMP definition
NET: used by hosts/routers to communicate errors (unreachable host, network, port, protocol), echo request/reply, carried in IP datagrams
NET: ICMP message
NET: type, code, first 8 bytes of ip datagram causing error
NET: Traceroute and ICMP
NET: sources sends udp segments, routers discard datagrams and send ICMP messages, source records RTTs
NET: traceroute stopping criteria
NET: segments reaches destination, port unreachable error, source stops
NET: IPv6 motivation
NET: 32-bit address space soon to be allocated, header speed processing, header facilitate QoS
NET: IPv6 changes
NET: fixed 40-byte header
no fragmentation
prioritizing
no checksum
flow labeling
NET: ICMPv6
NET: additional message types like "Packet too Big"
multicast functions
NET: tunneling
NET: IPv6 datagram carried as payload in IPv4 datagram among IPv4 routers
NET: Global routing
NET: all routers have complete graph topology and link costs (link state)
NET: decentralized routing
NET: router knows neighbors link costs, iterative process of computation, exchange of information with neighbors (distance vector)
NET: static routing
NET: routes change slowly over time
NET: dynamic routing
NET: routes change quickly, periodic updates in response to link cost changes
NET: link-state routing
NET: Dijkstra's algorithm, link costs known to all nodes, O(n^2), O(nlogn) with efficient implementations
NET: distance-vector routing
NET: Bellman-Ford algorithm
NET: Poison reverse
NET: If Z routes through Y to get to X, Y won't route through X to get to Z if Z tells Y its distance to X is infinite
NET: hierarchical routing purpose
NET: 600 million destination routers, can't store all destinations in routing tables, routing table exchanges will swamp links
NET: administrative autonomy
NET: each network admin may want to control routing in its own network
NET: autonomous systems
NET: (AS) aggregate routers into regions, routers in same AS run same routing protocol, forwarding table configured by intra-AS and inter-AS, intra-AS determines internal paths, intra-AS and inter-AS determines external paths
NET: gateway router
NET: at edge of AS, has link to router in another AS
NET: interior gateway protocols
NET: IGP, aka intra-AS routing protocol
NET: 3 intra-AS protocols
NET: RIP, OSPF, IGRP
NET: RIP
NET: routing information protocol
distance vector
15 max hops
16 hops = infinity
1 link cost
DV's advertised every 30 sec
advertisement list 25 destination subnets
NET: RIP trigger
NET: if no advertisement heard after 180 seconds, declare link dead and invalidate those routes, send new advertisements to neighbors, poison reverse prevents ping-pong loops
NET: RIP table management
NET: managed by application-layer route-d process (daemon), sent in UDP packets
NET: OSPF
NET: Open Shortest Path First
publicly available
link state
carried over IP
NET: IS-IS routing protocol
NET: identical to OSPF
NET: OSPF advanced features
NET: security - messages authenticated
multicast support
multiple cost metrics for different ToS
multiple same-cost paths
hierarchical in large domains
NET: hierarchical OSPF
NET: 2 levels (backbone and local area)
advertisements only in area
area border routers (summarize internal area, sends to other areas)
backbone router (run OSPF in backbone)
boundary router (connect to other AS)
NET: BGP
NET: border gateway protocol
most important routing protocol
uses semi-permanent TCP
only inter-AS protocol
NET: eBGP
NET: obtain subnet reachability information from neighbors
NET: iBGP
NET: propagates reachability information to its AS
NET: BGP attributes
NET: AS-PATH (ASs through which prefix advertisement has passed)
NEXT-HOP (specific internal-AS router to next-hop AS)
NET: policy-based routing
NET: gateway router receiving route advertisement uses import policy to accept/decline
NET: BGP route selection
NET: 1) local preference/policy decision
2) shortest AS-PATH
3) closest NEXT-HOP (hot potato)
4) additional criteria
NET: BGP messages
NET: OPEN (open tcp connection)
UPDATE (advertise new path)
KEEPALIVE (keep connection alive)
NOTIFICATION (report errors/close connections)
NET: broadcasting
NET: deliver packets from source to multiple destinations
NET: flooding
NET: when node receives broadcast packet and sends copy to all its neighbors
NET: controlled flooding
NET: node only broadcast packet if it hasn't broadcast the same packet before
NET: reverse path forwarding
NET: only forward packet if it arrived on shortest path between node and source