网际协议IP

网际协议IP

一、IP地址
1、分类的IP地址

IP地址::={<网络号>,<主机号>}

在这里插入图片描述

2、无分类编址CIDR

IP地址::={<网络前缀>,<主机号>}

(1)网络前缀

与分类IP最大的区别就是网络前缀的位数n是不固定的,可以是0~32位。

​ 采用斜线标记法,“/”后面的是网络前缀的位数。111.112.113.1/20,表示前20位为网络前缀,后12位为主机号。

(2)地址块

​ CIDR把网络前缀都相同的所有连续IP地址组成一个CIDR地址块。

​ 一个大的地址块往往包含很多小的地址块,所以在路由器的转发表中利用一个大的地址代替许多小的地址,这种方法称为路由聚合。这样就能大大压缩转发表的空间,减少了查找转发表的时间。

(3)地址掩码

​ 我们人类可以通过斜线标记法快速计算出网络前缀,这种斜线标记在计算机中是没有的,而是通过地址掩码来计算的。

​ 子网掩码是一串连续的1和0组成,CIDR记法中斜线后面的数字即为1的个数。

​ 111.112.113.1/20 AND 255.255.240.0 =>111.112.112.0/20

二、地址解析协议ARP

​ 我们知道IP地址是网路层和上层使用的地址,是一种逻辑地址,而MAC地址是数据链路层使用的地址。IP地址放在IP数据报的首部,IP数据报在数据链路层被封装成帧,而MAC地址则放在MAC帧的首部,所以数据链路层是看不见数据报的IP地址的,是依靠MAC地址传送的。所以在数据链路层怎样知道目的地址的MAC地址呢?

​ ARP在主机的ARP高速缓存中存放一个本局域网上的各主机和路由器的IP地址到MAC地址的映射表,并且经常动态更新。

​ 例如在某个局域网,A向B发送数据报,首先在ARP高速缓存中查找B的IP地址,如有则将其对应的MAC地址写入MAC帧然后发送到该MAC地址。

​ 如果找不到呢?

​ (1)A的ARP进程在本局域网上广播一个ARP请求分组,其中包含A的IP地址和MAC地址。

​ (2)本局域网上的所有主机都能收到该分组。

​ (3)主机B的IP地址与ARP请求分组中要查询的IP地址一致,则收下该分组,其他主机都不会理睬这个分组。B向A单播ARP响应分组,其中包含B的MAC地址。(为了避免B向A发送ARP请求分组,减少网络通信量,B在收到A的请求分组后,也会将A的映射信息写入自己的高速缓存)。

​ (4)A收到响应分组后就在其ARP高速缓存中写入主机B的IP到MAC地址的映射。

ARP对保存在高速缓存中的映射项都设置生存时间,凡超过生存时间的项目就从告诉缓存中删掉。这样就能避免因某主机网络适配器损坏导致MAC地址失效,而无法被别的主机找到的问题。

三、IP数据报格式

IP数据报首部格式分为2部分:
在这里插入图片描述

1、固定部分

(1)版本

​ 4位。协议IP的版本。

(2)首部长度

​ 4位。以4字节位为单位。因为首部固定长度为20字节,所以最小值为5。最大值为15,所以首部长度最大值为60字节。当首部长度不是4字节的倍数时,则需在填充字段加以填充。这样就能保证数据部分永远在4字节的整数倍开始,方便实现IP协议。

(3)区分服务

​ 8位。用来获得更好的服务。

(4)总长度

​ 16位。首部和数据部分长度之和。最大长度为216-1=65535字节,但是受链路层MTU限制,超过MTU则需分片处理,而且实际中也很少传送这么长的数据报。

​ 尽可能长的IP数据报会提高传输效率,但IP数据报越短,路由器转发的速度就越快。因此规定主机和路由器必须能够接受长度不超过576字节的数据报。(512上层数据+60首部长度+4富余)。

(5)标识

​ 16位。IP软件在存储器中维护一个计数器,每产生一个数据报,计数器就加1,但这并不是为了按序接收的问题,因为IP本身就是无连接的,而是为了在分片时,给每个分片的标识字段赋值,相同字段值的数据报片就能重装为原来的数据报。

(6)标志

​ 3位,目前只有两位有效。

  • 最低位MF(more fragment):值为表示后面还有分片,为0表示已是数据报片的最后一个。
  • 中间位DF(don’t fragment):不能分片,值为0时才允许分片。

(7)片偏移

