IPv6地址的用法

一、IPv6表示法

IPv6于上世纪90年代提出,当时提出的目的是为了扩展极度匮乏的IPv4地址。

然而到现在二十多年的发展历程中,虽然一直都在强调要推广它的使用,但至今依旧是不温不火的状态。

IPv6地址有128位,是IPv4长度的4倍,IPv4一般使用点来隔开每一个字节,如192.168.10.1,这种方法俗称点分式表示法。

IPv6则使用冒号来隔开表示,每16个字节一段,形如ffff:0011:2222:0033:4444:0055:6666:ff01

1.1 简化方法

  1. 块中的前导0可以省略不写,例如上面的地址可以写成ffff:11:2222:33:4444:55:6666
  2. 全零的块可以省略,用符号::代替。例如ffff:0000:0000:0000:0000:0000:0000:1111可以写成ffff::1111
  3. IPv6可以嵌入IPv4地址,紧接着IPv4地址的块的值为ffff,其余使用点分式写法。例如::ffff:192.168.10.1可表示192.168.10.1

为了在URL中区别端口号,在URL中使用IPv6地址可要用中括号[]括起来:

http://[2001::ff01]:8080/index.html

二、IPv6使用

2.1 windows设置IPv6

image

2.2 linux设置IPv6

linux配置ipv6:

ifconfig eth0 inet6 add abcd::ff03/120

2.3 PING6

linux平台可以使用ping6命令来ping IPv6地址:

ifconfig命令

一、基本用法

ifconfig网卡操作命令,可以用来启动、设置和修改网络配置。

直接使用命令可以查看当前主机所有网卡的信息:

[ma@localhost ~]$ ifconfig 
eth0      Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.123.58  Bcast:192.168.123.255  Mask:255.255.255.0
          inet6 addr: abcd::ff03/120 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:919 errors:0 dropped:0 overruns:0 frame:0
          TX packets:419 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:78144 (76.3 KiB)  TX bytes:47656 (46.5 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

其中,eth0是本地网卡信息,lo是本地环回地址,可以直接在命令后面加网卡名查看指定网卡的信息:

[ma@localhost ~]$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.123.58  Bcast:192.168.123.255  Mask:255.255.255.0
          inet6 addr: abcd::ff03/120 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:949 errors:0 dropped:0 overruns:0 frame:0
          TX packets:439 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:80840 (78.9 KiB)  TX bytes:50696 (49.5 KiB)

二、启动/停止网卡

启动和停止网卡的命令为:

ifconfig 网卡名 up # 启动网卡
ifconfig 网卡名 down # 关闭网卡

例如启动eth0,则输入命令ifconfig eth0 up即可。

三、设置网卡的ip地址

如果想要给网卡eth0设置ip地址,可以通过以下方式来实现:

ifconfig eth0 192.168.10.2
ifconfig eth0 192.168.10.2/24 # ip地址+掩码位数
ifconfig eth0 192.168.10.2 netmask 255.255.255.0 # ip地址+子网地址
ifconfig eth0 192.168.10.2/24 broadcast 192.168.10.255 # 指定广播地址

四、多网卡

和windows以下,linux环境下的网卡也可以设置多个ip地址,如需给网卡eth0添加额外的地址,可以通过以下方式来完成:

ifconfig eth0:1 192.168.10.1
ifconfig eth0:2 192.168.10.2

此时,使用ifcofnig即可看到多块网卡:

eth0      Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.123.58  Bcast:192.168.123.255  Mask:255.255.255.0
          inet6 addr: abcd::ff03/120 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1199 errors:0 dropped:0 overruns:0 frame:0
          TX packets:570 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:102345 (99.9 KiB)  TX bytes:67010 (65.4 KiB)

eth0:1    Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:2    Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.10.2  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

五、ipv6地址

如果想要给网卡设定ipv6地址,则需通过指定inet6来完成。

添加一个ipv6地址:

ifconfig eth0:1 inet6 add abcd::ff10
ifconfig eth0:2 inet6 add abcd::ff11

查看地址信息:

> ifconfig eth0:1 
eth0:1    Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

发现并没有ipv6地址,实际上,ipv6地址信息显示在主网卡上面,要查询eth0才能看到:

> ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 20:89:84:49:EF:46  
          inet addr:192.168.123.58  Bcast:192.168.123.255  Mask:255.255.255.0
          inet6 addr: abcd::ff11/0 Scope:Global
          inet6 addr: abcd::ff10/0 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1492 errors:0 dropped:0 overruns:0 frame:0
          TX packets:743 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:128419 (125.4 KiB)  TX bytes:89202 (87.1 KiB)

删除ipv6地址:

ifconfig eth0 inet6 del abcd::ff10/0
ifconfig eth0 inet6 del abcd::ff11/0

STL中的string类有两个方法size()length()用来返回字符串的长度。 两者在实现上没有区别:

> sed -n 907,918p /usr/include/c++/7/bits/basic_string.h 
      // Capacity:
      ///  Returns the number of characters in the string, not including any
      ///  null-termination.
      size_type
      size() const _GLIBCXX_NOEXCEPT
      { return _M_string_length; }

      ///  Returns the number of characters in the string, not including any
      ///  null-termination.
      size_type
      length() const _GLIBCXX_NOEXCEPT
      { return _M_string_length; }

MTU: Maximum transmission unit,最大传输单元,IP报文段的最大大小。

MSS: Maximum segment size,最大的帧大小,是TCP数据段的最大大小。

其中MTU工作于数据链路层,取决于网络环境。而MSS只是TCP负载部分的大小,它受限于MTU。要注意的是MSS描述的只是TCP负载部分的长度,不包括头部。

计算公式:

$MSS = MTU - IPHeader - TCPHeader $

大部分情况下,MTU的值是1500,IP头部和TCP头部各占20字节,所以MSS的长度最大也就是1460字节。如果TCP负载长度超出这个值,IP数据报将被分段发送。

打开安装目录下Youdao\YoudaoNote\theme\build.xml文件,首先搜索关键字PanelAd,在大约312行左右的位置:

<PanelAd type="adpanel" css="public" ass="mainform panelclient PanelAd">
    <panelTopLine type="panel" css="AdPanel" Dockstyle="top" Bounds="0,0,0,1"/>
    <MiddlePhotoPanel type="panel" css="public" DockStyle="top" Bounds="0,0,250,160" Margin="0,13,0,13">
        <AdPhoto type="photo" css="Ad AdPhoto" AnchorStyle="center" AutoZoom="ZoomEqual" Bounds="0,0,0,130">
            <AdClose type="button" css="adclear" AnchorStyle="topright" Bounds="-1,1,24,24" />
            <AdText type="label" css="AdText" AnchorStyle="bottomleft" Bounds="6,-6,25,10"/>
        </AdPhoto>
    </MiddlePhotoPanel>
</PanelAd>

- 阅读剩余部分 -

一、概述

html中的标签可以分为两种类型:块标签和行标签。两者最明显的区别是块标签会重启一行,而行标签不会。

常见的块标签有:p, h1, ul, div等,常见的行标签有strong, a, font等。

1.1 块标签

对于一个块标签而言,它会新起一行:

<body>
<h1>HelloWorld</h1>
<p>helloworldhelloworld</p>
</body>

- 阅读剩余部分 -