5.网络之IP

IP协议(网络层)

文章目录

  • IP协议(网络层)
  • 1. 报文格式
  • 2. IP地址
  • 2. 地址管理
  • 3. 特殊IP地址

    IP协议(Internet Protocol,互联网协议),是TCP/IP协议栈中最核心的协议之一,通过IP地址,保证了联网设备的唯一性,实现了网络通信的面向无连接和不可靠的传输功能。

1. 报文格式

在这里插入图片描述

  • 版本号:代表的是当前的IP协议的版本信息。IPv4版本的值为4(二进制0100),根据版本号决定对IP数据报的处理方法

  • 首部长度: 代表的是整个IP报头的长度,这个报头长度是可变长的,可变长的原因在于报头中的选项,这个属性是一个可有可无的属性,会改变报头长度,它的单位是32bit,比如里面存放的是1,那么整个IP报头的长度就是4个字节(32bit).

  • 服务类型 共占8位,但是实际上只有4位是有效的,其中这4位表示当前IP协议的4种工作模式:最小延时、最大吞吐量、最高可靠性、最小成本.实际开发中可能会根据需要来选择当前的IP工作模式.

  • 总长度 代表的是整个IP数据报的总长度(报头+载荷)

    • 同时也说明IP数据报最多只能携载64KB的数据,但是IP协议支持拆包和组包
  • 标识:用于为数据分片的数据单元提供唯一标识。

  • 标志:标志在该分片是否为数据分片的最后一片,也就是分片的结束标志.

  • 片偏移:标识了拆分后每个包的顺序

  • 生存时间 表示一个数据报在网络上传输的最大时间,这里的时间并不是以"秒"、"毫秒"这样的单位来计量的,而是以"次数"来计量.

    • 比如有一个TTL初始值为32,此时这个数据报每经过一个路由器转发,TTL的值就会-1,当TTL的值减到0时,就会认为这份数据传输不到了,可以丢弃了.
  • 协议 代表的是当前数据报中传输层的协议(UDP/TCP…)

  • 首部检验和 和UDP、TCP的相同,但是此处只检验报头,因为载荷部分传输层会进行检验.

2. IP地址

在这里插入图片描述

    IP数据报中这两个部分分别表示发送方的IP地址和接收方的IP地址。

    在报文中是以32位的整数方式存在的,表示一般使用点分十进制的方式进行标识,如:127.0.0.1。

    IP地址4个字节32位一共有42亿个,但是在今天这个数据爆炸式增长的时代,已经捉襟见肘了,即IP地址耗尽。

    解决这个问题,有以下两种方法:

    1. 进行动态分配IP地址,此时虽然可以省下也配IP地址,但是总数没有增加.
    NAT网络地址转换.本质上是将一个地址同时给多台设备使用.可以大大提高了IP地址的利用率,在区分时也可以用端口号来区分.
NAT将IP地址分为内网IP和外网IP,内网IP不能直接上网,需要由外网IP进行换发,当然外网想要访问到内网也需要有内网所在的公网进行转发。

  • 内网IP(私有IP):以10.开头的、以172.16.~172.31.开头的、以192.168.开头的.

  • 外网IP(共有IP):除了内网IP之外的IP地址.

  • 内网IP是可以重复出现的,外网IP是不可以重复出现的.

    2. 使用IPv6,IPv6由16位二进制表示,是一个非常大的天文数字,想要将其耗尽基本不可能。但是由于IPv6和IPv4不兼容,需要更换硬件设备,所以IPv6并没有大规模的普及。

2. 地址管理

    这里讨论的是IP协议在NAT下针对IP地址的管理。一个IP地址,可以分成两个部分,网络号和主机号。

  • 网络号:标识网段,保证连接的两个网段具有不同的标识.
  • 主机号:标识主机,同一网段内,主机之间的网络号是相同的,但是主机号必须是不同的.

    子网掩码,使用子网掩码来区分那部分是网络号,哪部分是主机号。

子网掩码: 255.255.255.0
即:1111 1111 1111 1111 1111 1111 0000 0000
表示前三个字节都是网络号,第四个字节是主机号

3. 特殊IP地址

    如果IP地址中,主机号全0,代表当前这个局域网,这个IP地址是不能被分配给具体的主机的。
    如果IP地址中,主机号全1,这个地址是一个广播地址(UDP支持广播就是因为这个地址),只有向这个地址发一个UDP包,局域网中的所有设备都能收到。
    127.0.0.1这个地址表示当前主机,叫做环回IP,是操作系统抽象出的特殊的虚拟网卡,发出的数据最终会回到本机。通常用于测试和一些分布式系统。

    如果本篇文章对你有帮助,请点赞、评论、转发,你的支持是我创作的动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/118869.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年天津财经大学珠江学院专升本预计新增金融学招生专业

2024年天津高职升本科天津财经大学珠江学院预计在今年新增招生专业,专业为金融学,目前该专业正在向天津市教育委员会申报中,预计最快下周即可在天津财经大学珠江学院招生官方发出通知。具体以官方审批是否通过为准。 珠江消息详情如下&#x…

01-单节点部署clickhouse及简单使用

1、下载rpm安装包: 官网:https://packages.clickhouse.com/rpm/stable/ clickhouse19.4版本之后只需下载3个rpm安装包,上传到节点目录即可 2、rpm包安装: 安装顺序为conmon->server->client 执行 rpm -ivh ./clickhouse-…

相机滤镜软件Nevercenter CameraBag Photo mac中文版特点介绍

