310 likes | 488 Views
Network Layer Review. So far we look at issues concerning the network layer such as routing and congestion. We considered the implications of heterogeneous (at the data link layer) networks on trying to connect them.
E N D
Network Layer Review So far we look at issues concerning the network layer such as routing and congestion. We considered the implications of heterogeneous (at the data link layer) networks on trying to connect them. Since different data link layer schemes can have incompatible addressing schemes, we need another layer, the Network Layer, to provide a common addressing scheme and associated routing functions. We will look at probably the most popular network layer protocol, Internet Protocol (IP) that is used to connect heterogeneous network into an internet.
The Network Layer in the Internet • The IP Protocol • IP Addresses • Internet Control Protocols • OSPF – The Interior Gateway Routing Protocol • BGP – The Exterior Gateway Routing Protocol • Internet Multicasting • Mobile IP • IPv6
Design Principles for Internet • Make sure it works. • Keep it simple (avoid features, Occam's Razor). • Make clear choices. • Exploit modularity. • Expect heterogeneity. • Avoid static options and parameters. • Look for a good design; it need not be perfect. • Be strict when sending and tolerant when receiving. • Think about scalability. • Consider performance and cost.
Collection of Subnetworks The Internet is an interconnected collection of many networks.
Service provided by IP The transport layer gives to IP a datagram and a destination IP address. IP takes this datagram and sends it over the Internet, possibly in several fragments. The IP protocol at the destination collects the fragments and if all fragments got through, assembles them into a datagram and delivers it to the destination transport layer.
IPv4 headerThe glue that holds the Internet together IHL – header length in 32-bit words, between 5 and 15 Type of service - ignored by the routers. Identification – all fragments of a datagram contain the same value DF – do not fragment, MF – more fragments Protocol – TCP, UDP, assigned numbers are on www.iana.org
The IP Protocol (2) 5-54 Some of the IP options.
IP Address formats IP address do not identify hosts in general. They identify a host on a network. If a computer is connected to more than one network, it has more than one IP address (e.g.,: routers, multihomed hosts). A: 128 networks with 16 million hosts; B: 16,384 networks with with 64K hosts; (not enough!) C: 2 million networks with 256 hosts
Special IP Addresses Special IP addresses.
Subnets (2) A class B network subnetted into 64 subnets. The number of bits that form the network part of the IP address is called the netmask. Netmask here is 255.255.252.8/22 Class B has a netmask of 16 1s or 255.255.0.0/16
Network Design Temple University has been assigned the 155.247.x.x range of addresses. This is a class B address so 10011011 11110111 00000000 00000000 (155.247.0.0) (total of 256*256 = 65536) 10011011 11110111 11111111 11111111 (155.247.255.255) 16 bit network addr 16 bit host addr We could have had one big network (with up to 65536 hosts) for the whole university attached to a single router. But that would a administrative nightmare: trouble shooting, traffic locality, and address allocation. So we create smaller subnets
Subnets A campus network consisting of LANs for various departments.
Subnets (2) 10011011 11110111 00000000 00000000 10011011 11110111 00000000 11111111 10011011 11110111 00000001 00000000 10011011 11110111 00000001 11111111 10011011 11110111 11111111 11111111 16 bit network 8 bit subnet 8 bit host Inside Temple's network, we have subnetted our Class B allocation 155.247.0.0 into 256 subnets, by “stealing” 8 bits from the host bits. Now one or more subnets can be assigned to each department and each department (subnet) can have a router. So a typical Temple IP address is written as 155.247.170.1/24 where the /24 denotes the netmask.
Storing/Exchanging address Traditional IP scheme the netmask is implicit in the address. Let see what are the entries that would be stores in a typical router: Network Next Hop 208.12.16/24 11010000 00001100 00010000* x.x.x.x ... 208.12.21/24 11010000 00001100 00010101* x.x.x.x ... ... 208.12.31/24 11010000 00001100 000101111* x.x.x.x If we use classful addressing we must list 15 entries in the routing table.
Scaling Issues A few decades back, given the rate at which the Internet was growing, service providers were facing two major challenges: - Growth of routing table entries. - Depletion of addresses space.
Classless InterDomain Routing (CIDR) Returning to our previous example: Network Next Hop 208.12.16/24 11010000 00001100 00010000* x.x.x.x ... 208.12.21/24 11010000 00001100 00010101* x.x.x.x ... ... 208.12.31/24 11010000 00001100 00011111* x.x.x.x Notice that since the first 20bits are identical for all addresses, these entries could be aggregated as 208.12.16/20 11010000 00001100 0001* x.x.x.x This reduces the number of entries in the routing table significantly. However, there might be exception that break entries what could have been aggregated. This introduces a set of issues resolved using the longest-prefix-match algorithms.
Classless InterDomain Routing (CIDR) CIDR only works well if next hop of all the aggregated entries are the same. Suppose we had Network Next Hop 208.12.16/24 11010000 00001100 00010000* x.x.x.x ... 208.12.21/24 11010000 00001100 00010101* y.y.y.y 208.12.22/24 11010000 00001100 00010110* x.x.x.x ... 208.12.31/24 11010000 00001100 00011111* x.x.x.x Now not all hosts with first 20 bits common have the same next hop, so what do we do ? We can either go back to not aggregating or create exceptions such as: 208.12.16/20 11010000 00001100 0001* x.x.x.x 208.12.21/24 11010000 00001100 00010101* y.y.y.y But now, 208.12.21.5 will match both the first and second entry, so which one do we choose ? Now we use the longest-prefix-match and use the second entry.
CIDR – Classless InterDomain Routing 5-59 A set of IP address assignments. Dropping the classes makes forwarding more complicated: The routing table is scanned sequentially. The entries can be aggregated, e.g., the 3 entries to 194.24.0.0/19 If multiple entries with different subnet mask lengths match, the longest mask is used.
NAT – Network Address Translation Placement and operation of a NAT box.
Private IP addresses:10.0.0.0 – 10.255.255.255 (16,777,216 hosts) 172.16.0.0 – 172.31.255.255 (1,048,576 hosts) 192.168.0.0 – 192.168.255.255 (65,536 hosts) NAT uses source and destination ports of TCP and UDP to sort packets. Thus, NAT mixes up network layer with transport layer!!!
Internet Control Message Protocol 5-61 ICMP is used to exchange massages between routers. The principal ICMP message types.
ARP– The Address Resolution Protocol Three interconnected /24 networks: two Ethernets and an FDDI ring. Interface between Data Link Layer and Network Layer. Mapping between IP addresses and MAC Ethernet addresses. Host 1 want to send a packet to host 2. It broadcasts on his LAN: Who has IP addr. 192.31.65.5? Host 2 will respond with his MAC addr. E2
Dynamic Host Configuration Protocol Operation of DHCP.
The Interior Gateway Routing Protocol • An autonomous system. (b) A graph representation of (a). Link State Routing is used.
2. OSPF (Open Shortest Path First) The relation between ASes, backbones, and areas in OSPF.
3. OSPF 5-66 The five types of OSPF messages.
The Exterior Gateway Routing ProtocolBGP (Border Gateway Protocol) • A set of BGP routers. (b) Information sent to F. We need to worry about politics. A distance vector routing is used, but the whole path is used. F goes to D: FGCD, and G crashes, then F takes FBCD.
IP Multicast: Motivation R R SOURCE SOURCE R R R R Multicast Multiple Unicasts
IP address as a GROUP Traditionally we associate a unicast IP address with a single machine/interface. An multicast IP address is exactly the opposite it identifies a collection of machines. There machines do not have to be on a single subnet. They could be anywhere in an internet. In multicast communications, a machines joins and leaves a group as necessary and could be part of more than one group simultaneously. A machine joins a group by sending a IGMP (Internet Group Management Protocol) join message to a multicast capable router.
The Main IPv6 Header Traffic class – the same as Type of service in IPv4 Flow label – virtual connection label Hop limit – the same as Time to live in IPv4
Extension Headers 5-69 IPv6 extension headers.