首页/新闻资讯/正文详情

IP协议必会知识

发布时间:2026/9/27 22:46:22 来源:云帆数科 栏目:资讯中心
IP协议必会知识
1. IP协议基本了解1.1 基本概念主机有IP但不能进行路由控制。路由器既有IP又可以路由控制。节点主机和路由器的统称。1.2 头格式4位版本号ipv44位头部长度代表有多少个32个比特位即length*4字节数4bit表示最大数字是15即首部最大长度是60字节。8位服务类型3位优先权字段弃用4位tos字段1位保留字段要重置为04位tos表示最小延迟、最大吞吐量、最高可靠性、最小成本这四个互相冲突根据不同场景选一个。16位总长度IP数据报整体占多少字节。16位标识唯一的标识主机发送的报文如果IP报文在数据链路层被分片了那么每一个分片里面的这个id都是相同的。3位标志字段第一位保留现在不用以后说不定用到第二位为1是表示禁止分片这时候如果报文长度超过MTUIP就会丢弃报文第三位表示“更多分片”如果分片了的话最后一个分片置为1其他是0类似结束标记。13位分片偏移是分片相当于原始IP报文开始处偏移其实就是在表示当前分片在原报文中处于哪个位置实际偏移字节数就是这个值*8以8字节为单位所以除了最后一个报文其他报文长度必须为8的整数倍。8位生存时间TTL数据报到达⽬的地的最大报文跳数一般是64每经过一个路由TTL-1如果减到0没有送到就丢弃这个报文主要防止路由循环。8位协议表示上层协议类型6TCP17UDP1ICMP。16位头部校验和使用CRC进行校验判断头部是否损坏。32位源地址和32位目标地址表示发送端和接收端。IP地址用点分十进制来表示每个部分取值0~255选项可选0~40 字节。用于记录路由、时间戳等实际很少用。数据上层协议数据TCP/UDP 报文。2. 地址管理2.1 网段划分IP地址主要两个部分网络号和主机号。网络号保证相互连接的两个网段具有不同的标识。主机号同一⽹段内主机之间具有相同的⽹络号但是必须有不同的主机号。子网其实就是把网络号相同的主机放到⼀起。如果在子网中新增一台主机则这台主机的⽹络号和这个子网的网络号⼀致但是主机号一定不能和子网中的其他主机重复。通过设置网络号和主机号可以保证在相互连接的网络中每台主机的IP不同但是如果手动管理IP地址很麻烦这需要DHCP技术功能简单来说就是自动给网络里的新主机分配IP地址不用手动管理。路由器有带有DHCP功能因此可以路由器看成是一个DHCP服务器。过去提出划分网络号和主机号的方案如图类别范围用途A 类0.0.0.0 ~ 127.255.255.255大型网络B 类128.0.0.0 ~ 191.255.255.255中型网络C 类192.0.0.0 ~ 223.255.255.255小型网络D 类224.0.0.0 ~ 239.255.255.255组播MulticastE 类240.0.0.0 ~ 247.255.255.255保留实验用但是如果按照这样的情况划分很多组织选择B类地址B类很快分配完导致A类大量浪费如果申请B类地址理论上一个子网可以容下6万5千多个主机但是不存在一个子网那么多个主机情况因此大量IP也浪费掉了。针对以上提出新的划分方案CIDR引入一个额外的子网掩码(subnet mask)来区分网络号和主机号子网掩码也是一个32位的正整数通常用一串 0 来结尾将IP地址和子网掩码进行 按位与 操作, 得到的结果就是网络号网络号和主机号的划分与这个IP地址是A类、B类还是C类无关划分子网案例划分子网的例子1项目十进制表示十六进制表示IP 地址140.252.20.688C FC 14 44子网掩码255.255.255.0FF FF FF 00网络号140.252.20.08C FC 14 00子网地址范围140.252.20.0 ~ 140.252.20.255划分子网的例子2项目十进制表示十六进制表示IP 地址140.252.20.688C FC 14 44子网掩码255.255.255.240FF FF FF F0网络号140.252.20.648C FC 14 40子网地址范围140.252.20.64 ~ 140.252.20.79将IP地址 140.252.20.68 以二进制表示10001100.11111100.00010100.01000100其子网掩码 255.255.255.0二进制表示11111111.11111111.11111111.00000000将两者进行“与”运算得到网络号10001100.11111100.00010100.00000000 十进制表示为140.252.20.02.2 特殊IP将IP地址中的主机地址全部设为0就成为了网络号代表这个局域网将IP地址中的主机地址全部设为1就成为了广播地址用于给同一个链路中相互连接的所有主机发送数据包127.*的IP地址用于本机环回(loop back)测试通常是127.0.0.12.3 IP地址数量限制ipv4有32位那么一共有2^32次方个IP地址大概是43亿左右按照网卡算的IP数量一个网卡设置1个或多个IP地址。CIDR一定程度减缓了IP的不够用的问题只是提高利用率减少浪费并没有提高使用数量上限可以通过以下方法解决动态分配IP上网分配不上不分配早期这个方案可行现在依旧紧张。NAT技术网络地址映射核心下面细说。ipv6是ipv4的升级但是两者没有联系ipv6是128为表示地址的。2.4 私有IP地址和公网IP地址私有IP公网IP定义局域网内部使用不能直接上互联网全球唯一可直接上互联网谁分配你自己路由器/DHCP运营商ISP是否唯一内网唯一不同内网可重复全球唯一能否直接上网❌ 需要 NAT 转换✅ 直接可访问费用免费要花钱买/租10.*前8位是网络号共16,777,216个地址172.16.到172.31.前12位是网络号共1,048,576个地址192.168.*前16位是网络号共65,536个地址包含在这个范围中的都成为私有IP其余的则称为全局IP(或公网IP)一个路由器可以配置两个IP地址一个是WAN口IP一个是LAN口IP(子网IP)。路由器LAN口连接的主机都从属于当前这个路由器的子网中。不同的路由器子网IP其实都是一样的(通常都是192.168.1.1)。子网内的主机IP地址不能重复。但是子网之间的IP地址就可以重复了。每一个家用路由器其实又作为运营商路由器的子网中的一个节点。这样的运营商路由器可能会有很多级最外层的运营商路由器WAN口IP就是一个公网IP了。子网内的主机需要和外网进行通信时路由器将IP首部中的IP地址进行替换(替换成WAN口IP)这样逐级替换最终数据包中的IP地址成为一个公网IP。这种技术称为NAT(Network Address Translation网络地址转换)。如果希望我们自己实现的服务器程序能够在公网上被访问到就需要把程序部署在一台具有外网IP的服务器上。这样的服务器可以在阿里云/腾讯云上进行购买。3. 路由选择在复杂的网络里找到一条通向终点的路这个“跳”的动作相当于问路。IP数据包的传输就是问路的过程当数据包达到路由器时路由器查看目的IP路由器决定这个数据包传给下个路由器还是目标主机一次反复知道到达目的IP地址怎么判断数据包发送哪里依靠节点里维护的一个路由表第1步主机A 发货查自己的路由表主机A 要发数据给主机B。它先查自己的路由表发现“主机B”不在本地局域网内。于是它把数据包发给自己的默认网关——路由器A。图中快递员说“发给路由器A即可再往后可以咨询路由器A”第2步路由器A 中转查路由表路由器A 收到包发现目标 IP 是主机B。它查自己的路由表发现“去主机B”的下一跳应该是路由器B。于是路由器A 把包转发给路由器B。图中路由器A 看着手里的路由表指向了主机B的方向第3步路由器B 送达查路由表路由器B 收到包再次查自己的路由表。发现主机B 就连接在自己的某个端口局域网上或者已经到达最终目的地。路由器B 直接把包交给主机B。4. NAT机制4.1 网络转发有两个设备AB1如果AB在一个局域网直接按照IP转发即可在内网里IP也不会重复2如果AB在两个不同的局域网默认无法直接通信必须经过各自网关和路由器的转发。如果路由不通才会禁止/丢包。3如果A是内网IP设备B是外网IP设备A可以主动访问BB不能主动访问A如果A已经访问B了B可以原路返回找到A4如果A和B都是外网IP则不涉及NAT直接转发4.2 NAT传输过程基础设定内网 A 互联网 内网 B ┌──────────────┐ ┌──────────────┐ │ 主机A │ │ 服务器B │ │ 192.168.1.100│ │ 10.0.0.5 │ └──────┬───────┘ └──────┬───────┘ │ │ ┌──────┴───────┐ ┌──────┴───────┐ │ 路由器A │ │ 路由器B │ │ LAN:192.168.1.1│ │ LAN:10.0.0.1 │ │ WAN:113.1.1.1 │ │ WAN:203.1.1.1│ └──────┬───────┘ └──────┬───────┘ │ │ └────────────────── 互联网 ──────────────────────────────┘设备IP主机 A内网 A192.168.1.100:50000路由器 A LAN192.168.1.1路由器 A WAN113.1.1.1服务器 B内网 B10.0.0.5:80路由器 B LAN10.0.0.1路由器 B WAN203.1.1.1步骤1主机A发出请求源 IP192.168.1.100 源端口50000 目标 IP203.1.1.1路由器 B 的公网 IP 目标端口8080由于目标IP不是同一个子网下的所以需要发送给网关路由器A的lan口192.168.1.1。2路由器 A 做地址转换路由器A收到包源 IP192.168.1.100:50000 目标 IP203.1.1.1:8080进行地址转换源 IP192.168.1.100 → 113.1.1.1 源端口50000 → 60000分配新端口记录在NAT表里113.1.1.1:60000 ↔ 192.168.1.100:50000从路由器A发出去的包源 IP113.1.1.1:60000 目标 IP203.1.1.1:80803数据包在互联网上转发逐跳转发到达路由器B4路由器 B 做地址转换路由器B收到包源 IP113.1.1.1:60000 目标 IP203.1.1.1:8080查看端口映射203.1.1.1:8080 → 10.0.0.5:80目的地址转换目标 IP203.1.1.1 → 10.0.0.5 目标端口8080 → 80转发到服务器B源 IP113.1.1.1:60000不变 目标 IP10.0.0.5:80