Nevercenter CameraBag Photo mac是一款相机和滤镜应用程序,它提供了一系列先进的滤镜、调整工具和预设,可以帮助用户快速地优化和编辑照片。 Nevercenter CameraBag Photo mac软件特点介绍 1. 滤镜:Nevercenter CameraBag Photo提供了超过2…

HTML 表格

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>表格标签</title>/* <style>.yun {widt…

【MongoDB】索引 - 数组字段的多键索引

数组字段创建索引时&#xff0c;MongoDB会为数组中的每个元素创建索引键&#xff08;多键索引&#xff09;&#xff0c;多键索引支持数组字段的高效查询。 一、准备工作 这里准备一些数据 db.shop.insertMany([{_id: 1, name: "水果店1", fruits: ["apple&qu…

turtle绘制分形树-第10届蓝桥杯省赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第5讲。 turtle绘制分形树&…

Sui发布RPC2.0 Beta,拥抱GraphQL并计划弃用JSON-RPC

为了解决现有RPC存在的许多已知问题&#xff0c;Sui正在准备推出一个基于GraphQL的新RPC服务&#xff0c;名为Sui RPC 2.0。GraphQL是一种开源数据查询和操作语言&#xff0c;旨在简化需要复杂数据查询的API和服务。 用户目前可以访问Sui主网和测试网网络的Beta版本的只读快照…

基于侏儒猫鼬算法的无人机航迹规划-附代码

基于侏儒猫鼬算法的无人机航迹规划 文章目录 基于侏儒猫鼬算法的无人机航迹规划1.侏儒猫鼬搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用侏儒猫鼬算法来优化无人机航迹规划。 …

2024年人工智能安全发展十大预测

上周三&#xff0c;包括英国、美国和中国在内的近30个国家&#xff08;以及欧盟&#xff09;在人工智能安全峰会上达成首个全球性人工智能安全协议&#xff0c;并发布了《人工智能安全宣言》&#xff0c;这标志着人工智能正式进入安全发展的强监管时代。 峰会期间&#xff0c;…

网络爬虫的实战项目:使用JavaScript和Axios爬取Reddit视频并进行数据分析

概述 网络爬虫是一种程序或脚本&#xff0c;用于自动从网页中提取数据。网络爬虫的应用场景非常广泛&#xff0c;例如搜索引擎、数据挖掘、舆情分析等。本文将介绍如何使用JavaScript和Axios这两个工具&#xff0c;实现一个网络爬虫的实战项目&#xff0c;即从Reddit这个社交媒…

Spring boot集成sentinel限流服务

Sentinel集成文档 Sentinel控制台 Sentinel本身不支持持久化&#xff0c;项目通过下载源码改造后&#xff0c;将规则配置持久化进nacos中&#xff0c;sentinel重启后&#xff0c;配置不会丢失。 架构图&#xff1a; 改造步骤&#xff1a; 接着我们就要改造Sentinel的源码。…

【蓝桥杯省赛真题41】Scratch电脑开关机 蓝桥杯少儿编程scratch图形化编程 蓝桥杯省赛真题讲解

目录 scratch电脑开关机 一、题目要求 编程实现 二、案例分析 1、角色分析

【数据开发】大数据平台架构,Hive / THive介绍

1、大数据引擎 大数据引擎是用于处理大规模数据的软件系统&#xff0c; 常用的大数据引擎包括Hadoop、Spark、Hive、Pig、Flink、Storm等。 其中&#xff0c;Hive是一种基于Hadoop的数据仓库工具&#xff0c;可以将结构化的数据映射到Hadoop的分布式文件系统上&#xff0c;并提…

✔ ★【备战实习(面经+项目+算法)】 11.6 学习

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

【Vue.js】Vue3全局配置Axios并解决跨域请求问题

系列文章目录 文章目录 系列文章目录背景一、部署Axios1. npm 安装 axios2. 创建 request.js&#xff0c;创建axios实例3. 在main.js中全局注册axios4. 在页面中使用axios 二、后端解决跨域请求问题方法一 解决单Contoller跨域访问方法二 全局解决跨域问题 背景 对于前后端分离…

8 ICMP与ping

1、ICMP 协议的格式 一般在网络不同的时候&#xff0c;我们首先想到的是ping 那你知道 ping 是如何工作的吗&#xff1f; 1.ping 是基于 ICMP 协议工作的。 2.ICMP全称Internet Control Message Protocol&#xff0c;就是互联网控制报文协议。这里的关键在于"控制"…

Ubuntu 创建用户

在ubuntu系统中创建用户&#xff0c;是最基本的操作。与centos7相比&#xff0c;有较大不同。 我们通过案例介绍&#xff0c;讨论用户的创建。 我们知道&#xff0c;在linux中&#xff0c;有三类用户&#xff1a;超级管理员 root 具有完全权限&#xff1b;系统用户 bin sys a…

STM32 GPIO 描述

一、GPIO功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL&#xff0c;GPIOx_CRH) &#xff0c;两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) &#xff0c;一个32位置位/复位寄存器(GPIOx_BSRR)&#xff0c;一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR…

基于Springboot 智能公交站台系统-计算机毕设 附源码 37261

Springboot 智能公交站台系统 目 录 摘 要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2 智能公交站台系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.1.4 法律可行性分析 2.2 系…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义&#xff0c;两地指的是两个城市&#xff1a;同城&#xff0c;异地。三中心指的是三个数据中心&#xff1a;生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统&#xff0c;双中心具备相当的业…