​ 13位。分片后,某片在原分组中的相对位置。以8字节为偏移单位(也就是说除了最后一个数据报片外,其他分片都是8字节的整数倍)。

(8)生存时间

​ 8位。TTL(time to live),表明数据报在网络中的寿命。由发出数据报的源点来设置,防止无法交付的数据报无限制的在互联网中兜圈子而耗费网络资源。

​ TTL起初以秒为单位,每经过一个路由器TTL就减去数据报在该路由器所消耗的时间。随着技术的进步,路由器处理数据报的时间一般都远远小于1秒,TTL功能则改为了“跳数限制”。表示该数据报在互联网至多可经过多少个路由器(最大值255)。当TTL减为0时,该数据报就会被丢弃。

(9)协议

​ 8位。指出此数据报携带的数据适用何种协议,以便使目的主机IP层知道应将数据部分上交给哪个协议处理。
在这里插入图片描述

(10)首部检验和

​ 16位。只检验数据报的首部,不检验数据部分。

​ 在发送方将首部划分为16位的序列,并把检验和字段置0,以反码算数运算全部相加后再取反码得到检验和字段值。在接收方将所有16位序列以反码算数运算相加后取反码,如果不为0则表示首部发生变化,并将此数据报丢弃。

(11)源地址

​ 32位。发送IP数据报的主机的IP地址。

(12)目的地址

​ 32位。接收IP数据报的主机的IP地址。

2、可变部分

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

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

相关文章

Day 11 python学习笔记

模块 内置模块 random random&#xff1a;随机数模块 我们可以在解释器中看到其蕴含的方法 接下来我解释一些常用的方法&#xff1a; random.random( ) random.random( ) 返回0-1的随机数 [0,1) >>> random.random() 0.364183511476754 random.randint(n,m) r…

Team AI:简化繁琐日常任务,打造团队智能协作

在过去的几个月里&#xff0c;我的同事们&#xff08;Thoughtworker&#xff09;一直在构建 Team AI 项目&#xff0c;一个围绕于 AIGC 辅助开发团队的野心勃勃的计划。在内部&#xff0c;我们还有一个名为 Team AI Hackathon 的活动&#xff0c;基于一个内部的 Team AI 代码库…

CCS3列表和超链接样式

在默认状态下&#xff0c;超链接文本显示为蓝色、下画线效果&#xff0c;当鼠标指针移过超链接时显示为手形&#xff0c;访问过的超链接文本显示为紫色&#xff1b;而列表项目默认会缩进显示&#xff0c;并在左侧显示项目符号。在网页设计中&#xff0c;一般可以根据需要重新定…

使用Llama index构建多代理 RAG

检索增强生成(RAG)已成为增强大型语言模型(LLM)能力的一种强大技术。通过从知识来源中检索相关信息并将其纳入提示&#xff0c;RAG为LLM提供了有用的上下文&#xff0c;以产生基于事实的输出。 但是现有的单代理RAG系统面临着检索效率低下、高延迟和次优提示的挑战。这些问题在…

答题小程序源码个人每日答题怎么做

答题小程序源码之个人每日答题怎么做 该模式以个人学习答题的方式进行答题&#xff0c;每人每天有X次答题机会&#xff0c;答对一题得X分&#xff0c;连续答对有额外奖励积分&#xff0c;每道题有倒计时X秒的思考时间。答题完成后领取本次的奖励积分。答题过程中如发现题目或答…

3D模拟场景开发引擎

在3D工程模拟开发中&#xff0c;有一些专门的引擎和工具可供选择&#xff0c;以帮助您创建逼真的三维模拟和模型。以下是一些用于3D工程模拟的开发引擎和工具&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流…

matlab 布尔莎七参数坐标转换模型

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫自重,把自己当个人。 一、算法原理 算法原理与实现代码已在免费文章:布尔莎七参数坐标转换模型一文中给出,不想看付费文章直接跳转即可。 二、代码实现 clc; clear; close all; %% --

C语言C位出道心法(一):基础语法

一:基础语法认知:|变量|常量|数据类型| 变量与常量,数据类型认知升维 C语言中各种变量的定义及数据类型的认知: 一般而言,在譬如C等高级编程语言中,我们定义不同的类型的变量,需要不同的数据类型来进行声明,不同类型的数据类型声明的变量占用的内存空间不一样; 而数据类型大致…

go中“哨兵错误”的由来及使用建议

