* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Internetworking
IEEE 802.1aq wikipedia , lookup
Point-to-Point Protocol over Ethernet wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Dynamic Host Configuration Protocol wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Deep packet inspection wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Network tap wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Airborne Networking wikipedia , lookup
UniPro protocol stack wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Packet switching wikipedia , lookup
Real-Time Messaging Protocol wikipedia , lookup
Internetworking 4.1 Simple Internetworking (IP) 4.2 Routing 4.3 Global Internet 4.4 Multicast 1 4.1 Simple Internetworking (IP) 4.1.1 What is an Internework 4.1.2 Service Model 4.1.3 Global Address 4.1.4 Datagram Forwarding in IP 4.1.5 Address Translation (ARP) 4.1.6 Host Configuration (DHCP) 4.1.7 Error Reporting (ICMP) 4.1.8 Virtual Networks and Tunnels 2 4.1.1 What is an Internework  Concatenation of networks H1 H2 Netw ork 1 (Ethernet) H7 H3 R3 H8 Netw ork 4 (point-to-point) Netw ork 2 (Ethernet) R1 R2 H4 Netw ork 3 (FDDI) H5 H6 A simple internetwork. Hn =host, Rn = router 3  An internetwork is a network of networks  in the figure, we see Ethernets, an FDDI ring, and a point-to-point link  each of these is a single-technology network  the nodes that interconnect the networks are called routers (sometimes called gateways)  The following figure shows how H1 and H8 are logically connected by the internet, including the protocol graph running on each node 4  A simple internetwork of protocol stack H1 H8 TCP R1 IP ETH R2 IP ETH R3 IP FDDI FDDI IP PPP PPP TCP IP ETH ETH Protocol layers used to connect H1 to H8. ETH: the protocol that runs over Ethernet. 5 4.1.2 Service Model  A good place to start when you build an internetwork is to define its service model  A service model is the host-to-host services you want to provide  Service model for an internetwork  a host-to-host service only if this service can somehow be provided over each of the underlying physical networks 6 4.1.2 Service Model  IP service model has two parts  addressing scheme  provides a way to identify all hosts in the internetwork  datagram (conectionless) model of data delivery  This service model is sometimes called best effort  although IP makes every effort to deliver datagrams, it makes no guarantees 7  Datagram  a type of packet sent in a connectionless manner over a network  every datagram carry enough information to let the network forward the packet to its correct destination  no need for any advance setup mechanism to tell the network what to do when the packet arrives 8  Best-effort delivery (unreliable service)  if something goes wrong and has the following situations     packets are lost packets are delivered out of order duplicate copies of a packet are delivered packets can be delayed for a long time  the network does not make any attempt to recover from the failure 9  Best-effort, connectionless service is about the simplest service you could ask for from an internetwork  If you provide best-effort service over a network that provides a reliable service, then that’s fine 10  If, on the other hand, you had a reliable service model over an unreliable network, you would have to put lots of extra functionality into the routers  Keeping the routers as simple as possible was one of the original design goals of IP 11  Datagram format 0 4 Version 8 HLen 16 TOS 31 Length Ident TTL 19 Flags Protocol Offset Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data 12  Datagram format  a succession of 32-bit words  Packet formats at the internetworking layer and above are almost invariably designed to align on 32-bit boundaries  To simplify the task of processing them in software 0 4 Version 8 HLen 16 TOS 31 Length Ident TTL 19 Flags Protocol Offset Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data 13  Datagram format  a succession of 32-bit words  the top word is transmitted first  the leftmost byte of each word is transmitted first 0 4 Version 8 HLen 16 TOS 31 Length Ident TTL 19 Flags Protocol Offset Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) Data 14  1st word of the header  Version: the version of IP  the current version of IP is 4 (IPv4)  HLen: the length of the header in 32-bit words  most of the time (when there are no options), the header is 5 words (20 bytes) long 15  TOS: the 8-bit type of service  allow packets to be treated differently based on application needs  example, the TOS value might determine whether or not a packet should be placed in a special queue that receives low delay 16  Length: 16 bits of the header  contain the length of the datagram, including the header  the field counts bytes rather than words  the maximum size of an IP datagram is 65,535 bytes  the physical network over which IP is running may not support such long packets  IP supports a fragmentation and reassembly process 17  2nd word of the header contains information about fragmentation  Offset: 12-bit counts 8-byte chunk, not bytes  the distance (number of chunks) between the start of the original data and the start of the current fragment 18  3rd word of the header  TTL: one-byte time to live  a specific number of seconds that the packet would be allowed to live  routers along the path would decrement this field until it reached 0  By default: 64  Protocol: one-byte demultiplexing key  identifies the higher-level protocol to which this IP packet should be passed  values defined for TCP (6), UDP (17) 19  Checksum:  calculated by considering the entire IP header as a sequence of 16-bit words  adding them up using ones complement arithmetic, and taking the ones complement of the result 20  the fourth word of the header: SourceAddr  the fifth word of the header: DestinationAddr  there may be a number of options at the end of the header  the presence or absence of options may be determined by examining the header length (HLen) field 21 Fragmentation and Reassembly  Each network technology tends to have its own idea of how large a packet can be, example,  Ethernet can accept packets up to 1,500 bytes long  FDDI packets may be 4,500 bytes long  Every network type has a maximum transmission unit (MTU)  the largest IP datagram that it can carry in a frame  this value is smaller than the largest packet size on that network because the IP datagram needs to fit in the payload of the link-layer frame 22  Fragmentation  typically occurs when necessary (MTU < Datagram)  to enable these fragments to be reassembled at the receiving host, they all carry the same identifier in the Ident field  this identifier is chosen by the sending host and is intended to be unique among all the datagrams that might arrive at the destination from this source over some reasonable time period 23  since all fragments of the original datagram contain this identifier, the reassembling host will be able to recognize those fragments that go together  should all the fragments not arrive at the receiving host, the host gives up on the reassembly process and discards the fragments that did arrive  IP does not attempt to recover from missing fragments 24  example  consider what happens when host Hl sends a datagram to host H8  assuming that the MTU is 1,500 bytes for the two Ethernets, 4,500 bytes for the FDDI network, and 532 bytes for the point-to-point network  a 1,420-byte datagram (20-byte IP header plus 1,400 bytes of data) sent from H1 makes it across the first Ethernet and the FDDI network without fragmentation but must be fragmented into three datagrams at router R2  these three fragments are then forwarded by router R3 across the second Ethernet to the destination host 25 26 H1 ETH IP (1400) R1 R2 R3 R1 R2 R3 FDDI IP (1400) H8 PPP IP (512) ETH IP (512) PPP IP (512) ETH IP (512) PPP IP (376) ETH IP (376) IP datagrams traversing the sequence of physical networks 27  each fragment is itself a self-contained IP datagram that is transmitted over a sequence of physical networks, independent of the other fragments  each IP datagram is reencapsulated for each physical network over which it travels 28 (a) (b) Header fields used in IP fragmentation: (a) unfragmented packet; (b) fragmented packets. 29  The unfragmented packet has 1,400 bytes of data and a 20-byte IP header  when the packet arrives at router R2, which has an MTU of 532 bytes, it has to be fragmented  a 532-byte MTU leaves 512 bytes for data after the 20-byte IP header, so the first fragment contains 512 bytes of data  the router sets the M bit as 1 in the Flags field, meaning that there are more fragments to follow  it sets the Offset to 0, since this fragment contains the first part of the original datagram 30  the data carried in the second fragment starts with the 513th byte of the original data, so the field in this header is set to 64 (= 512/8)  the third fragment contains the last 376 bytes of data, and the offset is now 2 × 512 / 8 = 128 (since this is the last fragment, the M bit is not set) 31 4.1.3 Global Addresses  One of the things that IP service model provides is an addressing scheme  If you want to be able to send data to any host on any network, there needs to be a way of identifying all the hosts  Thus, we need a global addressing scheme– one in which no two hosts have the same address 32 4.1.3 Global Addresses  Ethernet addresses are globally unique  that alone does not suffice for an addressing scheme in a large internetwork  Ethernet addresses are also flat  they have no structure and provide very few clues to routing protocols 33  IP addresses are hierarchical  made up of two parts that correspond to some sort of hierarchy in the internetwork  network part  identifies the network to which the host is attached  all hosts attached to the same network have the same network part  host part  identifies each host uniquely on that particular network 34  example 1  the addresses of the hosts on network 1 would all have the same network part and different host parts  example 2  the routers are attached to two networks  they need to have an address on each network, one for each interface, e.g., router Rl  has an IP address on the interface to network 2 that has the same network part as the hosts on network 2  has an IP address on the interface to network 3 that has the same network part as the hosts on network 3  it is more precise to think of IP addresses as belonging to interfaces than to hosts 35  IP addresses are divided into three different classes  each of the following figure defines different-sized network and host parts  there are also class D addresses specify a multicast group, and class E addresses that are currently unused  in all cases, the address is 32 bits long 36 7 A: 0 24 Network Host 14 B: 1 0 16 Network Host 21 C: 1 1 0 Network 8 Host IP addresses: (a) class A; (b) class B; (c) class C 37  the class of an IP address is identified in the most significant few bits  if the first bit is 0, it is a class A address  if the first bit is 1 and the second is 0, it is a class B  if the first two bits are 1 and the third is 0, it is a class C address  of the approximately 4 billion (= 232)possible IP addresses  one-half are class A  one-quarter are class B  one-eighth are class C 38  Class A addresses  7 bits for the network part and 24 bits for the host part  126 (= 27-2) class A networks (0 and 127 are reserved)  each network can accommodate up to 224-2 (about 16 million) hosts (again, two are reserved values)  Class B addresses  14 bits for the network part and 16 bits for the host part  65,534 (= 216-2) hosts 39  Class C addresses  21 bits for the network part and 8 bits for the host part  2,097,152 (= 22l) class C networks  254 hosts (host identifier 255 is reserved for broadcast, and 0 is not a valid host number) 40  IP addresses are written as four decimal integers separated by dots  each integer represents the decimal value contained in 1 byte (= 0~255) of the address, starting at the most significant  Example, 171.69.210.245  Internet domain names (DNS)  also hierarchical  domain names tend to be ASCII strings separated by dots, e.g., cs.princeton.edu 41 4.1.4 Datagram Forwarding in IP  Forwarding  the process of taking packet from an input and sending it out on the appropriate output  Routing  the process of building up the tables that allow the correct output for a packet to be determined  The discussion here focus on forwarding 42  Strategy  every IP datagram contains destination’s address  if connected to destination network  then forward to host  if not directly connected  then forward to some router  forwarding table maps network number (NetworkNum) into next hop (NextHop)  each host has a default router  each router maintains a forwarding table 43  Datagram forwarding algorithm  if (NetworkNum of destination = NetworkNum of one of my interfaces) then deliver packet to destination over that interface else if (NetworkNum of destination is in my forwarding table) then deliver packet to NextHop route else deliver packet to default router 44  For a host with only one interface and only a default router in its forwarding table  (simplified algorithm)  if (NetworkNum of destination = my NetworkNum) then deliver packet to destination directly else deliver packet to default router 45  Example1  suppose H1 wants to send a datagram to H2  since they are on the same physical network, H1 and H2 have the same network number in their IP address  H1 deduces that it can deliver the datagram directly to H2 over the Ethernet  the one that needs to be resolved is how Hl finds out the correct Ethernet address for H2 46  Example2  suppose H1 wants to send a datagram to H8  since they are on different physical networks  H1 deduces that it needs to send the datagram to a router  Hl sends the datagram over the Ethernet to R1  R1 knows that it cannot deliver a datagram directly to H8 because neither of Rl’s interfaces is on the same network as H8 47  suppose R1’s default router is R2; R1 then sends the datagram to R2 over the token ring network  assume R2 has the forwarding table shown as follows, it looks up H8’s network number (network 1) and forwards the datagram to R3 48 Network Number Next Hop 1 R3 2 R1 3 Interface 1 4 Interface 0 Forwarding table for router R2 49  R3 forwards the datagram directly to H8  it is possible to include the information about directly connected networks in the forwarding table  example, we could label the network interfaces of router R2 as interface 0 for the point-to-point link (network 4) and interface l for the token ring (network 3) 50 4.1.5 Address Translation (ARP)  Issue  IP datagrams contain IP addresses, but the physical interface hardware on the host or router to which you want to send the datagram only understands the addressing scheme of that particular network 51  Resolution  translate the IP address to a link-level address that makes sense on this network (e.g., a 48-bit Ethernet address)  encapsulate the IP datagram inside a frame that contains that link-1evel address and send it either to the ultimate destination or to a router that promises to forward the datagram toward the ultimate destination frame link-level address IP datagram Encapsulation 52 Network part Host part (physical address)  Simple way to map an IP address into a physical network address  encode a host’s physical address in the host part of its IP address  example, a host with physical address 00100001 01001001 (the decimal value 33 in the upper byte and 73 in the lower byte) might be given the IP address 128.96.33.73  it is limited in that the network’s physical addresses can be no more than 16 bits long in this example 53  More general solution  each host maintains a table of address pairs (map IP addresses into physical addresses)  Alternative solution:Address Resolution Protocol (ARP)  enable each host on a network to build up a table of mappings between IP addresses and link-level addresses  since these mappings may over time (e.g. because an Ethernet card in a host breaks and is replaced by a new one with a new address), the entries are timed out periodically and removed 54  this happens on the order of every 15 minutes  the set of mappings currently stored in a host is known as the ARP cache or ARP table 55  The ARP packet contains  HardwareType  the type of physical network (e.g., Ethernet)  ProtocolType  the higher-layer protocol (e.g., IP)  HLen (“hardware” address length) and PLen (“protocol” address length)  the length of the link-layer address and higher-layer protocol address 56  Operation  specifies whether this is a request or a response  Addresses     source hardware (Ethernet) address (6 bytes) source protocol (IP) address (4 bytes) target hardware (Ethernet) address (6 bytes) target protocol (IP) address (4 bytes) 57 0 8 16 Hardware type = 1 HLen = 48 31 ProtocolType = 0x0800 PLen = 32 Operation SourceHardwareAddr (bytes 0-3) SourceHardwareAddr (bytes 4-5) SourceProtocolAddr (bytes 0-1) SourceProtocolAddr (bytes 2-3) TargetHardwareAddr (bytes 0-1) TargetHardwareAddr (bytes 2-5) TargetProtocolAddr (bytes 0-3) ARP Packet Format 58 4.1.6 Host Configuration (DHCP)  Dynamic Host Configuration Protocol (DHCP)  relies on the existence of a DHCP server that is responsible for providing configuration information to hosts  there is at least one DHCP server for an administrative domain  at the simplest level, the DHCP server can function just as a centralized repository for host configuration information  DHCP saves the network administrators from having to walk around to every host in the company with a list of addresses and network map in hand and configuring each host manually 59  a more sophisticated use of DHCP saves the network administrator from even having to assign addresses to individual hosts  the DHCP server maintains a pool of available addresses that it hands out to hosts on demand  this considerably reduces the amount of configuration an administrator must do by allocating a range of IP addresses (all with the same network number) to each network 60  DHCP server discovery  to contact a DHCP server, a newly booted or attached host sends a DHCPDISCOVER message to a special IP (broadcast) address (255.255.255.255)  it will be received by all hosts and routers on that network  in the simplest case, one of these nodes is the DHCP server for the network  the server would then reply to the host that generated the discovery message (all the other nodes would ignore it) 61  DHCP uses the concept of relay agent  there is at least one relay agent on each network, and it is configured with just one piece of information: the IP address of the DHCP server  when a relay agent receives a DHCPDISCOVER message, it unicasts it to the DHCP server and awaits the response, which it will then send back to the requesting client 62 Unicast to server DHCP relay Other netw orks DHCP server Broadcast Host A DHCP relay agent receives a broadcast DHCPDISCOVER message from a host and sends a unicast DHCPDISCOVER to a remote DHCP Server. 63 Operation HType HLen Hops Xid Secs Flags ciaddr yiaddr siaddr giaddr chaddr (16 bytes) sname (64 bytes) file (128 bytes) options DHCP packet format 64 65 Operation HType HLen Hops Xid Secs Flags ciaddr yiaddr siaddr giaddr chaddr (16 bytes) sname (64 bytes) file (128 bytes) options  B (Broadcast): 1 bit      Client IP address (ciaddr): 32 bits Your IP address (yiaddr): 32 bits Server IP address (siaddr): 32 bits Gateway IP address (giaddr): 32 bits Client hardware address (chaddr): 16 bytes 66 4.1.7 Error Reporting (ICMP)  Internet Control Message Protocol (ICMP)  defines a collection of error messages that are sent back to the source host whenever a router is unable to process an IP datagram successfully  ICMP segment structure 67  ICMP header (starts at bit 160 of the IP header)  Type  ICMP type as specified above  Code (see the following table)  further specification of the ICMP type  e.g. an ICMP Destination Unreachable might have this field set to 1 through 15 each bearing different meaning  Checksum  contains error checking data calculated from the ICMP header+data, with value 0 for this field 68  ID  contains an ID value, should be returned in case of ECHO REPLY  Sequence  contains a sequence value, should be returned in case of ECHO REPLY 69 List of permitted control messages (incomplete list) 70 71 72 4.1.8 Virtual Networks and Tunnels  Virtual Private Network (VPN)  a more controlled connectivity  corporations with many sites often build private networks by leasing transmission lines from the phone companies and using those lines to interconnect sites  communication is restricted to take place only among the sites of that corporation, which is often desirable for security reasons  to make a private network “virtual”, the leased transmission lines - which are not shared with any other corporations would be replaced by some sort of shared network 73 C Physical links A B Corporation X private netw ork K L M Corporation Y private netw ork (a) K C L Physical links A M B Virtual circuits (b) An example of virtual private networks: (a) two separate private networks; (b) two virtual private networks sharing common switches.  In the above figure  Frame Relay or ATM network is used to provide the controlled connectivity among sites  limited connectivity of a real private network is maintained  IP Tunnel  a virtual point-to-point link between a pair of nodes that are actually separated by an arbitrary number of networks 75 Netw ork 1 R1 Internetw ork R2 Netw ork 2 10.0.0.1 IP header, Destination = 2.x IP header, Destination = 10.0.0.1 IP header, Destination = 2.x IP payload IP header, Destination = 2.x IP payload IP payload A tunnel through an internetwork (the change in encapsulation of the packet as it moves across the network) 76 Netw ork 1 R1 Internetw ork R2 Netw ork 2 10.0.0.1 IP header, Destination = 2.x IP header, Destination = 10.0.0.1 IP header, Destination = 2.x IP payload IP header, Destination = 2.x IP payload IP payload  A tunnel has been configured from R1 to R2 and assigned a virtual interface number 0  The forwarding table in R1 might therefore look like the following table  R1 has two physical interfaces  interface 0 connects to network 1  interface 1 connects to a large internetwork and is thus the default for all traffic that does not match something more specific in the forwarding table 77  R1 has a virtual interface, which is the interface to the tunnel  suppose R1 receives a packet from network 1 that contains an address in network 2  the forwarding table says this packet should be sent out virtual interface 0  in order to send a packet out this interface, the router takes the packet, adds an IP header addressed to R2, and then proceeds to forward the packet as it had just been received  R2’s address is 10.0.0.1  since the network number of this address is 10, not 1 or 2, a packet destined for R2 will be forwarded out the default interface into the internetwork 78 NetworkNum NextHop 1 Interface 0 2 Virtual interface 0 Default Interface 1 Forwarding table for router R1 79
 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
									 
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                            