IP协议(Internet Protocol)

news/2024/10/23 9:40:02/

什么是IP协议

IP是Internet Protocol 的简称,IP 协议处于 TCP/IP 五层模型的网络层,它的主要功能是数据的传输和路由选择。

IP数据报格式

IP数据报的格式能够说明IP协议都具有什么功能,以下详细介绍:
在这里插入图片描述
1) 4位版本号,占用4位,指定IP协议的版本,对于IPv4来说,就是4

2) 首部长度,占用4位,表示IP头部的长度是多少个32bit,四个字节的最大数字是15,因此头部的最大长度计算为 15 * 4 = 60 个字节

3) 服务类型,占用8位,其中4位TOS字段,分别表示:最小延时、最大吞吐量、最高可靠性、最小成本,这四者相互冲突, 只能选择一个。它的作用就是告诉路由器我更偏重哪个方面。例如:ssh 应用更加在乎实时性,就将最小延时位置1,表示我的愿望,最终愿望能否得到实现,并不一定。又或者 ftp 程序更加在乎传输速率,因此将最大吞吐量位置1,同样这只是一个愿望。

4) IP数据报总长度,占用16位,最大65535个字节。在IP层的下面链路层都有自己的帧格式,其中帧数据的最大长度称为MTU最大传送单元,当一个IP数据报封装成链路层帧时,帧数据的长度(IP首部+数据)一定不能超过MTU值,同样为了保证传输效率也有一个最小的传输单元。当数据超过了MTU时需要进行分片处理才能进行发送,此时IP数据报首部的总长度指的是分片以后的首部及数据的长度总和

5) 标识,占16位,IP软件维持这一个计数器,每产生一个计数器计数器加1,并将此值赋给标识字段。当IP数据报被分片后,相同标识的数据报片最后会重装在一起。

6) 标志字段,占3位,只有两位有意义。MF = 1 表示后面还有分片=0 表示当前分片是最后一个;DF = 1 表示不能分片,只有 =0 才允许分片。

7) 片偏移,占13位,分片相对于原始IP报文开始处的偏移,实际偏移的字节数是这个值 * 8 得到的,因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)

举例:
一个IP数据报的总长度为3820字节,数据部分为3800字节,MTU为1420。
因固定首部长度20字节,因此每个数据报片的数据长度不能超过1400字节,于是分为3个数据分片,数据部分的长度分别为 1400、1400、1000字节,原始数据报的首部被复制作为各数据报片的首部,但是必须修改有关字段的值(例如总长度、片偏移)。
在这里插入图片描述
经过分片的数据报,在传输过程中还有可能进行二次分片。

8) 生存时间(TTL),占8位,数据报到达目的地的最大报文跳数,最大是255,每次经过一跳,TTL -= 1,一直减到0还没到达,那么就丢弃了,这个字段主要是用来防止出现路由循环

9) 协议,占8位,指出数据报携带的数据用的哪种上层协议,以便接受主机知道交给谁进行处理。
在这里插入图片描述

10) 首部校验和,占16位,这个字段只校验数据报的首部,不包括数据部分。因为每经过一个路由器,路由器都要重新计算一下首部校验和(生存时间、标志、片偏移都可能变化),不检验数据部分可以减少工作量,数据部分由传输层最终进行校验。

11) 32位源地址和32位目标地址,表示发送端和接收端

12) 选项字段,不定长, 最多40字节

网段划分方案 CIDR

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

不同的子网就是将网络号相同的主机放在一起,如果子网中多了一台主机,那么这台主机和该子网中的所有主机有着相同的网络号,但是主机号一定不相同。

CIDR是一种主机号和网络号的划分方案,它引入了一个额外的子网掩码来区分网络号和主机号;子网掩码也是一个32位的正整数,通常以一串0结尾;将IP地址和子网掩码进行按位与操作得到的就是网络号。
在这里插入图片描述
IP地址和子网掩码还有一种简单的表示方式 172.17.50.109/24,24表示的就是子网掩码的高24位是1

IP地址不够用的解决方案

IPV4 直接用一个32bit的整数来作为地址,最大数量42亿9千万,这个数字很大,但是依旧不能满足需求,因此想使用IPV4给每台机器分配一个唯一的地址是不可能了,这个问题怎么解决呢?
a) 动态分配 ip地址,联网就分配,否则就不分配
b) NAT 机制,一个 ip 代表一大堆用户,然后用其他方法区别这一大堆用户
c) IPV6 是解决地址不够用的最核心办法,但是与 IPV4 不兼容

