Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 374 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
374
Dung lượng
3,13 MB
Nội dung
[...]... need to gradually introduce IPv6 to the Internet and hopefully make all nodes on the Internet IPv6- capable To do this, the IETF has carefully designed IPv6 migration to be seamless This is achieved by the following two key technologies: I I Dual stack Tunneling With these technologies, we can transition to IPv6 even though IPv4 and IPv6 are not compatible (IPv4-only devices and IPv6- only devices cannot... Figure 1.1 IPv4/v6 dual stack network, separated by IPv4-only Internet Figure 1.2 IPv6- over-IPv4 tunnel From a programmer’s point of view, tunneling is transparent: It can be viewed as a simple IPv6 point-to-point link Therefore, when writing IPv6- capable programs, you can ignore tunneling 1.3 UNIX Socket Programming This section briefly describes how UNIX systems abstract network accesses via socket... you can only connect to IPv6 destinations, not IPv4 destinations In an IPv4/v6 dual stack environment, FQDN can be resolved into multiple IPv4 addresses as well as multiple IPv6 addresses Clients should try to contact all of them, not just the IPv6 ones Second, IPv6 supports scoped IPv6 addresses, as discussed earlier With the use of gethostbyname2(3), we cannot handle scoped IPv6 addresses, since gethostbyname2(3)... Terminology and Portability unfortunately, there are some IPv6 APIs that are inherently insecure, so the book tries to avoid (and discourage) the use of such APIs This book does not try to cover every aspect of IPv6 technology—the book constrains itself to the IPv6- capable programming on top of socket API There are numerous reading materials on IPv6 technology, so readers are encouraged to read them... details, you may want to check other IPv6- related reading materials, such as those listed in the References 2 IPv6 Socket Programming 2.1 AF_INET6: The Address Family for IPv6 As we have seen in Chapter 1, on the socket API we use a constant AF_INET to identify IPv4 sockets Also, to identify IPv4 peers on the socket we have used C structure, called sockaddr_in To handle IPv6 on the socket API, we use a... an IPv6- over-IPv4 tunnel between X and Y An IPv6 packet from A to B will be routed as follows (see Figure 1.2): I I I I I The IPv6 packet will be transmitted from A to X, as is X will encapsulate the packet into an IPv4 packet The IPv4 packet will travel the IPv4 Internet, to Y Y will decapsulate the packet and recover the original IPv6 packet The packet will reach B Chapter 1 6 1.3 UNIX Socket Programming. .. technologies IPv6 was designed to allow better support for traffic engineering such as diffserv1 or RSVP2 We do not have single standard for traffic engineering yet; so the IPv6 base specification reserves a 24-bit space in the header field for those technologies and is able to adapt to coming standards better than IPv4 Multicast—Multicast support is mandatory in IPv6; it was optional in IPv4 The IPv6 base... devices, such as IPv4-capable game machines, may not be able to be upgraded to IPv6 Therefore, in this book, we would like to focus on the issues regarding the transition from IPv4-only Internet to IPv4/v6 dual stack Internet and the changes in socket API programming 1.2.1 Dual stack At least in the early stage of IPv6 deployment, IPv6- capable nodes are assumed to be IPv4-capable They are called “IPv4/v6... 3ffe:501:ffff::5678 IN A 10.1.1.1 Since we assume that IPv6 nodes will be able to use IPv4 as well, the Internet will be filled with IPv4/v6 dual stack nodes in the near future, and the use of IPv6 will become dominant 1.2.2 Tunneling Even when we have IPv4/v6 dual stack nodes at two locations (e.g., home and office), it may be possible that the intermediate network (ISPs) are not IPv6- ready yet To circumvent this situation,... multicast infrastructure), though Better support for ad hoc networking—Scoped addresses allow better support for ad hoc (or “zeroconf”) networking IPv6 supports anycast addresses, which can also contribute to service discoveries A Cure to Routing Table Growth The IPv4 backbone routing table size has been a big headache to ISPs and backbone operators The IPv6 addressing specification restricts the number of .