【网络】-IP协议

IP协议是互联网的关键协议,负责数据包的传输、路由选择和地址分配。它包括IPv4和IPv6两个版本,其中IPv6提供更大的地址空间。IP协议报头包含了版本、头部长度、服务类型、总长度等信息。地址管理涉及动态IP分配、NAT机制和IPv6的使用。路由选择通过路由表实现数据包的逐步转发。IP分片解决MTU限制问题,确保大数据包的传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇学习网络层中的重点协议-IP协议


IP协议概念

IP协议概念

IP(Internet Protocol)协议是网络层的重点协议
IP协议是指互联网中用于将数据包从源主机传输到目标主机的一种协议。它定义了数据包的格式以及数据在网络中的传输方式。
IP协议有两个版本:IPv4和IPv6。IPv4是目前广泛使用的版本,它使用32位的地址来标识互联网上的每个设备。IPv6是下一代IP协议,采用128位地址,提供了更多的地址空间,以适应不断增长的互联网连接设备数量。

IP协议的主要功能包括:

  1. 地址分配和唯一标识:IP协议为每个网络设备分配一个唯一的IP地址,以便在互联网上进行识别和通信。

  2. 路由选择:IP协议通过路由选择算法,确定数据包在网络中的传输路径,使得数据能够跨越多个网络进行传递。

  3. 分组和封装:数据在传输之前被划分为多个数据包(也称为IP数据报),每个数据包包含有关源和目标地址的信息,并通过封装成IP数据报的方式进行传输。

  4. 网络互连:IP协议实现了不同类型网络之间的互连,例如局域网(LAN)、广域网(WAN)和因特网(Internet)。

总结来说,IP协议是网络层的重要协议,它负责将数据包从源主机发送到目标主机,并确保数据在互联网中正确路由和传递。

IP协议报头格式

在这里插入图片描述

  1. 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。
  2. 4位头部长度(header length):IP头部的长度是多少个32bit,也就是 length * 4 的字节数。4bit表示最大的数字是15,因此IP头部最大长度是60字节。
  3. 8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于ssh/telnet这样的应用程序,最小延时比较重要;对于ftp这样的程序,最大吞吐量比较重要。
  4. 16位总长度(total length):IP数据报整体占多少个字节。
  5. 16位标识(id):唯一的标识主机发送的报文。如果IP报文在数据链路层被分片了,那么每一个片里面的这个id都是相同的。
  6. 3位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表示"更多分片",如果分片了的话,最后一个分片置为1,其他是0。类似于一个结束标记。
  7. 13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移。其实就是在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。
  8. 8位生存时间(Time To Live,TTL):数据报到达目的地的最大报文跳数。一般是64。每次经过一个路由,TTL -= 1,一直减到0还没到达,那么就丢弃了。这个字段主要是用来防止出现路由循环。
  9. 8位协议:表示上层协议的类型。
  10. 16位头部校验和:使用CRC进行校验,来鉴别头部是否损坏。
  11. 32位源地址和32位目标地址:表示发送端和接收端。
  12. 选项字段(不定长,最多40字节)

IP协议的作用

网络层中的IP协议主要有两个作用

地址管理

IP协议引入了一个IP地址,本质上是一个32位的整数,为了方便表示,通常会把32位的整数,转换成点分十进制的表示方式,三个点,把这个整数分为4给部分,每一个字节取值范围为0~255
1个字节 0-.>55 - 128~+127
2个字节0->65535 -32768->32767
4个字节 0->42亿9千万 -21亿->+21亿
这些数字对于IP地址分配是远远不够的所以又有了解决办法

1.动态分配IP地址

设备上网时才会分配地址,不上网就不会分配地址

2.NAT机制

把所有的IP地址分为两类,内网IP和外网IP
外网地址必须是一致的
内外地址则可以重复出现(尤其是在不同局域网中可以重复,内网则不行)
一个外网IP代表一系列的设备

内网设备如果要访问外网,对应的内网设备路由器就会触发NAT机制,就会进行IP替换,把这个网络数据报的源IP替换成字节的IP,但是这个外网IP不是这个设备独占的,而是这个内网所有的设备都共用这一个外网IP
外网设备不需要NAT就能直接访问到其他外网设备
外网的设备是无法直接访问内网这个设备的
内网设备无法直接访问到其他内网设备

3. IPv6

IPv4传统的IP协议,使用4个字节,32位来表示IP地址
IPv6是更新后的一些IP协议,使用16个字节,128位来表示IP协议

路由管理

一个路由器有两个IP地址,分别在不同的局域网中,一个路由器的作用就是把两个局域网连接起来
WAN口IP(外)
LAN口IP(内)
通过一个路由器把两个局域网连接起来的网路就叫做相邻局域网
在路由器局域网中网络号是一样的,主机号不同

IP地址的组成

IP地址分为两个部分,网络号和主机号
网络号:标识网段,保证相互连接的两个网段具有不同的标识;(标识了一个局域网)
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;(标识了一个局域网内部的主机)

对于网络主机号的划分,主要有两种分类方式

1.IP地址分类(ABCDE)

前缀用来区分类别,每个类别下的网络号和主机号都是固定的
在这里插入图片描述

2.子网掩码

子网掩码,站在二进制的角度来看,就是一个32位的整数,左侧都是1,右侧都是0,(不会有1010这种混合的情况)
左侧有几个1,意思就是IP地址有哪些位就是网络号,后几位是主机号

特殊的IP地址

  1. 主机号为0的IP: 192.168.0.0 就是网络号,局域网中不应该存在某个主机,主机号是0;
  2. 主机号全是1:192.168.0.255就是广播地址,例如,往这个地址上发送UDP数据报,此时这个数据报就会被转发给整个局域网内的所有主机(TCP不支持广播),广播功能是在不知道对方的IP情况下,进行探测使用;
  3. 主机号为127.*:称为环回IP,通常用于本机的环回测试,环回IP对应的是特殊的虚拟网卡IO,通过环回IP传输的数据,走虚拟网卡(这个过程没有IO操作,是纯内存操作,要比一般的这种普通IP传呼数据要快);
  4. 主机号为1的,192.168.0.1,一般作为“网关”IP(大部分情况下,并不绝对,是习惯性用法,是强制性)是局域网的出入口

路由选择(路由转发过程)

路由器是无法把整个网络的环境记录下来的,路由器只能看记录周围的情况,
因此路由器内部使用路由表来记录邻居的信息
而实际的转发过程,是渐进式的,类似于“投石问路”一般,最终到达目的地
IP数据报,在进行网络转发的过程中,就是一个“逐渐问路”的过程,每个路由器只能认知周围的情况,很可能问的目标,并不知道(目的IP在路由表中,没有匹配结果),此时就会走路由器给你指出的下一条默认的路径(路由表的“下一跳表项”),就会把咱们的数据指引向更上一级的路由器(越上级的路由器,就越见多识广)这就是路由转发过程

IP分片

IP分片是一种网络传输中的技术,用于将一个较大的IP数据包分割成多个较小的片段进行传输。这种分片技术主要用于在网络传输过程中遇到最大传输单元(MTU)限制的情况下,确保数据能够成功传送到目标地址。

IP的一个工作就是完成这个数据分包/组包。

一个大的IP数据报,可以拆分成为多个小的报,这些小报的标识都是相同的,通过16位标识符判定,而13位片偏移表示每个小的数据报之间的先后顺序,用来组成,3位标志位:1位不用,1位表示是否分包了,还有一位表示当前这个分包是不是最后一个(结束标记)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值