私有IP地址 和公网IP地址

如果一个组织在内部组建局域网,IP 地址只用于内部通信,那么不管 IP 地址是多少,只要内部不重复就可以正常通信,和外部无关系(即使 IP 地址和外部冲突)

但实际上私有IP也并不能随意设置,RFC规定了私有IP的使用范围:

10.*,前8位是网络号,共16,777,216个地址
172.16.*到172.31.*,前12位是网络号,共1,048,576个地址
192.168.*,前16位是网络号,共65,536个地址

在这里插入图片描述

一个路由器分配两个 IP,一个是WAN口IP,一个是LAN口IP(子网IP);路由器LAN口连接的主机,都从属于当前这个子网中;不同的路由器的子网IP其实都是一样的,子网内的主机IP地址不能重复,但是子网之间的 IP 地址可以重复;每一个家用路由器都作为运营商路由器子网中的一个节点,这样的运营商路由器有很多级,最外层的路由器的WAN口就是一个公网IP;子网的主机需要和外网进行通信时,路由器将IP首部的IP地址换成WAN口IP,这样逐级向上都进行替换,最终替换成 公网IP,这种技术称为 NAT (地址转换技术)。

路由选择

IP数据包路由的过程实际就是 "一跳一跳" 的问路的过程,所谓 “一跳” 就是数据链路层中的一个区间,具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间。

当数据帧传输给路由器后,经过层层分用递达路由器网络层,网络层获取到目的IP地址,并查看路由表来确定下一步发送的地址(直接发送目标主机还是下一个路由器),重复上述过程一直到达目的地址。


http://www.ppmy.cn/news/678672.html

相关文章

网络协议之TCP、HTTP,是Internet的核心协议

一、网络协议 国际标准化组织(International Standard Organization,ISO)公布了开放系统互连参考模型(OSI/RM)。OSI/RM是一种分层的体系结构,参考模型共有7层。 TCP/IP(Transmission Control Protocol/Internet Protoc…

Internet 与 TCP/IP 协议

文章目录 Internet 历史OSI 模型与 TCP/IP 协议体系结构网络的体系结构OSI 开放系统互联模型OSI 模型七层结构TCP/IP 协议族的体系结构TCP/IP 与 OSI 参考模型的对应关系 TCP/IP 协议TCP/IP 协议族TCP/IP 协议通信模型数据的封装与传递过程发送端:数据打包接收端&am…

Internet网际协议 --- IP地址

IP地址 一.IP地址简介二.分类IP地址三.IP子网划分与子网掩码四.无类域间路由CIDR五.路由聚合六.IP包转发 一.IP地址简介 1.IP地址,网络上的每一台主机(或路由器)的每一个接口都会分配一个全球唯一的32位的标识符。 2.将IP地址划分为固定的类…

因特网和网络协议

因特网和网络协议 一.因特网1.体系结构物理层数据链路层网络层传输层应用层 2.数据传输基本过程发送端接收端 二.网络协议1.网络层协议(IP协议)2.传输层协议(TCP协议)3.应用层协议4.IP地址 三.基本服务WWW服务电子邮件服务文件传输服务远程登录服务 一.因特网 任何网络只有与其…

Internet协议的安全性

网际层 安全问题 1.IP数据报在传递过程中被窃取 措施:读ip数据报进行加密 2.数据净荷可能被截取后修改 措施:对ip数据净荷进行完整性检测 3. 攻击者发送伪造源地址数据包欺骗接收者,也称为ip欺骗 措施:对数据包的源地址鉴别 4. A…

IP(Internet Protocol)网际协议

文章目录 IP协议IP协议介绍IP基础知识:IP分包和组包 IP属于面向无连接型 IP协议 TCP/IP四层模型 ​ 很多人都以为TCP/IP是指TCP与IP两种协议。实际中有时也指这两种协议,因为TCP和IP协议在TCP/IP协议簇中最具代表性。然而在大多数情况下,它…

Internet网际协议---IPv4协议

IPv4协议 一.IPv4协议简介二.IPv4数据报格式(由首部和数据组成)三.数据报分片与重组四.IP协议功能及报头字段总结 一.IPv4协议简介 1.IPv4协议:网际协议版本4,一种无连接的协议,是互联网的核心,也是使用最…

Internet主要的网络协议

TCP/IP,即网络通信协议,这个协议是Internet最基本的协议,也是Internet国际互联网络的基础。TCP/IP由网络层的IP协议以及传输层的TCP协议组成。它分为4个层次:网络访问层,网络互联层,传输层,应用…