In Chapter 4, we learned about the Network Layer (the Data
Plane). The topics covered: What’s inside a router, IPv4 datagram format and address,
IP Address and DHCP, IPv6, NAT, and software-defined Networking.
A router is made of a routing processor, high-speed
switching fabric, and I/O ports. The routing processor controls routing and
manages the control plane/software which operates in milliseconds. The rest is
part of the forwarding data plane/hardware which operates in nanoseconds.
The IPv4 datagram is 32 bits which includes the version,
length of header, type of data, total length, flags and fragments for fragmentation,
the time to live, upper layer, and checksum for error detection. The next parts
included are the 32 bit source IP and 32 bit destination IP. After, there are
options and then the data/TCP or UDP segment. The overhead of an IPv4 datagram
is 20 bytes for TCP and 20 bytes of IP for a total of 40 bytes of app layer
overhead.
The IP address is hardcoded by the system admin or from DHCP
(Dynamic Host Configuration Protocol) where an address is gotten from the
server. The DHCP allows the host to get an IP from the network server
dynamically when it joins the network. It includes an address lease that can be
renewed, addresses that can be reused, reserved, and mobile support. It
includes 4 steps: Discover, Offer, Request, and ACK.
The NAT(Network address translation) is used because a local
network just uses one IP for all devices. All of the datagrams that leave the
local network have the same NAT IP address but different source and port
numbers. It also allows the devices to change their addresses without notifying
the rest of the world, change ISP without changing the addresses of the devices
in the local network, and doesn’t allow the devices in the local network to be
addressable to the outside world. The NAT replaces the source IP and port of
every outgoing datagram to their own IP with port who servers will reply to.
The incoming datagrams replace with NAT IP and port with the correct local
source IP and port which are found in the NAT translation table.
IPv6 was created because 32-bit addresses are almost
completely used up. It also allows for faster processing/forwarding and helps
facilitate QoS/Quality of Service. It also allows for encryption and
authentication with end to end integrity. It has a fixed length 40 byte header
with no fragmentation. Its header includes the priority, flow label, and next
header, payload length, hop limit. More importantly, it includes the source
address 128 bits and destination address 128 bits with the data at the end. The
IPv6 address notation includes 128 bits made of 8 16 bit segments or hextets
between 0000 and FFFF separated by colons. Compared to IPv4, there is no checksum,
the options field is allowed but not inside the header, and there are no fragmentation
fields. The IPv6 datagram uses tunneling to be carried inside a IPv4 datagram
as a payload for use with the IPv4 routers.
Routers make a flow table and distribute it by a logically
centralized routing controller. In the control plane, the logically centralized
routing controller is present. In the data plane, it includes the local flow
table with its headers, counters, and actions. The flow is defined in the
header fields. In generalized forwarding, the simple packet handling rules
include: pattern, actions, priority, and counters.
No comments:
Post a Comment