> For the complete documentation index, see [llms.txt](https://2ood.gitbook.io/2ood-knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://2ood.gitbook.io/2ood-knowledge-base/lecture-notes/networks/2023-11-14.md).

# 2023-11-14

## Introduction

> **Summary**

> **keywords**

> **TODO**

> **HW**

> **Exercise**\*

> **Next time**

***

## DHCP

\#test : fill-in-the-blank problem in DCHP client-server scenario

ipconfig /renew command refreshes DCHP transactions that is done in prior.

## Hierarchical nature of IP address

### How it is made

* ISP reserves a address space. /20
* The ISP can allocate address subnets. /23 -> made $2^3$ subnets available under this ISP.

### Benefits

* allows efficient route advertisement of routing information.
  * Only the subnet part is advertised in routing tables.
  * "You don't need to know my whole address. To get to me, just send it to my subnet gateway".
  * The subnet gateway has the forwarding table for the rest of the IP address info.
  * Consequently, the forwarding tables are reduced efficiently.
* if new IP is added in the subnet, that is not inside the current subnet IP range, advertise that additionally.
* At the higher level router, they compute longest address prefix computing.

### ETC

* ICANN : Highest level of system organization above all the ISP.
  * allocates IP addresses through 5 Regional registries (RRs)
  * manages DNS root zone.
* NAT helps IPv4 address space exhausion.

## NAT

> Network address translation

* A network-layer software unit allowing to expand its subnet.

> This network devices share a single global IP address.

* Interior devices is routed by the gateway router, by **port number**.
* all devices in local network have 32-bit address in a private IP address space.
  * 10/8, 172,16/12,192.168/16 prefixes.

### Benefits

* just one IP address for all devices.
* can change address of devices in local network at will.
* can change ISP without changing local device addresses.
* Security : every devices are not directly accessible.

### Implementation

1. Outgoing

* replace every datagram IP by NAT IP

2. Incoming

* replace every datagram IP+port by NAT table.

### Controversy on NAT

* router should only process up to layer 3, but port is a transport layer property.
* should be solved by IPv6 instead.
* violates end-to-end argument modularity.
* **NAT traversal** : What if client wants to connect to server behind NAT?

## IPv6

* out of 40 bytes header, 32 bytes are used for source IP, destination IP.
* Fragmentation header fields are omitted.
* How do they handle big MTU fragmentation? The router sends back a request of a smaller MTU. fragmentation is done in the end user device.
* option fields are omitted. The header size is now fixed.
* flow level number will be used in the future.
* no TTL, no header Length, asdlfkasdmlsadkfamdlck.
