Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
11.04.2015
Размер:
22.9 Mб
Скачать

Appendix A Link-Layer Support for IPv6

399

For information on the fields in the IEEE 802.2 LLC and SNAP headers, see the section “Ethernet: IEEE 802.3 SNAP” in this appendix.

IPv6 over IPv4

IPv6-over-IPv4 tunneling is the encapsulation of IPv6 packets with an IPv4 header so that IPv6 packets can be sent over an IPv4 infrastructure. Figure A-13 shows IPv4 encapsulation of IPv6 packets.

IPv6 Packet

IPv6

Payload

 

 

 

 

IPv4

IPv6

Payload

 

 

 

IPv4 Packet

Figure A-13 IPv4 encapsulation of IPv6 packets

Within the IPv4 header is the following:

The IPv4 Protocol field is set to 41 to indicate an encapsulated IPv6 packet.

The Source and Destination fields are set to the IPv4 addresses of the tunnel endpoints. The tunnel endpoints are either manually configured as part of the tunnel interface or are automatically determined from the IPv4 address of the sending interface and the next-hop address for the destination address in the IPv6 header.

For IPv6-over-IPv4 tunneling, the IPv6 path MTU for the destination is typically 20 less than the IPv4 path MTU for the destination (to a minimum of 1280 bytes between the tunnel endpoints). However, if the IPv4 path MTU is not stored for each tunnel, there are instances in which the IPv4 packet will need to be fragmented at an intermediate router. In this case, the IPv6-over-IPv4 tunneled packet must be sent with the Don’t Fragment flag in the IPv4 header set to 0.

References

The following references were cited in this appendix:

RFC 1356 — “Multiprotocol Interconnect on X.25 and ISDN in the Packet Mode”

RFC 1661 — “The Point to Point Protocol (PPP)”

RFC 1662 — “PPP in HDLC-like Framing”

400Understanding IPv6, Second Edition

RFC 2464 — “Transmission of IPv6 Packets over Ethernet Networks”

RFC 2467 — “Transmission of IPv6 Packets over FDDI Networks”

RFC 2470 — “Transmission of IPv6 Packets over Token Ring Networks”

RFC 2491 — “IPv6 over Non-Broadcast Multiple Access (NBMA) Networks”

RFC 2492 — “IPv6 over ATM Networks”

RFC 2590 — “Transmission of IPv6 Packets over Frame Relay Networks Specification”

RFC 5072 — “IP Version 6 over PPP”

You can obtain these RFCs from the \RFCs_and_Drafts folder on the companion CD-ROM or from http://www.ietf.org/rfc.html.

Appendix B

Windows Sockets Changes for IPv6

This appendix includes information on changes that have been made to the Windows Sockets application programming interface (API) to support Internet Protocol version 6 (IPv6) applications, and it provides examples of how and when to use these changes in an application.

The following topics are described:

Added constants

Address data structures

Wildcard addresses

Core sockets functions

Name-to-address translation

Address-to-name translation

Address conversion functions

Socket options

New macros

Changes to Windows Sockets for IPv6 are defined in RFCs 3493 and 3542.

Additional details about how to modify applications so that they can use both IPv4 and IPv6 can be found in the “IPv6 Guide for Windows Sockets Applications” article at http://go. microsoft.com/fwlink/?LinkID=87735.

For additional information, see the “Developer Resources” section of the Microsoft IPv6 Web site at http://www.microsoft.com/ipv6.

Added Constants

A new address family name for IPv6 is required so that the address structure can be correctly identified and parsed. Similarly, a new protocol family name (with the same value as the address family name) must be defined so that a socket is created using the appropriate protocol. The address family name and protocol family name constants for IPv6 are the following:

AF_INET6

PF_INET6

401

Соседние файлы в папке Lecture 2_10