相关推荐

Open Computer Use 安装与使用方法全解:从零配置到跑通第一个任务
Open Computer Use 安装与使用方法全解:从零配置到跑通第一个任务

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 22:46:22

内存马从入门到精通:不落地一个文件,黑客照样“常驻“服务器
内存马从入门到精通:不落地一个文件,黑客照样“常驻“服务器

传统Webshell是一句话木马文件——但杀软会查文件、扫描会看目录。 高手换玩法了:不写文件,直接"住进"内存——重启前不消失,查文件查不到。 这就是内存马:红队近年的"王牌技法",护网防守方的&quo… · 2026/9/27 22:46:15

蜜罐技术从入门到精通:给黑客挖个“坑“,让他踩进来
蜜罐技术从入门到精通:给黑客挖个“坑“,让他踩进来

与其被动挨打,不如主动设局:摆一个"假服务器"当诱饵,黑客一碰,警报就响。 这就是蜜罐(Honeypot):安全领域的"钓鱼执法",防守方的"情报员"。 它是企业… · 2026/9/27 22:46:15

Python搭建QQ聊天机器人极简教程
Python搭建QQ聊天机器人极简教程

随着QQ粉丝群管理需求的不断增长,简单的群管工具难以满足复杂的信息响应和自动化需求。现有的自动回复机器人虽然功能强大,但其高昂的年费成为不少用户的顾虑。因此,通过搭建一个自定义机器人来实现自动回复,成为解决这一问题的有效途径。 基于此需求,本文介绍了使用go-c… · 2026/9/28 2:14:08

