网络协议学习——IP协议

本文详细探讨了IP协议的工作原理,包括报头和有效载荷的分离、协议选择、IP地址分配与局域网的作用,以及数据包分片的原因和处理。还介绍了NAT技术、IP地址划分策略如CDIR和IPv6,以及IP地址分配不足的解决方案。
摘要由CSDN通过智能技术生成

目录

​编辑

一,IP协议

二,协议字段

三,IP层传输数据的问题

1,如何将报头和有效载荷分离

2,向上协议选择

3,局域网

四,IP问题

1,IP的组成

2,IP的划分

3,特殊IP

4,IP分配不足的问题解决方案

五,数据包分片问题

一,IP协议

IP协议是网络互联协议,是TCP/IP四层结构里的网络层IP协议。这个协议的作用是确保数据数据能够可靠的到达目标主机。

二,协议字段

四位版本号:该字段填入的就是IP报文的协议字段。例如ipv4和ipv6,用于标识协议版本。

四位首部长度:表示报头的长度。

八位服务类型(TOS):用于标识IP数据包的服务要求,前两位表示服务优先级,中间三位表示一些特定的服务,最后三位是保留字段。

十六位总长度:表示有效载荷和数据报加起来的长度。

八位生存时间:IP报文能在网络当中生存的最大跳数,当这个数减少为0时这个数据报便是一个丢弃报文消散在网络当中。

三,IP层传输数据的问题

1,如何将报头和有效载荷分离

采用的分离方式是定长报头+自描述字段。IP报头的长度是20个字节的,当我们读取数据时会先读取这二十个字节得数据。这二十个数据里面便包含了表示报头长度得四位首部长度,还有表示整个数据包长度得十六位总长度。这两个字段相减便是有效载荷的长度。

2,向上协议选择

要进行协议选择便要通过八位协议号中的数据来进行选择。

3,局域网

出现

局域网的出现的主要原因便是IP地址不足导致的。我们都知道IP地址是一个32位的数字,所以IP地址的范围便是[0,2^32-1],随着全球入网设备的不断增多IP地址有耗尽的风险。因为这个原因,我们便要将网络划分为一个个的小网络。这样的小网络便被称为一个局域网。

作用

为什么局域网出现后便可以缓解IP地址耗尽的风险呢?因为不同的局域网当中的IP地址是可以相同的。比如说我有一个IP:12.22.99.88。那这个IP能够出现在A局域网当中,也能出现在B局域网当中。

公网IP和私网IP

公网IP便是在公网通信当中使用到的IP,私网IP便是在局域网当中使用的IP。这里有一点要注意,私网IP说不能出现在公网当中的,因为可能造成IP重复的情况发生

不同局域网之间的主机如何通信

不同的局域网之间得主机的通信是靠路由来实现的。这就好比你要到一个陌生的城市的某个地点去旅游。你不知道路怎么走,这个时候咋办呢?只有问人了。在这种情况下,你就相当于一个数据包,而这个路人便是一个路由器,这个路人在思考的过程便是一个查找路由表的过程。这个路人给出的答案会有两种,一种是知道,所以你便可以靠着这个路人的指引到达下一跳。第二种便是不知道,这个时候他会指向一个默认的地点,你也会被发到这个默认的路由器上。

所以不同局域网中的主机是通过路由器来找到彼此的

过程

1,目标ip与源IP到达路由器。

2,进行NAT转换,这个源IP被转化为公网IP。

3,目标IP与上这个路由器的子网掩码,并查找路由表。

4,找到了便将这个数据发送到下一跳,如果找不到便通过Iface发送到下一个默认路由器。

在Linux和Windows系统当中,我们可以分别通过route 和 route PRINT来查看路由表:

 

参数

  • Destination:代表的是目的网络地址。

  • Gateway:代表的是下一跳地址。

  • Genmask:代表的是子网掩码。

  • Flags:U表示正在使用,G就表示默认网关(路由器)。

  • Iface:代表的是发送接口。

NAT技术

我们在彼此通信时,是通过私有IP来找到彼此吗?并不是!因为私网IP是用在自己的局域网当中的,所以在这里便会有一个IP地址转换的过程。NAT技术转换的是什么ip呢?是私网ip和公网ip。并且这个转换技术被称为NAT技术。

WAN口IP&&LAN口IP

在路由器上一般会有两个端口,一个叫做LAN口IP一个叫做WAN口IP。这两个端口,LAN连接的是局域网,WAN连接的是公网。在进行私网IP和公网IP交换时交换的便是这两个端口的IP。

四,IP问题

1,IP的组成

IP由两部分组成:网络号+主机号

通过网络号便能找到一个局域网,通过主机号便能找到这个局域网当中的唯一一台主机。

2,IP的划分

按照地址划分

在一开始,IP的按照地址的方式划分:

之后大部分人在申请IP时都在申请B类IP,于是便导致A类IP被大量的浪费。在IPV4IP有限的情况下,还要被大量浪费?于是,这种划分方式就被逐渐淘汰了。

CDIR(无类别域间路由)

CDIR的划分方式便是引入子网掩码比如以下例子:

  • 例子:192.168.1.0/24

    • /前面表示网络号。

    • 24表示这个IP的前面24位代表网络号,后面八位表示这个局域网的主机号

这种划分方式能够灵活的分配IP地址,能够减小路由表的大小,减小路由负担。

IPV6

前面的方式都是在缓解IPV4 类型的IP耗尽问题,而IPV6便是在从根源上解决这个问题。IPV6便是让IP的变得更长(128位),所以这样就能让IP资源变得几乎无限。

3,特殊IP

  • 特殊IP

    • 网络地址:除了网络号,后面的数据都是0

    • 广播地址:除了网络号,后面的数据都是1

    • 本地环回:127.0.0.1

4,IP分配不足的问题解决方案

  • IP划分不足问题解决方案

    • 动态划分

      • 只给在使用网络的主机划分IP地址,当你不联网时你的主机便没有分配IP地址。

    • NAT划分

      • 通过私有IP和公网IP的转换让不同的局域网有相同的IP存在。

    • IPV6

      • 16字节,128位的IP地址。

 

五,数据包分片问题

  • 分片与组装

    • 分片

      • 为什么要分片?

        • 数据的传输是由数据链路层完成的,数据链路层有一个MTU(最大传输单元)。当数据(包含报头)超过了这个大小时便要分片,也就是将数据变小后再传输。数据包的大小是由TCP协议来控制的。

      • 如何分片?

      • 13位偏移:表示当前分片相对于数据开始段的偏移量。

        • 3位标志

          • 第一位:保留。

          • 第二位:1表示禁止分片,0表示允许分片。

          • 第三位:表示更多分片。

        • 16位标识字段:标识分片id,同一个报文的不同分片的id是相同的。

      • 是否建议切片:不建议,因为切片增大了数据包丢失的风险。丢包TCP就要重发一整个报文(切片前的)。

    • 组装

      • 根据上面的字段信息来组装接片。

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值