TCP/IP四层模型之IP网际协议学习笔记

IP协议提供的是不可靠、无连接的数据包传输服务。

  • 不可靠(unreliable):IP 协议不能保证数据报能成功地到达目的地,它仅提供传输服务。当发生某种错误时,IP 协议会丢弃该数据报。传输的可靠性全由上层协议来提供。

  • 无连接(connectionless):IP 协议对每个数据报的处理是相互独立的。这也说明, IP 数据报可以不按发送顺序接收。如果发送方向接收方发送了两个连续的数据报(先是 A,然后是 B),每个数据报可以选择不同的路线,因此 B 可能在 A 到达之前先到达。

如上图所示,普通的 IP 数据报的报头长度 20 字节(除非有选项字段),各个部分的作用:

  • 版本号 :4 位,用于标明 IP 版本号,0100 表示 IPv4,0110 表示 IPv6。目前常见的是 IPv4。

  • 首部长度 :4 位,表示 IP 报头长度,包括选项字段。

  • 服务类型(TOS) :分别有:最小时延、最大吞吐量、最高可靠性、最小花费 4 种服务,如下图所示。4 个标识位只能有一个被置为 1 :

3-1-2

  • 总长度 :16 位,报头长度加上数据部分长度,便是数据报的总长度。IP 数据报最长可达 65535 字节。

  • 标识 :16 位,接收方根据分片中的标识字段相不相同来判断这些分片是不是同一个数据报的分片,从而进行分片的重组。通常每发送一份报文它的值就会加 1。

  • 标志 :3 位,用于标识数据报是否分片。其中的第 2 位是不分段(DF)位。当 DF 位被设置为 1 时,则不对数据报进行分段处理;第 3 位是分段(MF)位,除了最后一个分段的 MF 位被设置为 0 外,其他的分段的 MF 位均设置为 1。

  • 偏移 :13 位,在接收方进行数据报重组时用来标识分片的顺序。

  • 生存时间(TTL) :8 位,用于设置数据报可以经过的最多的路由器个数。TTL 的初始值由源主机设置(通常为 32 或 64),每经过一个处理它的路由器,TTL 值减 1。如果一个数据报的 TTL 值被减至 0,它将被丢弃。

  • 协议 :8 位,用来标识是哪个协议向 IP 传送数据。ICMP 为 1,IGMP 为 2,TCP 为 6,UDP 为 17,GRE 为 47,ESP 为 50。

  • 首部校验和 :根据 IP 首部计算的校验和码。

  • 源 IP 和目的 IP :数据报头还会包含该数据报的发送方 IP 和接收方 IP。

  • 选项 :是数据报中的一个可变长、可选的信息,不常用,多用于安全、军事等领域。

A 类地址

  • A 类地址网络号范围:1.0.0.0---127.0.0.0

  • A 类 IP 地址范围:1.0.0.0---127.255.255.255

  • A 类 IP 的私有地址范围:10.0.0.0---10.255.255.255 (所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)

  • 127.X.X.X 是保留地址,用做循环测试用的

  • 因为主机号有 24 位,所以一个 A 类网络号可以容纳 2^24-2=16777214 个主机号

B 类地址

  • B 类地址网络号范围:128.0.0.0---191.255.0.0

  • B 类 IP 地址范围:128.0.0.0---191.255.255.255

  • B 类 IP 的私有地址范围:172.16.0.0---172.31.255.255

  • 169.254.X.X 是保留地址;191.255.255.255 是广播地址

  • 因为主机号有 16 位,所以一个 B 类网络号可以容纳 2^16-2=65534 个主机号

C 类地址

  • C 类地址网络号范围:192.0.0.0---223.255.255.0

  • C 类 IP 地址范围:192.0.0.0---223.255.255.255

  • C 类 IP 的私有地址范围:192.168.0.0---192.168.255.255

  • 因为主机号有 8 位,所以一个 C 类网络号可以容纳 2^8-2=254 个主机号

划分子网

IP = 网络号 + 子网号 + 主机号

将 IP 地址和子网掩码进行 逻辑与运算 ,结果就能区分网络号和子网号。

IP路由选择

IP 层在内存中有一个路由表(输入命令 route -n 可以查看路由表),当收到一份数据报并进行发送时,都要对该表进行搜索:

  • 1、搜索路由表,如果能找到和目的 IP 地址完全一致的主机,则将 IP 数据报发向该主机;

  • 2、搜索路由表,如果匹配主机失败,则匹配同子网的路由器(这需要子网掩码的协助)。如果找到路由器,则将 IP 该数据报发向该路由器;

  • 3、搜索路由表,如果匹配同子网路由器失败,则匹配同网络号路由器,如果找到路由器,则将该 IP 数据报发向该路由器;

  • 4、如果以上都失败了,就搜索默认路由,如果默认路由存在,则发报;

  • 6、如果都失败了,就丢掉这个包;

  • 7、接收到数据报的路由器再按照它自己的路由表继续转发,直到数据报被转发到目的主机;

  • 8、如果在转发过程中,IP 数据报的 TTL(生命周期)已经被减为 0,则该 IP 数据报就被抛弃。

NAT技术

学校机房的IP地址大多是192.168.X.X或者172.16.X.X这是C类和B类的私有地址,也就是内网IP。

一些专用网内部的一些主机本来已经分配到了内网IP地址,但又想和因特网上的主机相互通信时,NAT技术 把其内网IP地址转换成全球IP地址,与因特网相连,内网中的数台主机全都使用了同一个全球IP地址在上网,有效的实现了宽带共享。

IPv4已经分配完毕,全新的IPv6协议号称可以给地球上每一粒沙子分配一个地址,因为数量实在巨大,达到2^128位(IPv6地址长度为128位),但现在普及率好像不高,而且现阶段也只能时用这IPv6的外壳实际上还是使用IPv4的操作,如隧道。

猜你喜欢

转载自blog.csdn.net/baconc/article/details/81088434