计算机网络---IP数据报

article/2025/9/16 3:57:56

(一)IP数据报格式

TCP/IP协议栈

 IP数据报格式:

 版本:IP协议的版本号 IPv4/IPv6   首部长度:单位是4B,最小为5,以4字节为单位  固定部分20B         区分服务:指示期望获得哪种类型的服务。     总长度:首部+数据,单位是1B

生存时间(TTL):字段占8位,IP分组在网络中可以通过的路由器数(或跳步数)。经过一个路由器-1,变成0则丢弃。

协议::字段占8位,指示IP分组封装的是那个协议的数据包。 例如下表,6为TCP,表示封装的为TCP段。

 首部检验和:字段占16位,实现对IP分组首部的差错检测,只检验首部。

源地址和目的IP地址:32位,分别标识发送分组的源主机/路由器(网络接口)和接收分组的目的主机/路由器(网络接口)的IP地址。

可选字段::长度可变,范围在0~40B 之间,携带安全、源选路径、时间戳和路由记录等,用来支持排错、测量以及安全等措施。

填充:长度可变,范围在0~3B之间,全0,目的保证首部是4B的整数倍

标识:该字段占16位,标识一个IP分组,同一数据报的分片使用同一标识。

标志:只有2位有意义 X _ _ 

 中间位DF(DOn't Fragment):DF=1,禁止分片;DF=0,允许分片

  最低位MF(More Fragment):MF=1,后面“还有分片”;MF=0,代表最后一片/没分片

片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B位单位

总长度字段占16位:IP分组的总字节数(首部+数据)

    最大IP分组的总长度:2^16 -1=65535B   最小的IP分组首部:20B  

    IP分组可以封装的最大数据:65535-20=65515B 

(二) IPv4

① IP地址:IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。  -》百度百科

② IP编制的历史阶段:1.分类的IP地址;2.子网的划分;3.构成超网(无分类编址方法)

③分类的IP地址:

IP地址类型:

公有地址

公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。

私有地址

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

以下列出留用的内部私有地址

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

 路由器对目的地址是私有IP地址的数据报一律不进行转发。

类似与身份证,IP地址有些号码有表示含义;

互联网中的IP地址:

特殊IP地址:

 

 分类的IP地址:

 注意:

  •  A 类网络地址中,网络号 0 和 127 是保留地址不指派。0 表示“本网络”,127 保留作为本地环回测试地址。

  •  B 类网络地址中,网络号 128.0  是被 IANA 保留的,不指派采用无分类编址(CIDR)时可以指派。

  • C 类网络地址中,网络号 192.0.0 是被 IANA 保留的,不指派采用无分类编址时可以指派。

  • 指派主机号时,要扣除全 0 和全 1 。全 0 和全 1 有特殊含义和用途。

分类的IP地址的缺点:

  • IP地址空间的利用率有时候很低。

  • 两级IP地址不够灵活。

 

无分类编址CIDR

    CIDR (Classless Inter-Domain Routing) :无分类域间路由选择。 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。 要点: (1) 网络前缀 (2) 地址块 (3) 地址掩码 

 

 

 

 

 

 

 

 

(三)网络地址转换NAT

网络地址转换NAT:在专用网连接到因特网的路由器上安装NAT软件,安装了NAT软件的路由器叫NAT路由器,他至少有一个有效的外部全球IP地址

出现的由来:

  •  只能/只需 从ISP申请一个IP地址,但IPv4地址耗尽。

  •  本地网络设备IP地址的变更,无需通告外界网络 。

  • 变更ISP时,无需修改内部网络设备IP地址。

  • 内部网络设备对外界网络不可见,即不可直接寻址(安全)

NATO如何实现 :

 具体操作如下:

NAT的优点和弊端:

优点:16-bit端口号字段:可以支持60000多并行连接! 

NAT主要争议:

  •  路由器应该只处理第三层功能

  •  违背端到端通信原则

  • 地址短缺问题应该由IPv6来解决


http://chatgpt.dhexx.cn/article/aHTKettF.shtml

相关文章

【IP协议(一)】——IP数据报格式及其含义,IP数据报的切分

💂 个人主页:努力学习的少年🤟 版权: 本文由【努力学习的少年】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 🚀 IP数据报格式 版本:占4位,指…

IP数据报的首部

IP数据报的首部 注:IP数据报的格式,能够说明IP协议都具有什么功能。 1. IP数据报首部——固定部分 1.1 版本 占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。IP协议版本号为4(即IPv4),IP协议版本号为6(即IPv6)…

计算机网络——IP数据报分析

目录 🛴一、IP数据报简介 🛹二、Wireshark抓包分析 🛴一、IP数据报简介 版本:占4比特,表示IP协议的版本。通信双发使用的IP版本必须一致 首部长度:占4比特,表示IP数据报首部的长度。该字段的取…

IP数据报格式详解

IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息,数据区包括高层协议需要传输的数据。 IP…

网络层——IP数据报详解

IP数据报格式 各个字段的分析: 版本 4位    指IP协议的版本,通信双方使用的IP协议版本必须保持一致。主要用两个版本IPV4、IPV6首部长度 4位   4位表示的最大十进制数是15。注意,首部长度字段所表示数的单位是32位(也就是4个…

IP数据报

文章目录 前言一、IP数据报的格式1.IP数据报2.数据报中各个字段的意义 二、ICMP(Internet控制报文协议)1.报文格式2.常见应用 三、ARP协议四、路由表 前言 在前面的学习中我们学习了数据的封装和解封装,了解了封装是从发送端由上向下一层一层…

IPv4数据报的首部格式

版本:占4比特,表示IP协议的版本,通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4 首部长度占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。最小十进制取值为5,表示IP数据报首部只有…

EXE4J 错误提醒 Pleasedefine EXE4J_JAVA_HOME to point to an installes 64-bit JDK or JRE

EXE4J 错误提醒 Please define EXE4J_JAVA_HOME to point to an installed 64-bit JDK or JRE 首先查看上一步的提醒,这里显示支持的版本为最小1.8到最大11,而我环境变量配置为13,版本过高 解决办法 1、添加符合版本的jdk 2、升级exe4j …

首次使用exe4j遇见的问题

exe4j安装注册: https://www.cnblogs.com/jepson6669/p/9211208.html 问题一、安装exe4j 问题和解决方法描述: 大概是这个意思,安装这个exe4j需要jvm,你的电脑上要有jdk和jre,并且这个jdk版本必须是1.8~11之间的64…

exe4j下载和使用(超详细)

1、下载exe4j 链接: 点击下载 提取码: b3cy 1.1、安装步骤就不说了,按照提示一步一步进行即可 2、这里使用的jar包是maven项目打包出来的jar PS:注意 这里针对的是maven项目打包成的jar,如果是普通Java项目打包成的jar 请参考别的文章2.1…

exe4j 打包 jar 文件为 exe 文件(GUI程序)

exe4j 打包 jar 文件为 exe 文件(GUI程序) 1、资源分享2、把项目打包成 exe 文件2.1 把项目打包成 jar 包(用 fatjar 打包项目)(1) 把 net.sf.fjep.fatjar_0.0.32.jar 包放入 eclipse\plugins 目录下(2) 完成第一步后,…

exe4j打成的exe文件运行时弹窗this executable was created with an evaluation version of exe4j问题解决

其实这是因为没有激活造成的,激活码网上很多,这里给一个L-g782dn2d-1f1yqxx1rv1sqd 点击welcome页的右下角的License, Name和Company随便输,然后输入激活码确认就可以了

exe4j下载安装

exe4j下载安装 exe4j下载exe4j安装exe4j激活exe4j使用 exe4j下载 exe4j下载地址 1.点击exe4j下载地址 2.点击Setup Executable (55 MB) ZIP Archive (75 MB) 进行下载 exe4j安装 1.双击 exe4j_windows-x64_7_0.exe开始安装 2.点击运行按钮 3.点击Next按钮 4.选择 I ac…

exe4j打包问题解决方案

在我们想要打包java文件时候,由于编译版本与运行环境的问题困扰我们许久:java.lang.UnsupportedClassVersionError: Os/Os 已由 Java 运行时的更新版本(类文件版本 56.0)编译,此版本的 Java 运行时仅识别最高 52.0 的类…

exe4j中,报错:This executable was created with an evaluation version of exe4j

运行exe4j工具打包好的.exe文件,报错:This executable was created with an evaluation version of exe4j 由于是新下载安装的exe4j工具,没有进行注册!所以导致报这个错! 在使用exe4j时,如果exe4j没有注册…

SpringBoot 2.x 使用 exe4j 打包成 exe 可执行文件(附带启动传参)

1.下载安装exe4j 官网地址: exe4j Download 2.注册exe4j 启动exe4j后 点击右下角 Change License 填写用户名公司与注册码 ​​​​​​​ 注册码列表自行百度 3.准备打包文件 创建一个文件夹 文件夹内包含 整个jdk 项目jar包 ico图标 4.运行exe4j开始打包 步骤一 …

exe4j完成Java转exe 自带jre

当用户电脑上没有安装Java环境时,我(们)交付程序时,还需要提交一份jre exe4j支持选择自带的jre;但是好像不支持选择精简的jre,会导致生成的exe不能正常运行 知道怎样用精简jre转exe的朋友请留言…orz,我之前提到了怎…

exe4j打包工具使用

前言:用于将eclipse中的项目打包成.exe形式。 eclipse中的项目打包成jar形式:eclipse项目右键–>Export–>java–>Runnable JAR file–>Next→Export destination(选择jar包导出路径),Library handing(选择第三项 Copy…&#xf…

利用 exe4j 将 JAR 包制成免安装 JDK 的 EXE 文件

利用 exe4j 将 JAR 包制成免安装 JDK 的 EXE 文件 exe4j 的工作原理EXE 制作教程 将 JAR 包制成能在 Windows 上直接运行的 EXE 文件,是很多 Java 爱好者喜欢做的事情。虽然这不是对 JAR 包的商业用法,不过很多人都希望能学以致用,而不仅仅是…

EJ.Technologies.Exe4j 8.0-key

exe4j 是一个 Windows 启动器生成器,在您购买 install4j 时免费提供。如果您想在没有安装程序的情况下创建 Java 启动器,exe4j 很有用。exe4j 是一个简单易用的软件应用程序,它允许程序员快速创建 EXE 格式的 Java 应用程序并将它们集成到 Wi…