---
# System prepended metadata

title: ACIT 2620 IP notes
tags: ['2620']

---

---
type: slide
slideOptions:
  display: block
---

# ACIT 2620

## Week 5

---

<!-- .slide: data-transition="zoom convex-out"-->
# Internet Protocol Version 4

---

<!-- .slide: data-transition="zoom convex-out"-->
## TCP/IP Suite

- Internet Protocol (IP)
- Routing Protocols (Used in routing table generation)
- Dynamic Host Configuration Protocol (DHCP)
- Transport Control Protocol (TCP)
- User Datagram Protocol (UDP)
- Internet Control Message Protocol (ICMP)
- Address Resolution Protocol (ARP)


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Recap: Data-link layer

- Generally Ethernet
- Handles the movement of data between nodes on the same link
- Present on every network device
- Data Link Specific Devices: bridge, hub, switch


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Network Layer

- __Goal__: move packets for source to destination
    - __Path Determination__:
    the calculation of the route taken by packets -> routing
    - __Forwarding__:
    The movement of a packet from one network to the next appropriate network

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Network Layer functions

![image](https://hackmd.io/_uploads/HkF04g1jp.png)

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Internet Protocol (IP)

- Provides information about how and where data should be delivered
- Responsible for __internetworking__ (from where the term internet is derived)

----

- To internetwork is to traverse more than one LAN segment and more than one type of network through a router
- In an internetwork, the individual networks that are joined together are called subnetworks

----

- IP is an unreliable, connectionless protocol, which means it does not guarantee delivery of data
- i.e IP will service a request without requesting verified session and without guaranteeing delivery of data, making it simpler and faster

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## IP Addressing

- __IP address__: 32-bit identifier for host, router interface 
- __interface__: connection between host, router and physical link
    - routers typically have multiple interfaces
    - host may have multiple interfaces
    - IP addresses associated with interface, not host, router

----

![image](https://hackmd.io/_uploads/ByOwPuyjp.png)

----

### Components of an IP address

- network part (high order bits)
- host part (low order bits) 

----

### IP Network

- device interfaces with same network part of IP address
- can physically reach each other without intervening router

----

![image](https://hackmd.io/_uploads/BJqd__1sp.png)


----

- How many networks do you see?

![image](https://hackmd.io/_uploads/ByGJK_ysp.png)

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## IP Address Space

![image](https://hackmd.io/_uploads/B1VY8OJs6.png)


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## IP range notations

- __CIDR__: Classless Inter Domain Routing
    - network portion of address of arbitrary length
    - address format: __`a.b.c.d/x`__, where `x` is # of bits in network portion of address
    - Also written as address + subnet mask

![image](https://hackmd.io/_uploads/BkCXSd1ia.png)


----

- CIDR using Subnet Mask
    - Usually written in dotted decimal notation reminiscent of an IP address

![image](https://hackmd.io/_uploads/BJAXI_Ji6.png)

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Special Addresses

- Private IP Addresses
    - 10.0.0.0 -> 10.255.255.255
    - 172.16.0.0 -> 172.31.255.255
    - 192.168.0.0 -> 192.168.255.255

----

- Documentation IP Addresses
    - 192.0.2.0 -> 192.0.2.255
- Self-Configured IP Addresses (often DHCP Failure)
    - 169.254.0.0 -> 169.254.255.255

----

- Unknown Address
    - 0.0.0.0
- Loopback Address
    - 127.0.0.1 (actually, 127.0.0.0/8)
- Network Address (All host bits set to 1)
    - E.g: 192.168.1.0, Subnet Mask = 255.255.255.0 

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Broadcasting and Multicasting

- Limited Broadcast
    - 255.255.255.255
    - Transmitted only on local segment -> not routed
- Network Broadcast Address
    - Network Address + All host bits set to one
        - Network Address = 192.168.1.x
        - Network Broadcast Address = 192.168.1.255

----

- Multicast Address
    - Lie within the 224.0.0.0 /4 network
    - http://www.iana.org/assignments/multicast-addresses


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## IPv4 Header

![image](https://hackmd.io/_uploads/ryButeyi6.png)


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## IPv4 routing: the basics

![image](https://hackmd.io/_uploads/HkkOceJi6.png)

----

![image](https://hackmd.io/_uploads/HJRcqxkjT.png)


----

![image](https://hackmd.io/_uploads/r1FTqg1o6.png)


----

![image](https://hackmd.io/_uploads/SJZesxJoT.png)


---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Next: IPv4 subnetting

---

<!-- .slide: data-transition="zoom convex-out" style="text-align: left"-->
## Reading List

- [IPv4 Subnets](http://intronetworks.cs.luc.edu/current2/html/ipv4.html#ipv4-subnets)

