ipv6技術介紹

2021-05-24 10:22:53 字數 3064 閱讀 9904

主要由於ipv4擁有位址空間資源短缺的侷限性,ipv6將會成為新一代的網路應用技術規範.所以下面介紹一下ipv6

一、ipv6

位址結構定義 }

ipv6

有128

位的位址結構。

例: fffe:ffee:ff22:12:7e:89:e3:10

ff01:0:0:0:0:0:0:101

等價於ff01::101

}2.子網掩碼表示的不同

ipv6

更習慣用掩碼的長度來表示子網掩碼。

例:輸入

ifconfig

命令會看到這樣的位址表示方式:

fffe:ffee:ff22:12:7e:89:e3:10/64

64 就是子網掩碼的長度,這是為了表示的方便。相當於

ffff: ffff: ffff: ffff::0

}3.ipv6

位址分類

a.ipv6

位址分為單播位址、泛播位址、多播位址。和

ipv4

相比,取消了廣播位址型別,增加了泛播位址類

型;沒有了位址劃分

.

b. 多播位址格式字首為

1111 1111

, c.

}4.ipv6

中特殊的位址

a. 未指定的

ipv6

位址

格式0::0

b.ipv6

環迴位址

格式::1

。此位址與

ipv4

中的127.0.0.1

類似

所有格式字首不是多播格式字首(

1111 1111

)的ipv6

位址都是

ipv6

單播格式(泛播和單播格式相同)

連續出現的0可用

::代替,但

::只能出現一次

1.位址格式

二、ipv6

常用命令

1.linux#ifconfig

inte***ce

inet6 add

ipv6-address/prefixlength

使用ifconfig命令給指定介面分配乙個靜態ipv6位址。inet6 add引數指定新增乙個ipv6位址,

ipv6-address

是分配給介面的靜態位址,

prefixlength

引數定義字首的長度

2.linux#ip -f inet6 addr add

ipv6-address/prefixlength

dev i

nte***ce

使用ip命令給指定介面分配乙個靜態ipv6位址。-f inet6 addr add引數指定新增ipv6位址,ipv6-

address是分配給介面ipv6位址,prefixlength引數定義字首的長度,dev引數標識給定的介面

inte***ce。這個命令和前面的命令提供同樣的結果

給介面eth0分配乙個字首長度為64位元的靜態ipv6位址fec0:0:0:0::1

3.linux上新增預設ipv6路由的route和ip命令

linux#route -a inet6 add ::/0 gw

gateway

[dev

inte***ce]

linux#ip -f inet6 route add ::/0 via

gateway

[dev

inte***ce]

使用ipconfig的例項:

linux#route -a inet6 add ::/0 gw fe80::260:3eff:fe47:1533 dev eth0

使用ip的例項:

linux#ip -f inet6 route add ::/0 gw fe80::260:3eff:fe47:1533 dev eth0

使用ifconfig的例項:

linux#ifconfig eth0 inet6 add fec0:0:0:0:1::1/64

使用ip的例項:

linux#ip –f inet6 addr add fec0:0:0:1::1/64 dev eth0

三、開發中的注意事項

1.socket程式設計

增加標頭檔案

struct sockaddr ;    

struct sockaddr_in6 ;    

struct in6_addr ;

例子:struct sockaddr_in6 local;

local.sin6_family = af_inet6;

local.sin6_addr = in6addr_any;(相當於ipv4的inaddr_any);

local.sin6_port = port;

skt=socket( af_inet6, sock_dgram, 0 );

bind( skt,(struct sockaddr *)&local, sizeof(local);

connect( skt, (struct sockaddr *)& local, sizeof(local) );

轉換字串到網路位址

int inet_pton(int af, const char *src, void *dst); 第乙個引數af是位址族,轉換後存在dst中

例:

struct in6_addr  m_ip;

inet_pton(af_inet6,」ff::1」,  &m_ip);

轉換網路位址成字串  const char *inet_ntop(int af, const void *src, char *dst,        socklen_t cnt); 這個函式轉換和上面的只是多了乙個引數socklen_t cnt,他是所指向快取區dst的大小,避免溢位

IPv6技術 什麼是IPv6

ipv6技術 1 引言 ipv4位址即將耗盡,因此需要移轉至ipv6的討論,過去數年來一直不曾中斷。ipv4和ipv6在報文結構 報文字段意義以及位址配置諸多方面都有顯著的不同,這給從ipv4到ipv6過渡時期internet的運作帶來了極大的困難。當前接入網技術上幾乎所有的應用都是構建在ipv4上...

IPv6協議介紹

ipv6最為顯著的改變是ip位址的改變,它提供了128位元的位址,相比於傳統的ipv4的32位元位址,理論上的位址空間擴大了2 96倍。除了龐大的位址空間外,ipv6支援分級位址模式 高效ip包頭 服務質量 主機位址自動配置 認證和加密等多項技術,解決傳統ipv4網路實際執行中遇到的問題。2012年...

IPv6技術簡要解析

ipv6是internet protocol version 6的縮寫,其中internet protocol譯為 網際網路協議 ipv6是ietf 網際網路工程任務組,internet engineering task force 設計的用於替代現行版本ip協議 ipv4 的下一代ip協議。目前i...