--- 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)