Internet是今天使用最广泛的网络。因特网中的主要协议是TCP和IP,所以Internet协议也叫TCP/IP协议簇。这些协议可划分为4个层次(进程/应用层、主机-主机层、网络互连层、网络访问层)。 与OSI/RM分层的原则不同,TCP/IP协议簇允许同层的协议实体间互相调用,从而完成复杂的控制功能,还允许上层过程直接调用不相邻的下层过程,甚至在有些高层协议中控制信息和数据分别传输,而不是共享同一个协议数据单元。
IP协议数据单元操作
- 版本:长度为4位,标识数据报的IP版本号,值为二进制0100,则表示IPv4.
- 头部长度(Internet Header Length,IHL):长度为4位。该字段表示数的单位是32位,即4字节。常用的值是5,也是可取的最小值,表示报头为20字节;可取的最大值是15,表示报头为60字节。
- 区分服务(Type of Service,ToS):长度为8位,指定特殊数据处理方式。该字段分为两部分:优先权和ToS。后来该字段被IETF改名为区分服务(Differentiated Services,DS)。该字段的前6位构成了区分代码点(DiffServ Code Point,DSCP)和显式拥塞通知(Explicit Congestion Notification,ECN)字段,DSCP用于定义64个不同服务类别,而ECN用于通知拥塞。
- 总长度(Total Length):该字段长度为16位,单位是字节,指的是首部加上数据之和的长度,最大长度为65535个字节。由于MTU限制,所以超过1500字节的IP数据报就要分段,而总长度是所有分片报文的长度和。
- 标识符(Identifier):该字段长度为3位,第1为不使用;第2位是不分段(DF)位:值为1时表示不能分片,为0表示允许分片;第3位是更多分片(MF)位:值为1表示之后还有分片,为0表示最后一个分片。
- 分片偏移字段(Fragment Offset):该字段长度为13位,单位为8字节,即每个分片长度是8字节的整数倍。该字段是标识所分片的分组,分片之后在原始数据中的相对位置。
- 生存时间(Time to Live,TTL):该字段长度为8位,用来设置数据报最多可以经过的路由器数,由发送数据的源主机设置,通常为16、32、64、128个。每经过一个路由器,其值减1,直到0时该数据报被丢弃。
- 协议字段(Protocol):该字段长度为8位,指明IP层所封装的上层协议类型,如ICMP(1)、IGMP(2)、TCP(6)、UDP(17)等。
- 头部校验(Header Checksum):该字段长度为16位,是根据IP头部计算得到的校验和码。计算方法没有采用复杂的CRC编码,而是对头部中每个16比特进行二进制反码求和(与ICMP、IGMP、TCP、UDP不同,IP报头不对IP报头后面的数据进行校验)。
- 源地址、目标地址字段(Source and Destination Address):该字段长度均为32位,用来标明发送IP数据报文的源主机地址和接收IP报文的目标主机地址,都是IP地址。
- 可选字段(Options):该字段长度可变,从1字节到40字节不等,同来定义一些任选项,如记录路径、时间戳等。这些选项很少被使用,并且不是所有主机和路由器都支持这些选项。可选项字段的长度必须是32位的整数倍,如果不足,必须填充0以达到此长度要求。
IP协议的主要操作
- 数据报生存期
- 分段和重装配
- 差错控制和流控
IPv4地址
IP网络地址采用 **“网络*主机”**的形式,其中网络部分是网络的地址编码,主机部分是网络中一个主机的地址编码。 IP地址使用32位的二进制来表示,也就是4个字节。但二进制表示比较难以操作与记忆,更多的是采用 点分十进制表示法。
IP地址分类
IP地址分为5类。A、B、C类地址是常用地址。 IP地址的编码规定全0表示本地地址,即本地网络或本地主机;全1表示广播地址,任何网络都能接收。所以每一个网络建立以后需要除去两个地址(主机地址为全0或全1的地址)。
- A类地址
IP地址写成二进制形式时,A类地址的第一位总是0。A类地址的第1字节为网络地址,其他3个字节为主机地址。
- 私有地址:范围为10.0.0.0~10.255.255.255,网络号为10;
- 保留地址:127.X.X.X是保留地址。127.X.X.X用做环回地址,环回地址向自己发送流量。发送到该地址的数据不会离开设备到网络中,而是直接回送到本主机。该地址既可以作为目标地址,又可以作为源地址,是一个虚IP地址。
- B类地址
IP地址写成二进制形式时,B类地址的前两位总是10。B类地址的前两个字节为网络地址,后两个字节为主机地址。
- 私有地址:范围为172.16.0.0~175.31.255.255;
- 保留地址:169.254.X.X是保留地址。如果PC机上的IP地址设置自动获取,而PC机又没有又没有找到相应的DHCP服务,那么最后PC机可能得到保留地址中的一个IP。
- C类地址
IP地址写成二进制形式时,C类地址的前三位固定为110。C类地址前三个字节为网络地址,第4个字节为主机地址。
- 私有地址:范围为192.168.0.0~192.168.255.255;
- D类地址
IP地址写成二进制形式时,D类地址的前四位固定为1110。D类地址不分网络地址和主机地址,该类地址用做组播。 - E类地址
IP地址写成二进制形式时,E类地址的前四位固定为11110。E类地址不分网络地址和主机地址。
地址类型 | 地址范围 | 网络号长度 | 主机号长度 | 网络地址数 | 主机地址数 |
---|
A类地址 | 1.0.0.0~127.255.255.255<br>(01.00.00.00~7F.FF.FF.FF) | 8位 | 24位 | 126个 | 1600万个 | B类地址 | 128.0.0.0~191.255.255.255<br>(80.00.00.00~BF.FF.FF.FF) | 16位 | 16位 | 16382个 | 64000个 | C类地址 | 192.0.0.0~223.255.255.255<br>(C0.00.00.00~DF.FF.FF.FF) | 24位 | 8位 | 200万个 | 254个 | D类地址 | 224.0.0.0~239.255.255.255<br>(E0.00.00.00~EF.FF.FF.FF) | | | 不分网络地址 | 不分主机地址 | E类地址 | 240.0.0.0~255.255.255.255<br>(F0.00.00.00~FF.FF.FF.FF) | | | 不分网络地址 | 不分主机地址 |
几类特殊的IP地址
地址名称 | 地址格式 | 特点 | 可否作为源地址 | 可否作为目标地址 |
---|
有限广播 | 255.255.255.255(网络字段和主机字段全1) | 不被路由,会被送到相同物理网络段上的所有主机 | N | Y | 直接广播 | 主机字段全1,如192.168.。255 | 广播会被路由,并会发送到专门网络上的每台主机 | N | Y | 网络地址 | 主机字段全0,如192.168.1.0 | 表示一个子网 | N | N | 全0地址 | 0.0.0.0 | 代表任意主机 | Y | N | 环回地址 | 127.X.X.X | 向自己发送数据 | Y | Y |
网络规划
子网掩码
子网掩码用于区分网络地址、主机地址、广播地址。子网掩码的形式是网络号部分全1,主机号部分全0。掩码也能像IPv4一样使用点分十进制表示法书写。掩码还能使用“从左到右连续1的总数”形式表示,这种描述方法叫做建网比特数。
- 主机数=可用主机数+2
- A类地址的默认掩码是255.0.0.0;B类地址的默认掩码是255.255.0.0;C类地址的默认掩码是255.255.255.0;
地址结构
早期IP地址结构为两级地址:
I
P
地
址
=
<
网
络
号
>
,
<
主
机
号
>
IP地址={<网络号>,<主机号>}
IP地址=<网络号>,<主机号> RFC950文档发布后增加一个子网号字段,变成三级网络地址结构:
I
P
地
址
=
<
网
络
号
>
,
<
子
网
号
>
,
<
主
机
号
>
IP地址={<网络号>,<子网号>,<主机号>}
IP地址=<网络号>,<子网号>,<主机号>
VLSM和CIDR
- 可变长子网掩码(Variable Length Subnet Masking,VLSM)
VLSM指对部分子网进行再次划分,允许一个组织在同一个网络地址空间中使用多个不同的子网掩码。VLSM使寻址效率更高,IP地址利用率也更高。该技术可以理解为把大网分解成小网。 - 无类别域间路由(Classless Inter-Domain Routing,CIDR)
在CIDR中,路由器使用前缀来描述有多个位是网络位。剩下的位则是主机位。CIDR显著提高了IPv4的可扩展性和效率,通过使用路由聚合(或称超网)可有效地减小路由表的大小,节省路由器的内存空间,提高路由器的查找效率。该技术可以理解为把小网合并成大网。
|