Python整理百度云盘文件大量重复无用文件
Python整理百度云盘文件大量重复无用文件

百度云盘容量有限,当文件数量逐渐增多,空间很容易被填满。删除重复文件可以帮助释放大量空间。通过获取云盘缓存目录并使用Python脚本来整理数据,可以高效识别重复文件并避免手动操作的繁琐。 此方法基于 sqlite3 和 pandas 进行数据处理,简单快捷。 文章目录 云盘数据整理… · 2026/9/28 2:14:07

Python实现将图片转化为具有视觉震撼效果的字符图
Python实现将图片转化为具有视觉震撼效果的字符图

字符画是一种将图片转化为字符的艺术表现形式,它通过字符的密度和排列来模拟图片的色彩和形状效果。这种技术不仅在视觉上充满了创造力,还在文字处理领域展示了字符的丰富表现力。通过Python,可以将图片转换为字符画,生成具有视觉冲击力的字符艺术。 本文将通过具体步骤和… · 2026/9/28 2:13:48

Python实现将目录下的图片合并成PDF文件
Python实现将目录下的图片合并成PDF文件

在图像处理和文档管理中,经常需要将一系列图片文件合并为PDF格式,以便于传输、存档和阅读。Python凭借其丰富的第三方库,为图像处理和PDF操作提供了便捷的解决方案。 本文将详细介绍如何通过Python脚本,将目录中的所有图片合并为一个PDF文件,内容包括从基础环境配置到代码… · 2026/9/28 2:13:48

