Content

  1. Dynamic Host Configuration Protocol (DHCP)
  2. Network Address Translation (NAT)
  3. Internet Control Message Protocol (ICMP)
  4. IPv6
    1. Header
    2. Backward Compatibility
      1. Dual Stack
      2. Tunneling/Encapsulation

Dynamic Host Configuration Protocol (DHCP)

Dynamically obtain IP address from network server upon joining the network.

  1. Discover: broadcast UDP DHCP discover packet
    • If no nearby server, need a DHCP relay agent to forward the request to known server
  2. Offer: respond with UDP DHCP offer packet
    • Answers registered MAC addresses OR assign IPs from a pool
    • yiaddr: the assigned IP
  3. Request: broadcast UDP DHCP request packet
    • Requested IP = returned yiaddr
  4. Ack: respond with UDP DHCP ack packet
    • Ack the leasing of the IP
    • Host get:
      • IP
      • Leasing duration T
        • T1 = 0.5T, attempts renew of lease (request)
        • T2 = 0.875T, no reply, broadcast request to any server
        • No reply by T, relinquish IP & start over
      • Router's IP
      • Subnet mask
      • DNS info
      • Hostname, domain, ...

Network Address Translation (NAT)

One IP to the outside world of a local network -> fix not enough IPv4 addresses.

  • Additional advantages
    • Change IP of devices in local network without notifying outside world
    • Change ISP without notifying devices in local network
    • Security, local devices not exposed to outside world
  • Implementation
    • Outgoing packets
      • Replace (source IP, source port) with (NAT IP, new port) -> WAN side address
      • Recalculate checksum
      • Records mapping in NAT
    • Incoming packets
      • Replace (NAT IP, new port) with source IP, source port -> LAN side address
  • Problems
    • Port numbers are meant for addressing processes, not hosts
    • Routers are supposed to process packets up to layer 3
    • Violates end-to-end argument: hosts should talk directly to each other without interfering devices modifying IP & ports
    • P2P applications should be explicitly aware of the existance of NAT
    • Some applications pass IP & port in commands; changing TCP/IP headers is not enough
    • IPv6 should be the solution
  • NAT traversal problems
    • Client wants to connect to server behind NAT
      • Statically configure NAT to forward incoming requests at given port to server
  • Private IP addresses
    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16

Internet Control Message Protocol (ICMP)

Encapsulated in IP datagram.

  • Error reporting
    • Unreachable host/network/port/protocol
    • Message contains IP header & first 8 bytes of error datagram
  • Echo request/reply (ping)
  • Report TTL=0 (tracert)

IPv6

  • 128 bit
    • 8 groups of 16-bit, HEX, colons between
    • IPv4 to IPv6: ::FFFF:x.x.x.x/128
  • Fixed-sized header; improved option mechanism
    • Simplified header, routers can process packets faster
  • Mechanism of autoconfiguration of network interfaces
  • Supports resource allocation; enhance QoS support
  • Fragmentation at source node
    • Avoid fragmentation at internal nodes to speed up performance
  • Built-in authentication & encryption
  • No checksum
    • Transport & link layers already done so
    • Avoid recomputation of checksums due to TTL changes
  • Hierarchical addressing rather than address classes (i.e. CIDR-like)
  • Types
    • Unicast: uniquely identifies an interface of a device
    • Multicast: an address reaching a group of interfaces
    • Anycast: assigned to a group of interfaces of a common address
      • Packets sent to the nearest one
      • Created automatically when a unicast address is assigned to > 1 interfaces

  • Traffic class & flow label: support QoS; priority
  • Payload length: how many bytes follow this header
  • Hop limit: TTL
  • Next header
    • Points to the extension/option headers OR transport protocol data follow this one
    • Extension headers are daisy chained & ordered
    • Most of the cases, fixed-sized headers can streamline packet processing in routers
    • Extension headers needed to be examined by intermediate routers will be listed first; no need to scan through all extension headers

Backward Compatibility

Dual Stack
  • Nodes have both IPv6 & IPv4 stacks & addresses
  • Translates between formats
  • Additional memory & CPU power needed
Tunneling/Encapsulation

Among IPv4 routers, IPv6 packets carried as payload in IPv4 datagram.

  • Tunnel endpoints: source host, intermediate routers, or destination host
  • Need dual stack routers at tunnel endpoints
  • Additional load on routers

results matching ""

    No results matching ""