“哨兵错误&#xff08;sentinel error&#xff09;”这个词的出处。之前我也只是在一些书籍和资料中见到过&#xff0c;也没深究。当这个网友问了我之后&#xff0c;就深入的翻了翻资料&#xff0c;在golang的官方博客中找到了这个词的提法&#xff0c;也算是比较官方的了吧。…

如何在外SSH远程连接Ubuntu系统【无公网IP】

如何在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 如何在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经…

酷开科技,让家庭更有温度!

生活中总有一些瞬间&#xff0c;会让我们感到无比温暖和幸福。一个拥抱、一句问候、一杯热茶&#xff0c;都能让我们感受到家庭的温馨和关爱。酷开科技也用自己的方式为我们带来了独属于科技的温暖&#xff0c;通过全新的体验将消费者带进一个充满惊喜的世界&#xff0c;让消费…

常见排序算法之堆排序

堆排序是一种利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构&#xff0c;并同时满足堆积的性质&#xff1a;即子结点的键值或索引总是小于&#xff08;或者大于&#xff09;它的父节点。 需要注意的是排升序要建大堆&#xff0c;排降序建小堆…

SurfaceFliger与Vsync信号如何建立链接?

Vsync信号上报流程 Vsync的注册函数&#xff0c;来临时会回调HWComposer的hook_VSYNC方法&#xff0c;接着调用到vsync方法中 大致流程梳理&#xff1a; 该方法会通知给SurfaceFliger的onVsyncReceived方法&#xff0c;接着调用DispSync的addResyncSample方法。 DispSyncThr…

2023-在mac下安装Homebrew的国内镜像

mac安装Homebrew的国内镜像 尝试使用其他下载源&#xff1a;GitHub 可能会受到访问限制&#xff0c;尝试使用其他镜像或下载源。您可以使用清华大学、中科大或阿里云的 Homebrew 镜像&#xff0c;以提高下载速度和可靠性。例如&#xff0c;可以使用阿里云的镜像来安装 Homebre…

window系统修改rabbitmq 默认端口

安装完rabbitmq之后&#xff0c;默认的client端口是5672, 控制台访问端口是15672&#xff0c;rabbitmq管理工具启动之后在浏览器中输入地址&#xff1a; ​ ​http://localhost:15672/​​​ 就可以访问后台​ ​​​&#xff0c; 默认管理员账号&#xff1a;guest 密码&#x…

虚拟化、容器与Docker基本介绍以及安装部署(Docker 基本管理)

虚拟化、容器与Docker基本介绍以及安装部署&#xff08;Docker 基本管理&#xff09; 1、Docker 概述1.1Docker与虚拟机的区别1.2容器在内核中支持2种重要技术&#xff1a;1.3Docker核心概念 2、安装docker服务docker安装步骤详解 3、 网络优化4、docker基本命令4.1查看镜像——…

Unity 粒子特效-第二集-烟雾特效

一、烟雾特效预览 二、制作原理 资源在绑定资源里&#xff0c;我得审核通过以后才能改成免费&#xff0c;如果着急要&#xff0c;可以评论区发一下&#xff0c;我给你们发网盘 1.这个是序列帧图片粒子特效一起组合而成的 这就是一个单独整个的烟雾动画 如下&#xff0c;是这…

连铸生产线液压系统比例伺服阀放大器

连铸生产线液压系统是连铸机的关键组成部分&#xff0c;它由液压站组成&#xff0c;包括高压泵站、剪切机泵站、滑动水口站、塞棒液压站、中间罐车液压站和倾翻台液压站。这些站点通过管道连接&#xff0c;共同实现连铸机的各类动作&#xff0c;如升降、横移、定位、锁紧及辊缝…

如何借助数据集更好的评估NLP模型的性能?

随着信息时代的迅猛发展&#xff0c;每天有无数文本、声音、图片和视频不断涌入互联网。如何从海量数据中提炼有意义信息成为学术界和工业界迫切需要解决的问题。在此背景下&#xff0c;自然语言处理&#xff08;NLP&#xff09;应运而生&#xff0c;成为人工智能领域最为活跃的…

设计模式_观察者模式

观察者模式 介绍 设计模式定义案例问题堆积在哪里解决办法观察者是行为型设计模式 多个对象 观察 1个对象小强考试完 成绩公布了 家长/同学得知成绩后 做出不同反应一个一个通知很麻烦 先通知谁 也有讲究的 信息发布方 抽象出一个信息管理类 负责管理监听者 类图 代码 Obse…