7. MARCO TEORICO
7.4 LA IMPORTANCIA DEL DIBUJO EN LOS PROCESOS DE ENSEÑANZA EN LA ARQUITECTURA
The evolution of TCP/IP technology has led on to attempts to solve problems that improve service and extend functionalities. Most researchers seek new ways to develop and extend the improved technology, and millions of users want to solve new networking problems and improve the underlying mechanisms. The motivation behind revising the protocols arises from changes in underlying technology: first, computer and network hardware continues to evolve; second, as programmers invent new ways to use TCP/IP, additional protocol support is needed; third, the global Internet has experienced huge growth in size and use. This section examines a proposed revision of the Internet protocol which is one of the most significant engineering efforts so far.
The network layer protocol is currently IPv4. IPv4 provides the basic communication mechanism of the TCP/IP suite. Although IPv4 is well designed, data communication has evolved since the inception of IPv4 in the 1970s. Despite its sound design, IPv4 has some deficiencies that make it unsuitable for the fast-growing Internet. The IETF decided to assign the new version of IP and to name it IPv6 to distinguish it from the current IPv4. The proposed IPv6 protocol retains many of the features that contributed to the success of IPv4. In fact, the designers have characterised IPv6 as being basically the same as IPv4 with a few modifications: IPv6 still supports connectionless delivery, allows the sender to choose the size of a datagram, and requires the sender to specify the maximum number of hops a datagram can make before being terminated. In addition, IPv6 also retains most of IPv4’s options, including facilities for fragmentation and source routing.
IP version 6 (IPv6), also known as the Internet Protocol next generation (IPng), is the new version of the Internet Protocol, designed to be a full replacement for IPv4. IPv6 has an 128-bit address space, a revised header format, new options, an allowance for extension, support for resource allocation and increased security measures. However, due to the huge number of systems on the Internet, the transition from IPv4 to IPv6 cannot occur at once. It will take a considerable amount of time before every system in the Internet can move from IPv4 to IPv6. RFC 2460 defines the new IPv6 protocol. IPv6 differs from IPv4 in a number of significant ways:
• The IP address length in IPv6 is increased from 32 to 128 bits.
• IPv6 can automatically configure local addresses and locate IP routers to reduce con- figuration and setup problems.
• The IPv6 header format is simplified and some header fields dropped. This new header format improves router performance and make it easier to add new header types.
• Support for authentication, data integrity and data confidentiality are part of the IPv6 architecture.
• A new concept of flows has been added to IPv6 to enable the sender to request special handling of datagrams.
IPv4 has a two-level address structure (netid and hostid) categorised into five classes (A, B, C, D and E). The use of address space is inefficient. For instant, when an organisation is granted a class A address, 16 million addresses from the address space are assigned for the organisation’s exclusive use. On the other hand, if an organisation is granted a class C address, only 256 addresses are assigned to this organisation, which may not be enough. Soon there will be no addresses left to assign to any new system that wants to be connected to the Internet.
Although the subnetting and supernetting strategies have alleviated some addressing problems, subnetting and supernetting make routing more complicated. The encryption and authentication options in IPv6 provide confidentiality and integrity of the packet. However, no encryption or authentication is provided by IPv4.
2.1.5.1 IPv6 Addressing
In December 1995, the network working group of IETF proposed a longer-term solution for specifying and allocating IP addresses. RFC 2373 describes the address space asso- ciated with the IPv6. The biggest concern with Internet developers will be the migration process from IPv4 to IPv6.
IPv4 addressing has the following shortcoming: IPv4 was defined when the Inter- net was small and consisted of networks of limited size and complexity. It offered two layers of address hierarchy (netid and hostid) with three address formats (class A, B and C) to accommodate varying network sizes. Both the limited address space and the 32-bit address size in IPv4 proved to be inadequate for handling the increase in the size of the routing table caused by the immense numbers of active hosts and servers. IPv6 is designed to improve upon IPv4 in each of these areas. IPv6 allocates 128 bits for addresses. Analysis shows that this address space will suffice to incorporate flexible hierarchies and to distribute the responsibility for allocation and management of the IP address space.
Like IPv4, IPv6 addresses are represented as string of digits (128 bits or 32 hex digits) which are further broken down into eight 16-bit integers separated by colons (:). The basic representation takes the form of eight sections, each two bytes in length.
xx:xx:xx:xx:xx:xx:xx:xx
where each xx represents the hexadecimal form of 16 bits of address. IPv6 uses hexadec- imal colon notation with abbreviation methods.
Example 2.4 An IPv6 address consists of 16 bytes (octets) which is 128 bits long. The IPv6 address consists of 32 hexadecimal digits, with every four digits separated by a colon.
IPv6 address: flea:1075:fffb:110e:0000:0000:7c2d:a65f
Abbreviated address: f1ea:1075:fffb:110e::7c2d:a65f
Binary address: 1111000111101010. . . 1010011001011111
Many of the digits in IPv6 addresses are zeros. In this case, the abbreviated address can be obtained by omitting the leading zeros of a section (four hex digits between two colons), but not the trailing zeros.
Example 2.5 Assume that the IPv6 address is given as fedc:ab98:0052:4310:000f:bccf:0000:ff1f (unabbreviated)
Using the abbreviated form, 0052 can be written as 52, 000f as f, and 0000 as 0. But the trailing zeros cannot be dropped, so that 4310 would not be abbreviated. Thus, the given IP address becomes fedc:ab98:52:4310:f:bccf:0:ff1f (abbreviated).
Example 2.6 Consider an abbreviated address with consecutive zeros. When consecu- tive sections are composed of zeros, further abbreviations are possible. We can remove the zeros altogether and replace them with a double semicolon.
fedc:0:0:0:0:abf8:0:f75f (abbreviated) fedc::abf8:0:f75f (more abbreviated)
IPv6 Address Types
IPv6 has identified three types of addresses:
• Unicast: To associate with a specific physical interface to a network. Packets sent to a unicast address are delivered to the interface uniquely specified by the address.
• Anycast: To associate with a set of physical interfaces, generally on different modes. Packets sent to an anycast address will be delivered to at least one interface specified by the address.
• Multicast: To associate with a set of physical interfaces, generally on multiple hosts (nodes). Packets sent to a multicast address will be delivered to all the interfaces to which the address refers.
Figure 2.7 illustrates three address types.
IPv6 addresses divide the address space into two parts with the type prefix for each type of address, rest of address, and the fraction of each type of address relative to the whole address space. Table 2.5 illustrates the address space assignment for type prefixes.
Host 1 Host 2 Host 3 Host 1 Host 2 Host 3 Host 4 Host 5 Host 1 Host 2 Host 3 Host 4 Host 5 Unicast Anycast Multicast IP packet or or and and
Figure 2.7 IPv6 address types.
2.1.5.2 IPv6 Packet Format
The IPv6 protocol consists of two parts: the basic elements of the IPv6 header and IPv6 extension headers. The IPv6 datagram is composed of a base header (40 bytes) followed by the payload. The payload consists of two parts: optional extension headers and data from the upper layer. The extension headers and data packet from the upper layer usually
Table 2.5 Type prefixes for IPv6 addresses Type prefix
(binary)
Type of address Fraction of address space
0000 0000 Reserved 1/256
0000 0001 Reserved 1/256
0000 001 NSAP (Network Service Access Point) 1/128 0000 010 IPX (Novell) 1/128 0000 011 Reserved 1/128 0000 100 Reserved 1/128 0000 101 Reserved 1/128 0000 110 Reserved 1/128 0000 111 Reserved 1/128 0001 Reserved 1/16 001 Reserved 1/8
010 Provider-based unicast addresses 1/8
011 Reserved 1/8
100 Geographic unicast addresses 1/8
101 Reserved 1/8 110 Reserved 1/8 1110 Reserved 1/16 1111 0 Reserved 1/32 1111 10 Reserved 1/64 1111 110 Reserved 1/128 1111 1110 0 Reserved 1/512
1111 1110 10 Link local addresses 1/1024 1111 1110 11 Site local addresses 1/1024
1111 1111 Multicast addresses 1/256
Prefix (variable)
128 bits
Rest of address (variable)
occupy up to 65 535 bytes of information. Figure 2.8 shows the base header with its eight fields. Each IPv6 datagram begins with a base header. The IPv6 header has a fixed length of 40 octets, consisting of the following fields:
• Version: This four-bit field defines the version number of the IP. For IPv6, the value is 6.
• Priority: This four-bit priority field defines the priority of the packet with respect to traffic congestion. So, this field is a measure of the importance of a datagram. The IPv4 service class field has been renamed the IPv6 traffic class field.
• Flow label: This 24-bit field is designed to provide special handling for a particular flow of data. This field contains information that routers use to associate a datagram with a specific flow and priority.
Version (4 bits) Priority (4 bits) Flow label (24 bits) Payload length (16 bits) Next header (8 bits) Hop limit (8 bits) Source IP address (128 bits) Destination IP address (128 bits) 40 bytes 0 4 8 16 31
Figure 2.8 IPv6 base header with its eight fields.
• Payload length: This 16-bit payload length field defines the total length of the IP datagram excluding the base header. A payload consists of optional extension headers plus data from the upper layer. It occupies up to 216−1=65 535bytes.
• Next header: The next header is an eight-bit field defining the header that follows the base header in the datagram. The next header is either one of the optional extension headers used by IP or a header for an upper-layer protocol such as UDP or TCP. Extension headers add functionality to the IPv6 datagram.
Table 2.6 shows the values of next headers (i.e. IPv6 extension headers).
Six types of extension header have been defined. These are the hop-by-hop option, source routing, fragmentation, authentication, encrypted security payload, and destina- tion option. These are discussed below.
Hop-by-hop option: This option is used when the source needs to pass information to all routers (in the path) visited by the datagram.
Table 2.6 Next header codes
Code Next header
0 Hop-by-hop option 2 ICMP 6 TCP 17 UDP 43 Source routing 44 Fragmentation
50 Encrypted security payload 51 Authentication
59 Null (no next header) 60 Destination option
Source routing: The source routing extension header combines the concepts of the strict source route and the loose source route options of IPv4. The source routing extension is used when the source wants to specify the transmission path.
The source routing header contains a minimum of seven fields which are expressed in a unified form as follows:
– The next header and header length are identical to that of hop-by-hop extension header. – The type field defines loose or strict routing.
– The address left field indicates the number of hops still needed to reach the destination. – The strict/loose mask field determines the rigidity of routing.
– The destination address in source routing changes from router to router.
Thefragmentation extension is used if the payload is a fragment of a message. The concept of fragmentation is the same as that in IPv4 except that where fragmentation takes place differs. In IPv4, the source or router is required to fragment if the size of the datagram is larger than the MTU of the network. In IPv6, only the original source can fragment using the Path MTU Discovery technique. If the source does not use this technique, it should fragment the datagram to a size of 576 bytes or smaller, which is the minimum size of MTU required for each network connected to the Internet.
Encrypted Security Payload (ESP): The ESP is an extension that provides confiden- tiality between sender and receiver and guards against eavesdropping. The ESP format contains the security parameter index field and the encrypted data field. The security parameter index field is a 32-bit word that defines the type of encryption/decryption used. The encrypted data field contains the data being encrypted along with any extra param- eters needed by the algorithm. Encryption can be implemented in two ways: transport mode and tunnel mode, as shown in Figure 2.9. The transport-mode method encrypts
TCP or UDP Datagram Encryption Key Encrypted data SPI Extension headers Base header
(Encapsulated in an IPv6 packet) (a) Transport-mode encryption
(b) Tunnel-mode encryption IP
Datagram Encryption Encrypted packet Key
New IPv6 header
(Encapsulated in an IPv6 packet) Extension headers
Base header
a TCP segment or UDP user datagram first and then encapsulated along with its base header, extension headers and security parameter index (SPI) as shown in Figure 2.9(a). The tunnel-mode method encrypts the entire IP datagram together with its base header and extension headers and then encapsulates it in a new IP packet as shown in Figure 2.9(b). Theauthentication extension validates the sender of the message and protects the data from hackers. The authentication extension field has a dual purpose: sender identification and data integrity. The sender verification is needed because the receiver can be sure that a message is from the genuine sender and not from an imposter. The data integrity is needed to check that the data is not altered in transition by some hackers. The format of authentication extension header consists of the security parameter index field and the authentication data field. The former defines the algorithm used for authentication, and the latter contains the actual data generated by the algorithm.
Thedestination extension passes information from the source to the destination exclu- sively. This header contains optional information to be examined by the destination mode. It is worth comparing the options in IPv4 with the extension headers in IPv6.
1. The record route option in IPv4 is not used in IPv6. 2. The timestamp option in IPv4 is not implemented in IPv6.
3. The source router option in IPv4 is called the source route extension header in IPv6. 4. The fragmentation fields in the base header section of IPv4 have moved to the frag-
mentation extension header in IPv6.
5. The encrypted security payload extension header is new in IPv6.
• Hop limit: This eight-bit hop limit field decrements by 1 each node that forwards the packet. The packet is discarded if the hop limit is decremented to zero. This field serves the same purpose as the TTL field in IPv4. IPv6 interprets the value as giving a strict bound on the maximum number of hops a datagram can make before being discarded.
• Source address: The source address field is a 128-bit originator address that identifies the initial sender of the packet.
• Destination address: The destination address field specifies a 128-bit recipient address that usually identifies the final destination of the datagram. However, if source routing is used, this field contains the address of the next router.
To summarise, each IPv6 datagram begins with a 40-octet base header that includes fields for the source and destination addresses, the maximum hop limit, the traffic class (priority), the flow label and the type of the next header. Thus, an IPv6 datagram should contain at least 40 octets in addition to the data.
2.1.5.3 Comparison between IPv4 and IPv6 Headers
Despite many conceptual similarities, IPv6 changes most of the protocol scopes. Most important, IPv6 completely revises the datagram format by replacing IPv4’s variable- length options field with a series of fixed-format headers. A comparison between IPv4 and IPv6 headers will be examined in the following section.
• The header length field is eliminated in IPv6 because the length of the header is fixed in IPv6.
• The service type field is eliminated in IPv6. The priority and flow label fields together take over the function of the service type field in IPv4.
• The total length field is eliminated in IPv6 and replaced by the payload length field.
• The identification, flag and offset fields in IPv4 are eliminated from the base header in IPv6. They are included in the fragmentation extension header.
• The TTL field in IPv4 is called the hop limit in IPv6.
• The protocol field is replaced by the next header field.
• The header checksum field in IPv4 is eliminated because the checksum is provided by upper level protocols. It is thereby not needed at this level.
• The option fields in IPv4 are implemented as extension headers in IPv6.
The length of the base header is fixed at 40 bytes. However, to give more functionality to the IP datagram, the base header can be followed by up to six extension headers.
2.1.6
Internet Control Message Protocol (ICMP)
The ICMP is an extension to the Internet Protocol which is used to communicate between a gateway and a source host, to manage errors and generate control messages.
The Internet Protocol (IP) is not designed to be absolutely reliable. The purpose of control messages (ICMP) is to provide feedback about problems in the communication environment, not to make IP reliable.
There are still no guarantees that a datagram will be delivered or a control message will be returned. Some datagrams may still be undelivered without any report of their loss. The higher-level protocols that use TCP/IP must implement their own reliability procedures if reliable communication is required.
IP is an unreliable protocol that has no mechanisms for error checking or error control. ICMP was designed to compensate for this IP deficiency. However, ICMP does not correct errors, simply reports them. ICMP uses the source IP address to send the error message to the source of the datagram. ICMP messages consist of error-reporting messages and query messages. The error-reporting messages report problems that a router or a destination host may encounter when it processes an IP packet. In addition to error reporting, ICMP can diagnose some network problems through the query messages. The query messages (in pairs) give a host or a network manager specific information from a router or another host.
2.1.7
Internet Group Management Protocol (IGMP)
The Internet Group Management Protocol (IGMP) is used to facilitate the simultaneous transmission of a message to a group of recipients. IGMP helps multicast routers to maintain a list of multicast addresses of groups. ‘Multicasting’ means sending of the same message to more than one receiver simultaneously. When the router receives a message with a destination address that matches one on the list, it forwards the message, converting the IP multicast address to a physical multicast address. To participate in IP on a local network, the host must inform local multicast routers. The local routers contact other multicast routers, passing on the membership information and establishing route.
IGMP has only two types of messages: report and query. The report message is sent from the host to the router. The query message is sent from the router to the host. A router