* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Module 4 Part a - Pohang University of Science and Technology
Net neutrality law wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Distributed firewall wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Network tap wikipedia , lookup
Computer network wikipedia , lookup
Deep packet inspection wikipedia , lookup
Airborne Networking wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Internet protocol suite wikipedia , lookup
Packet switching wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Network Layer Goals: Content: Understand Internet IP addressing network layer concepts Understand Internet routing Understand Internet network layer protocols Getting packet from source to destination Internet Protocol (IP) ICMP Intra- & Inter-AS routing Multicast routing Network Layer 1 The Internet Network layer Host, router network layer functions: Transport layer: TCP, UDP Network layer IP protocol •addressing conventions •datagram format •packet handling conventions Routing protocols •path selection •RIP, OSPF, BGP routing table ICMP protocol •error reporting •router “signaling” Link layer Physical layer Network Layer 2 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 or router 223.1.1.1 223.1.2.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 223.1.3.2 223.1.3.1 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 Network Layer 1 3 IP Addressing IP address: network part (high order bits) host part (low order bits) What’s a network ? (from IP address perspective) device interfaces with same network part of IP address can physically reach each other without intervening router 223.1.1.1 223.1.2.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 LAN 223.1.3.1 223.1.3.2 network consisting of 3 IP networks (for IP addresses starting with 223, first 24 bits are network address) Network Layer 4 IP Addresses class A 0 network B 10 C 110 D 1110 1.0.0.0 to 127.255.255.255 host network 128.0.0.0 to 191.255.255.255 host network multicast address host 192.0.0.0 to 239.255.255.255 240.0.0.0 to 247.255.255.255 32 bits What is POSTECH’s network address? What is your research lab’s subnet address? Network Layer 5 Getting a packet from source to dest. routing table in A Dest. Net. next router Nhops 223.1.1 223.1.2 223.1.3 IP packet: header source dest fields IP addr IP addr data A packet remains unchanged, as it travels source to destination addr fields are of interest here 223.1.1.4 223.1.1.4 1 2 2 223.1.1.1 223.1.2.1 B 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.9 223.1.3.27 223.1.2.2 E 223.1.3.2 Network Layer 6 Getting a packet from source to dest. header data fields 223.1.1.1 223.1.1.3 Dest. Net. next router Nhops 223.1.1 223.1.2 223.1.3 Starting at A, given IP packet addressed to B: look up net. address of B find B is on same net. as A using subnet mask link layer will send packet directly to B inside link-layer frame B and A are directly connected A 223.1.1.4 223.1.1.4 1 2 2 223.1.1.1 223.1.2.1 B 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.9 223.1.3.27 223.1.2.2 E 223.1.3.2 Network Layer 7 Getting a packet from source to dest. header data fields 223.1.1.1 223.1.2.2 Dest. Net. next router Nhops 223.1.1 223.1.2 223.1.3 Starting at A, dest. E: look up network address of E E on different network A, E not directly attached routing table: next hop router to E is 223.1.1.4 link layer sends packet to router 223.1.1.4 inside linklayer frame packet arrives at 223.1.1.4 continued….. A 223.1.1.4 223.1.1.4 1 2 2 223.1.1.1 223.1.2.1 B 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.9 223.1.3.27 223.1.2.2 E 223.1.3.2 Network Layer 8 Getting a packet from source to dest. header data fields 223.1.1.1 223.1.2.2 Arriving at 223.1.1.4, destined for 223.1.2.2 look up network address of E E on same network as router’s interface 223.1.2.9 router, E directly attached link layer sends packet to 223.1.2.2 inside link-layer frame via interface 223.1.2.9 packet arrives at 223.1.2.2!!! Dest. next network router Nhops interface 223.1.1 223.1.2 223.1.3 A - 1 1 1 223.1.1.4 223.1.2.9 223.1.3.27 223.1.1.1 223.1.2.1 B 223.1.1.2 223.1.1.4 223.1.1.3 223.1.3.1 223.1.2.9 223.1.3.27 223.1.2.2 E 223.1.3.2 Network Layer 9 IP packet format IP protocol version number header length (bytes) “type” of data max number remaining hops (decremented at each router) upper layer protocol to deliver payload to 32 bits type of ver head. len service length fragment 16-bit identifier flgs offset time to upper Internet layer live checksum total datagram length (bytes) 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 10 IP Fragmentation and Reassembly network links have MTU (max. transfer unit) largest possible link-level frame. different link types, different MTUs large IP packet divided (“fragmented”) within net one packet becomes several packet “reassembled” only at final destination IP header bits used to identify, order related fragments fragmentation: in: one large packet out: 3 smaller packets reassembly Network Layer 11 IP Fragmentation and Reassembly length ID fragflag offset =4000 =x =0 =0 One large packet becomes several smaller packets length ID fragflag offset =1500 =x =1 =0 length ID fragflag offset =1500 =x =1 =1500 length ID fragflag offset =1000 =x =0 =3000 Network Layer 12 ICMP: Internet Control Message Protocol Internet Control Message Protocol (ICMP), RFC792 The purpose of ICMP messages is to provide feedback about problems in the IP network environment Delivered in IP packets ICMP message format 4 bytes of ICMP header and optional message Network Layer 13 ICMP Functions To announce network errors If a network, host, port is unreachable, ICMP Destination Unreachable Message is sent to the source host To announce network congestion When a router runs out of buffer queue space, ICMP Source Quench Message is sent to the source host To assist troubleshooting ICMP Echo Message is sent to a host to test if it is alive used by ping To announce timeouts If a packet’s TTL field drops to zero, ICMP Time Exceeded Message is sent to the source host - used by traceroute Network Layer 14 ICMP Problems ICMP has also received bad press from denial of service (DoS) attacks and because of the number of sites generating monitoring traffic ICMP messages may be blocked (i.e., dropped) by firewall or processed at low priority by router As a consequence some ISPs disable ICMP even though this potentially causes poor performance and does not comply with RFC1009 (Internet Gateway Requirements) In spite of these limitations, ICMP is still most widely used in active network measurements Network Layer 15 ICMP Messages Type 0 3 3 3 3 3 3 4 8 9 10 11 12 Code 0 0 1 2 3 6 7 0 0 0 0 0 0 description echo reply (ping) dest. network unreachable dest host unreachable dest protocol unreachable dest port unreachable dest network unknown dest host unknown source quench (congestion control - not used) echo request (ping) route advertisement router discovery TTL expired bad IP header Network Layer 16 Routing in the Internet The Global Internet: A hierarchy of Autonomous Systems (ASs) (enterprise ASs interconnected through ISP’s ASs) Two level routing: Intra-AS: each enterprise is responsible for its intranet routing policy Inter-AS: uses the standard routing protocol (e.g., BGP) Network Layer 17 Intra-AS Routing Also known as Interior Gateway Protocol (IGP) Most common IGPs: RIP: Routing Information Protocol (IETF) OSPF: Open Shortest Path First (IETF) IGRP: Interior Gateway Routing Protocol (Cisco) Network Layer 18 RIP (Routing Information Protocol) Distance vector type scheme Included in BSD-UNIX Distribution in 1982 Distance metric: # of hops (maximum 15 hops) Distance vector: exchanged every 30 sec via a Response Message (also called Advertisement) Each Advertisement contains up to 25 destination nets IETF RFC 1058 - http://www.ietf.org/rfc/rfc1058.txt Network Layer 19 RIP Example D’s Table before A’s Advertisement Dest. Net. next router Nhops Routers labeled A, B, C, D, … Networks labeled 1, 10, 20, 30, ... 1 20 30 10 ... A B B -... 2 2 7 1 ... A’s Advertisement Dest. Net. next router Nhops 30 1 10 ... C --... 4 1 1 ... D’s table after A’s advertisement Dest. Net. next router Nhops 1 20 30 ... A B A ... 2 2 5 ... Network Layer 20 RIP: Link Failure and Recovery If no advertisement heard after 180 sec, neighbor/link is assumed to be dead Routes via the neighbor are invalidated; new advertisements sent to neighbors Neighbors in turn send out new advertisements if their tables changed Link failure info quickly propagates to the entire net Network Layer 21 RIP Table processing RIP routing tables managed by an application process called routed (daemon) advertisements encapsulated in UDP packets (reliability not required; advertisements are periodically repeated) Network Layer 22 RIP Table example To get routing table on Unix/Win, type netstat -rn e.g., a Router RIP table: Destination --------------127.0.0.1 192.168.2. 193.55.114. 192.168.3. 224.0.0.0 default Gateway ----------------127.0.0.1 192.168.2.5 193.55.114.6 192.168.3.5 193.55.114.6 193.55.114.129 Flags ----UH U U U U UG Ref ---0 2 3 2 3 0 Use ------26492 13 58503 25 0 143454 Interface --------lo0 fa0 le0 qaa0 le0 3 attached class C networks (LANs) via fa0, le0 and qaa0 Router only knows routes to attached LANs default is the default gateway “to go up” Route multicast address: 224.0.0.0 1st entry: Loopback interface (for debugging) Learn to use Netstat by examples: http://www.cs.unh.edu/cnrg/lin/linuxProject/resource/netstatCookbook.htm Network Layer 23 OSPF (Open Shortest Path First) “open”: publicly available protocol (IETF) uses the Link State (LS) algorithm, i.e., LS packet dissemination; topology map at each node; route computation using the Dijkstra’s algorithm OSPF advertisement carries one entry per neighbor router (gives link state) Advertisements disseminated to the ENTIRE AS (via flooding) Network Layer 24 OSPF “advanced” features (not in RIP) Security. All OSPF messages are authenticated (to prevent malicious intrusion); TCP connections used Multiple same-cost paths allowed (only one path must be chosen to carry all traffic in RIP) Multiple cost metrics for different TOS for each link (e.g., satellite link cost set “low” for best effort; high for real time) Integrated uni- and multicast support. Multicast OSPF (MOSPF) uses the same topology database as OSPF Hierarchical OSPF in single AS (large routing domain) Network Layer 25 Hierarchical OSPF An OSPF AS: Two level hierarchy (local area and backbone) Link state advertisements do not leave respective areas Nodes in each area have detailed area topology; they only know direction (shortest path) to networks in other areas “Internal routers” perform intra- AS routing only “Area Border routers” route packets to other areas “Backbone routers” run an OSPF routing alg. limited to the backbone “Boundary routers” connect to other ASs Network Layer 26 IGRP (Interior Gateway Routing Protocol) CISCO proprietary; successor of RIP (mid 80’s) Distance Vector, like RIP Several cost metrics (delay, bandwidth, reliability, load, etc.) Uses TCP to exchange routing updates Routing tables exchanged only when costs change Loop free routing achieved by using a Distributed Updating ALgorithm (DUAL) In DUAL, after a distance increase, the routing table is frozen until all affected nodes have learned of the change http://www.cisco.com/en/US/tech/tk365/technologies_white_p aper09186a00800c8ae1.shtml Network Layer 27 Inter-AS Routing BGP (Border Gateway Protocol): the de facto standard Each Border Gateway broadcasts to neighbors (peers) the entire path (i.e., sequence of AS’s) to destination For example, gateway X may store the following path to destination Z: Path (X,Z) = X,Y1,Y2,Y3,…,Z Network Layer 28 Border Gateway Protocol (BGP) Now, suppose Gwy X sends its path (X,Y1,Y2,Y3,…,Z) to peer Gwy W Gwy W may or may not select the path offered by Gwy X, because of cost, policy or loop prevention reasons If Gwy W selects the path advertised by Gwy X, then: Path (W,Z) = W, Path (X,Z) Note: path selection based not so much on cost (e.g.,# of AS hops), but mostly on administrative and policy issues (e.g., do not route packets through competitor’s AS) Network Layer 29 Border Gateway Protocol (BGP) Peers exchange BGP messages using TCP BGP defines 4 types of messages: OPEN: opens a TCP connection to peer and authenticates sender UPDATE: advertises new path (or withdraws old) KEEPALIVE: keeps connection alive in absence of UPDATES; also serves as ACK to an OPEN request NOTIFICATION: reports errors in previous msg; also used to close a connection IETF RFC 1771 - http://www.ietf.org/rfc/rfc1771.txt Network Layer 30 Why Intra- and Inter-AS routing different? (1/2) Policy: Inter: concerned with policies (eg, which provider to select/avoid) Intra: under same administrative control, so, policybased routing is less important Scaleability Inter: ability of routing alg. and table to scale for routing among large numbers of networks Intra: scalability is less of a concern within an AS. A large AS can be divided into two ASs, e.g., “areas” in OSPF Network Layer 31 Why Intra- and Inter-AS routing different? (2/2) Performance: Inter: routing is policy-oriented; quality of routes is secondary. Also, it is difficult to propagate performance metrics efficiently (latency, privacy, etc.). Intra: focused on performance metrics; needs to keep costs low. We need BOTH! Network Layer 32 Multicast Routing Multicast: delivery of a packet to a group of receivers Multicasting is becoming increasingly popular in the Internet (e.g., video on demand, IPTV, multi-player online games) Multiple unicast vs. multicast Network Layer 33 Multicast Group Address M-cast group address “delivered” to all receivers in the group Internet uses Class D (240.0.0.0 to 247.255.255.255) for m-cast M-cast address distribution, etc. managed by IGMP (Internet Group Management Protocol) Network Layer 34 IGMP Protocol (RFC 2236) IGMP (Internet Group Management Protocol) operates between router and local hosts, typically on a LAN Router queries the local hosts for m-cast group membership info Router “connects” active hosts to m-cast tree via m- cast protocol Hosts respond with membership reports: actually, the first host which responds (at random) speaks for all Host issues “leave-group” msg to leave; this is optional since router periodically polls anyway Network Layer 35 IGMP message types IGMP Message type membership query: general Sent by router membership query: specific router membership report leave group host host Purpose query for current active multicast groups query for specific m-cast group host wants to join group host leaves the group Network Layer 36 Summary You now hopefully have: a good understanding of the Internet network protocols and issues IP addressing, format & issues Intra-AS routing protocols RIP OSPF IGRP Inter-AS routing BGP Multicast routing IGMP Network Layer 37