Python实现文件移动到指定文件夹
Python实现文件移动到指定文件夹

在编程过程中,经常需要对文件进行整理和管理,将不同类型的文件分类存放在指定文件夹中。Python提供了强大的文件操作模块,使得文件的移动操作变得简单高效。这篇教程将详细讲解如何使用Python实现将文件移动到指定文件夹的功能,帮助理解并掌握文件操作的基本方法和常见应用… · 2026/9/28 2:13:47

【PyQt】PyQT6制作一个Django项目启动器
【PyQt】PyQT6制作一个Django项目启动器

在现代的桌面和Web应用开发中,Python以其简单高效的特点获得了广泛的应用。通过集成PyQt和Django框架,将桌面应用的便捷操作与Django项目的后端处理相结合,不仅能够提升用户体验,更能显著提高开发的便利性和效率。 本文将聚焦于如何构建一个基于PyQt的Django项目启动器,实… · 2026/9/28 2:13:40

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

制作网页比较方便的软件怎么选?一文搞懂避坑指南
制作网页比较方便的软件怎么选?一文搞懂避坑指南

制作网页比较方便的软件怎么选?一文搞懂避坑指南 很多老板一上来就问:做个网站多少钱?但我反问他:你的域名买了吗?服务器租了吗?他一脸懵。这就是典型的“域名服务器搞不懂”。别急,今天咱们不聊虚的,直接 一文搞懂 那些让你头秃的技术名词。… · 2026/9/28 0:00:06

婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量
婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量

婚恋网站实战案例:避开3个高价坑,省钱50%还能跑赢流量 找婚恋网站建站公司,最怕的就是被坑高价。很多同行跟我吐槽,报价单上写得模棱两可,功能栏里全是“高级定制”、“专属UI”,结果落地全是套壳。今天不聊虚的,直接甩几个我经手的 实战案例… · 2026/9/28 0:00:19

济南做网站多少钱:3个案例拆解,防黑源码下载全攻略
济南做网站多少钱:3个案例拆解,防黑源码下载全攻略

济南做网站多少钱:3个案例拆解,防黑源码下载全攻略 上周济南一个做建材的老板找我,脸都绿了。他的官网首页弹出了赌博广告,后台被植入了挖矿脚本。他慌得问我:“网站被黑挂马不知道怎么办?能不能直接找之前的外包公司要源码下载,看看哪里被动了手脚?… · 2026/9/28 0:00:25

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码