* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download ppt - Computer Science & Engineering
Survey
Document related concepts
IEEE 802.1aq wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Wireless security wikipedia , lookup
Distributed firewall wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Computer network wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Airborne Networking wikipedia , lookup
Network tap wikipedia , lookup
Internet protocol suite wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Transcript
Chapter 4 Network Layer A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you see the animations; and can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following: If you use these slides (e.g., in a class) that you mention their source (after all, we’d like people to use our book!) If you post any slides on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Thanks and enjoy! JFK/KWR All material copyright 1996-2013 J.F Kurose and K.W. Ross, All Rights Reserved Network Layer 4-1 University of Nevada – Reno Computer Science & Engineering Department Fall 2015 CPE 400 / 600 Computer Communication Networks Lecture 11 (Contd.) Prof. Shamik Sengupta Office SEM 204 [email protected] http://www.cse.unr.edu/~shamik/ Network Layer Network Layer 4-3 The Internet network layer host, router network layer functions: transport layer: TCP, UDP IP protocol routing protocols network layer • addressing conventions • datagram format • packet handling conventions • path selection • RIP, OSPF, BGP forwarding table ICMP protocol • error reporting • router “signaling” link layer physical layer Network Layer 4-4 IP datagram format IP protocol version number header length (bytes) max number remaining hops (decremented at each router) upper layer protocol to deliver payload to how much overhead? 20+ bytes of TCP 8 bytes for UDP 20 bytes of IP = 40 bytes + app layer overhead 32 bits total datagram length (bytes) ver head. type of len service length 16-bit identifier upper time to layer live fragment flgs offset header checksum for fragmentation/ reassembly 32 bit source IP address 32 bit destination IP address options (if any) data (variable length, typically a TCP or UDP segment) e.g. timestamp, record route taken, specify list of routers to visit. Network Layer 4-5 IP fragmentation, reassembly fragmentation: in: one large datagram out: 3 smaller datagrams … reassembly … network links have MTU (max. transfer size) largest possible link-level frame different link types, different MTUs large IP datagram divided (“fragmented”) within net one datagram becomes several datagrams “reassembled” only at final destination IP header bits used to identify, order related fragments Network Layer 4-6 IP fragmentation, reassembly example: 4000 byte datagram MTU = 1500 bytes 1480 bytes in data field offset = 1480/8 length ID fragflag =4000 =x =0 offset =0 one large datagram becomes several smaller datagrams length ID fragflag =1500 =x =1 offset =0 length ID fragflag =1500 =x =1 offset =185 length ID fragflag =1040 =x =0 offset =370 Why divide by 8? Network Layer 4-7 IP addressing: introduction IP address: 32-bit 223.1.1.1 identifier for host, router interface 223.1.1.2 interface: connection between host/router and physical link 223.1.2.1 223.1.1.4 223.1.3.27 223.1.1.3 223.1.2.2 router’s typically have multiple interfaces host typically has one or two interfaces (e.g., wired Ethernet, wireless 802.11) IP addresses associated with each interface 223.1.2.9 223.1.3.1 223.1.3.2 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1 Network Layer 4-8 Subnets IP address: subnet part • high order bits host part • low order bits what ’s a subnet ? device interfaces with same subnet part of IP address can physically reach each other without intervening router 223.1.1.1 223.1.1.2 223.1.1.4 223.1.2.1 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 subnet 223.1.3.1 223.1.3.2 network consisting of 3 subnets Network Layer 4-9 Subnets 223.1.1.0/24 223.1.2.0/24 recipe to determine the subnets, detach each interface from its host or router, creating islands of isolated networks 223.1.1.1 223.1.1.2 223.1.1.4 each isolated network is called a subnet 223.1.2.9 223.1.2.2 223.1.1.3 223.1.3.27 subnet 223.1.3.1 223.1.2.1 223.1.3.2 223.1.3.0/24 subnet mask: /24 Network Layer 4-10 Subnets 223.1.1.2 how many? 223.1.1.1 223.1.1.4 223.1.1.3 223.1.9.2 223.1.7.0 223.1.9.1 223.1.7.1 223.1.8.1 223.1.8.0 223.1.2.6 223.1.2.1 223.1.3.27 223.1.2.2 223.1.3.1 223.1.3.2 Network Layer 4-11 University of Nevada – Reno Computer Science & Engineering Department Fall 2015 CPE 400 / 600 Computer Communication Networks Lecture 12 Prof. Shamik Sengupta Office SEM 204 [email protected] http://www.cse.unr.edu/~shamik/ Announcements Assignment 2 uploaded, Due by Wednesday, Oct 13th Quiz 2 on Wednesday, Oct 7th Introduction 1-13 IP Address classes Address Class Range of IP addresses Class A 1.0.0.0 127.255.255.255 Class B 128.0.0.0 191.255.255.255 Class C 192.0.0.0 223.255.255.255 Class D 224.0.0.0 239.255.255.255 Some special IP addresses 0.0.0.0 – lowest IP address Not used for a host connected to the Internet Used for hosts when they start (boot) 255.255.255.255 – highest IP address Not used for a host Used for broadcasting “Classful” IP addressing problem Suppose you have a company with 200 hosts. Which IP address class would you choose and why? Suppose you have a company with 300 hosts. Which IP address class would you choose and why? IP addressing: CIDR CIDR: Classless InterDomain Routing subnet portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in subnet portion of address subnet part host part 11001000 00010111 00010000 00000000 200.23.16.0/23 Network Layer 4-17 IP addresses: how to get one? Q: How does a host get IP address? hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol: dynamically get address from a server “plug-and-play” Network Layer 4-18 DHCP: Dynamic Host Configuration Protocol goal: allow host to dynamically obtain its IP address from network server when it joins network can renew its lease on address in use allows reuse of addresses • only hold address while connected support for mobile users who want to join network DHCP overview: host broadcasts “DHCP discover” msg DHCP server responds with “DHCP offer” msg host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg Network Layer 4-19 DHCP client-server scenario DHCP server 223.1.1.0/24 223.1.2.1 223.1.1.1 223.1.1.2 223.1.1.4 223.1.1.3 223.1.2.9 223.1.3.27 223.1.2.2 arriving DHCP client needs address in this network 223.1.2.0/24 223.1.3.2 223.1.3.1 223.1.3.0/24 Network Layer 4-20 DHCP client-server scenario DHCP server: 223.1.2.5 DHCP discover src : 0.0.0.0, 68 dest.: 255.255.255.255, 67 yiaddr: 0.0.0.0 transaction ID: 654 arriving client DHCP offer src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 654 lifetime: 3600 secs DHCP request src: 0.0.0.0, 68 dest:: 255.255.255.255, 67 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs DHCP ACK src: 223.1.2.5, 67 dest: 255.255.255.255, 68 yiaddrr: 223.1.2.4 transaction ID: 655 lifetime: 3600 secs Network Layer 4-21 DHCP: more than IP addresses DHCP can return more than just allocated IP address on subnet: address of first-hop router for client name and IP address of DNS sever network mask indicating network versus host portion of address Network Layer 4-22 DHCP: example its IP address, addr of first-hop router, addr of DNS server DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy connecting laptop needs 168.1.1.1 router with DHCP server built into router use DHCP DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.3 Ethernet Ethernet frame broadcast on LAN, received at router running DHCP server Ethernet to IP to UDP to DHCP 4-23 DHCP: example DHCP UDP IP Eth Phy DHCP DHCP DHCP DHCP client’s IP address, IP address of first-hop router for client, name & IP address of DNS server DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Phy DCP server formulates DHCP ACK containing router with DHCP server built into router encapsulation of DHCP server, frame forwarded to client, up to DHCP at client client now knows its IP address, name and IP address of DNS server, IP address of its firsthop router Network Layer 4-24 DHCP not enough! NAT Network Layer 4-25 NAT: network address translation rest of Internet local network (e.g., home network) 10.0.0/24 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 all datagrams leaving local network have same single source NAT IP address: 138.76.29.7,different source port numbers datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual) Network Layer 4-26 NAT: network address translation motivation: local network uses just one IP address as far as outside world is concerned: range of addresses not needed from ISP: just one IP address for all devices can change addresses of devices in local network without notifying outside world can change ISP without changing addresses of devices in local network devices inside local net not explicitly addressable, visible by outside world a security plus Network Layer 4-27 NAT: network address translation implementation: NAT router must: outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) . . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table Network Layer 4-28 NAT: network address translation 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table NAT translation table WAN side addr LAN side addr 1: host 10.0.0.1 sends datagram to 128.119.40.186, 80 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 10.0.0.1, 3345 D: 128.119.40.186, 80 10.0.0.1 1 2 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3: reply arrives dest. address: 138.76.29.7, 5001 3 10.0.0.4 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 10.0.0.2 4 10.0.0.3 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345 Network Layer 4-29 NAT: network address translation NAT is controversial: routers should only process up to layer 3 violates end-to-end argument address shortage should instead be solved by IPv6 Network Layer 4-30 NAT traversal problem client wants to connect to server with address 10.0.0.1 10.0.0.1 server address 10.0.0.1 local to LAN • client can’t use it as destination addr only one externally visible NATed address: 138.76.29.7 client ? 138.76.29.7 10.0.0.4 NAT router solution: Port forwarding: statically configure NAT to forward incoming connection requests at given port to server e.g., (123.76.29.7, port 2500) always forwarded to 10.0.0.1 port 25000 Network Layer 4-31 NAT traversal problem Solution 2: relaying (used in Skype) NATed client establishes connection to relay external client connects to relay relay bridges packets between two connections 2. connection to relay initiated by client client 3. relaying established 1. connection to relay initiated by NATed host 138.76.29.7 10.0.0.1 NAT router Network Layer 4-32 Sample Project Topics CPE 400 CPE 600 Simulation WiFi Medium access control ARP and ARP spoofing Statistical multiplexing in flow control of routers in a network Optimized Link State Routing (OLSR) Protocol Better Approach To Mobile Adhoc Networking (B.A.T.M.A.N.) Routing in VANET/FANET Multicasting and group management Research Survey Topics D2D Communication for future 5G networks Platoon-Based Vehicular CyberPhysical Systems • Architecture and Challenges Internet-of-Things (IoT) • Self-organization • Security and privacy issues Software Defined Networks Interference mitigation in Femtocells Crowdsourcing in Heterogeneous Networked Environments Introduction 2-33 Some more sample project topics CPE 400 Simulation Transmission power/sleep control in sensor networks for extended lifetime Data aggregation at routers/sensors for bandwidth conservation Performance of existing routing protocols under error prone networks Experimenting with positioning technologies for mobile networks Any kind of system development based on networking Introduction 2-34 CPE 400 Requirements Basic requirement The program is running, compiling and giving output The program is able to simulate the protocol/application scenario well as explained in the documentation You are able to capture the basic functionalities of the protocol/application There are results (performance results) Some explanations of the results Advanced requirement You are able to handle ALL the format / functionalities of the protocol/ application You are able to handle the error use case scenarios You are able to tweak the existing platform/mechanism to come up with something else that are focused on something extra Able to compare with another similar protocol Able to get some results on your proposed idea And explanations… Introduction 2-35