IP协议详解

目录

前言:

IP协议

提出问题

解决方案

地址管理

子网掩码

路由选择

小结:


前言:

    IP协议作为网络层知名协议。当数据经过传输层使用TCP或者UDP对数据进行封装,然后当数据到达网络层,基于TCP或UDP数据包继续进行封装。逐级向下封装直到物理层,通过网卡把数据发送出去。

IP协议

解释:

1)4位版本号:此时的取值只有两个(4,6)IPV4 ,IPV6。

2)4位首部长度:描述了IP报头有多长,单位4字节。报头中的选项部分是变长,可有可无的。

3)8位服务类型

    说是8位其实只有4位有效。这4位中只有一位可以是1其他都是0,4位就表示IP协议的4种工作模式。(最小延时,最大吞吐量,最高可靠性,最小成本)

    最小延时:数据发送的最快(耗时最短)。

    最大吞吐量:单位时间内可发送的数据最多。

    最高可靠性:丢包概率最小。

    最小成本:数据发送需要的成本最小。

4)16位总长度

    描述了IP数据报的长度(头 + 载荷)。这个长度 - IP报头长度 = 完整TCP/UDP数据报长度。16位最大只有64k,那么IP最大只能发送64k的数据吗?

    如果IP数据报超过了64k,就会在网络层针对数据进行拆分。把一个数据拆成多个小于64k的数据报,再分别发送。接收方在网络层针对载荷进行拼接。

5)16位标识:同一个数据拆成多个包,标识都是一样的。(5,6,7都是辅助拆包/组包提供的)

6)3位标志:拆包的结束标志。

7)13位片偏移:标识了多个包的先后顺序。

8)8位生存时间:一个数据在网络上能够传输的最大时间(单位:次数)。一个数据构造出来会有一个TTL初值,每经过一个路由器转发 TTL - 1。如果TTL为0,则直接丢弃。

9)8位协议:描述了载荷部分属于哪一个协议(TCP/UDP)。

10)16位首部校验和:此处只需要对首部进行校验,载荷已经在传输层校验过了。如果校验失败直接丢弃,IP不负责重传。

11)32位源IP地址,32位目的IP地址:一次通信中的五元组之二。这里的IP地址是32位的整数,但我们平时看到的是一串数字。使用 “点分十进制” 的方式转换(每个字节为一组,用十进制表示,共4个字节)。

提出问题:

    32位只能表示32亿9千万个数字。对于全球可以上网的设备可以说是非常小的,就会造成IP地址不够用。

解决方案

1)动态分配IP地址

    动态分配IP地址(可以省下一批ip)。电脑联网就动态的分配ip地址,那么同一时间关机或者没联网的设备就不需要ip地址了。

2)NAT网络地址转换

    NAT网络地址转换,本质是使用一个IP代表一批设备,使用端口号区分。

在NAT背景下将IP地址分为两类:

    1.内网IP(私有IP),10.*;172.16.* -- 172.31.*;192.168.*

    2.外网IP(公网IP),剩下的都是公网IP。

注意:

    NAT要求公网IP必须是唯一的,内网IP可以在不同局域网重复出现。

    如果某个内网设备想要访问公网设备,就需要通过NAT(路由器)将内网IP转换为公网IP,完成访问。公网设备无法直接访问内网设备。不同局域网的内网设备无法直接访问。

注意:

    服务器接收的数据,所看到的源IP都是运营商路由器对内网设备的IP的转换。

    服务器响应数据,会先发给运营商路由器,然后根据设备的不同端口号来区分,要发给哪个设备。

    因此服务器只是拿到路由器的IP,不能拿到设备的内网IP。如果我的设备不主动和服务联系,那么服务器就不清楚我的端口,就无法主动找到我的设备。

3)IPV6

    IPV6使用了16个字节表示IP地址(这个数字让全世界每一粒沙子都有IP也完全够用),从根本上解决了IP地址不够用的问题。

地址管理

    网络号:标识网段,保证相互连接的两个网段具有不同的标识。(通俗说就是标识两个不同的局域网)

    主机号:标识主机,同一网段内所有主机都有相同的网段号,但必须有不同的主机号。

注意:

    内网IP地址由网络号和主机号组成。网络号用来区分不同的局域网(相邻的局域网网络号必须不同),主机号用来区分同一个局域网下不同的主机。

    路由器都是有两个IP,分别属于不同的网段,用来连接两个局域网。

子网掩码

    用来区分IP地址哪部分是网络号,哪部分是主机号。

    例如:255.255.255.0。二进制为1的部分描述了多少位是网络号,0的部分就是主机号。

路由选择

    路由选择就是规划网络传输的路径。

核心机制:

    问路的方式。每个路由器都会保存周围的设备(路由表),每经过一个路由器就会询问接下来怎么走,路由器就会查找路由表。如果有匹配的就按照路由器提供的走。如果没有匹配的,路由器会默认提供一个路径,大体方向都是正确的。

小结:

    理解网络传输的过程,还有一些历史背景,会使我们对于网络有更深层次的认识。

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小太空人w

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值