计算机网络 01 IP协议

news2024/11/27 3:47:41

01.IP协议,也就是IP报文。
宏观:
在这里插入图片描述

在这里插入图片描述
首部长度:由于固定部分是20B,所以数值最小是5。

02.IP报文,中的IP地址,常见的是IPV4,也就是四个字节,32位。
常见的IP地址有三种:
第一种:四种分类地址
在这里插入图片描述
A类:网络号共8位,首位固定为 0,接下来连续的7位可以自由设定。从00000001-01111110 因为01111111是一个特殊的网络号,这代表迂回访问,也就是自我访问的网络号,而00000000也是一个特殊的额网络号。所以说,网络好的范围是从1-126.

B类: 网络号共16位,前两位固定为 1 0,接下来连续的14位可以自由设定;主机号为16位。10000000-10111111 从128-191,B类中的128.0是不能用的

C类:网络号共24位,前三位固定为 1 1 0,接下来连续的21位可以自由设定;主机号为8位。11000000-11011111 从192-223,C类中的192.0.0是不能用的
p.s.
分类的IP地址中的特殊的地址:
在这里插入图片描述

03.NAT技术
私用IP地址转换成为共有IP地址。
私有IP地址:
IP地址是有数量限制的,现有的IP地址很显然不够满足IP地址的需求。有一些IP地址仅仅只是用于一个局域网内的通信,不会去访问其他网段的数据,那么这个局域网可以看作是一个独立的区域,外界用啥IP与我无关。
RFC 1918规定了用于组建局域网的私有IP地址:

10.,前8位是网络号,共16777216个地址
172.16.
到 172.31.,前12位是网络号,共1048576个地址
192.168.
,前16位是网络号,共65,536个地址

该范围内的都是私有IP,其余的则称为公网IP(全局IP)。私有IP是一个局域网内所使用的IP,公网IP则是,无论在哪里都可以被访问到的IP。最典型的例子就是,我们熟知的网站所使用的IP就是公网IP,比如百度(39.156.66.10)、淘宝(140.205.220.96)。

那么问题来了,如果局域网里的主机想要访问公网IP,应该如何实现呢??答案是路由器给我们提供了跨网络传输的方案。

在这里插入图片描述
路由器可以看作是一个封闭局域网的一扇门。每个局域网至少存在一个路由器,一个路由器配备了两个IP地址,因为路由器也看作一台设备,对内提供一个IP地址,允许局域网内的设备可以访问自己,这个IP我们称为LAN口IP(子网IP);对外提供一个IP地址,以便于该局域网可以访问其他局域网,对外的IP我们称为WAN口IP。

本文部分转载自这篇文章:
原文链接:https://blog.csdn.net/challenglistic/article/details/126795528

04.子网划分和子网掩码
子网:
在这里插入图片描述
在这里插入图片描述
子网掩码:
在这里插入图片描述

05.最大传送单元MTU
在这里插入图片描述
ip数据报会在数据链路层进行封装,也就是加上数据帧的头和尾。在链路层中,要求数据帧的数据部分最大不超过一定的数值,在以太网中是1500字节。

超过最大MTU后,进行分片。这个要在IP报文那里看。
在这里插入图片描述
在标志中的DF=0时候,才可以进行分片。MF位只是表示是不是最后一个分片,并不能表示具体分片的位置。这个需要看片偏移。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 Python 中使用requests模块发布表单数据

文章目录 使用 requests 模块在 Python 中发布表单数据POST请求方式介绍在 Python 中安装 requests 模块post() 方法的应用 本篇文章介绍了 Python requests 模块,并说明了我们如何使用该模块在 Python 中发布表单数据。 使用 requests 模块在 Python 中发布表单数据…

由浅入深,详解ViewModel那些事

前言:今年的龙舟雨来了,一场接一场,雨量很大。 前言 以往如果需要在 Activity 或者 Fragment 中保存数据状态则需要重写onSaveInstanceState ,使用bundle去存储相应的数据和状态,但是这也只能保存轻量简单的序列化数据…

【STM32】软件I2C

【STM32】软件I2C I2C简介 I2C总线是一种串行、半双工的总线,主要用于近距离、低速的芯片之间的通信。I2C总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步。 在一个i2c通讯总线中,可连接…

怎么显示文件后缀名?查看文件后缀名可以这样做!

案例:在我的电脑上,看不到文件的后缀名,这会导致命名时出现重复文件后缀的情况,给我带来了不好的体验。怎么才能看到文件的后缀名呢?如何操作? 在日常使用电脑的过程中,我们经常需要查看文件的…

实习记录(二)Java常用工具库

一.Lombok 1.背景概述 Lombok是一个非常高效的专用于Java的自动构建插件库,其简化了 JavaBean 的编写,避免了冗余和样板式代码的出现,让编写的类更加简洁明了,可以帮助大家节省很多重复低效的代码编写。比如重复性的Setter、Gett…

【c语言】五道经典练习题④

目录 ①、年月日经过n天后的日期 ②、坐标排序 ③、统计文件中出现某个单词的次数 ④、输出含for的行 ⑤、比较两个文本是否相等 ①、年月日经过n天后的日期 题述:定义包含年月日表示的日期的结构体,写程序实现计算某年某月某日过n天后的日期是哪年…

肠道细菌阻碍阿卡波糖的降血糖作用

我们知道,口服抗糖尿病药是治疗糖尿病的有效方式之一。然而,患者对抗糖尿病药的反应程度各不相同,例如,有些患者在长期使用阿卡波糖后会产生耐药性。 阿卡波糖通常在饭前口服。它抑制人α-葡萄糖苷酶达到降血糖作用,包…

GWO-VMD-近似熵-极限学习机的轴承故障诊断软件,以西储大学轴承数据为例,采用MATLABAPP开发

采用灰狼算法优化VMD两个参数,以包络熵为最小适应度值,在最佳参数下提取采用近似熵指标提取西储大学轴承数据的特征向量,最后选用极限学习机ELM进行故障诊断。将以上程序集成在MATLABAPP进行开发。 首先是这个软件的各个界面展示。 软件启动…

云安全技术(四)之云计算安全的设计原则

计算安全的设计原则 Understand Design Principles of Secure Cloud Computing 1.1 云安全数据生命周期 Cloud secure data lifecycle 数据始终是安全保护的首要问题。必须深刻了解数据生命周期,以便正确制定和遵守安全策略,把握正确的步骤顺序&#xf…

万博智云与品高股份完成产品兼容性互认证,持续助力国产化生态建设

近日,万博智云的HyperBDR云容灾软件与广州市品高股份有限公司(简称:品高股份)旗下产品品高基础架构云资源管理软件V9.0完成了产品兼容性认证。 经万博智云和品高云双方人员的共同测试,得出结论: HyperBDR…

【C/C++数据结构与算法】C语言链表

目录 一、单链表 二、双向循环链表 三、判断链表是否带环 四、链表的回文结构判断 五、复制带随机指针的链表 一、单链表 优点:头部增删效率高,动态存储无空间浪费 缺点:尾部增删、遍历效率低,不支持随机访问节点 头结点&…

【夜深人静学习数据结构与算法 | 第六篇】贪心算法

目录 前言: 引入: 贪心算法: 455. 分发饼干 - 力扣(LeetCode) 376. 摆动序列 - 力扣(LeetCode) 53. 最大子数组和 - 力扣(LeetCode) 122. 买卖股票的最佳时机 II - 力扣&a…

【Python 随练】统计字符类型个数

题目: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 简介: 在本篇博客中,我们将解决一个字符统计问题:输入一行字符,统计其中英文字母、空格、数字和其他字符的个数。我们将提供…

学习python爬虫需要掌握哪些库?

Python爬虫是指使用Python编写的程序,用来自动化地获取互联网上的数据。通过爬取网站的HTML内容,并解析和提取所需的数据,可以实现自动化地收集、分析和处理大量的在线数据。 学习Python爬虫需要掌握以下几个核心库: Requests&am…

【ARM AMBA AXI 入门 9 - AXI 总线 AxPROT 与安全之间的关系 】

文章目录 介绍ARM Trustzone的安全扩展简介 1.1 AXI AxPROT 介绍1.1.1 AXI 对 Trustzone的支持 介绍 ARMv8 架构中的AXI(Advanced eXtensible Interface)总线与NS(Non-Secure)位密切相关。NS位是指在ARM TrustZone安全扩展中定义…

LeetCode 1254. Number of Closed Islands【DFS,BFS,并查集】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

单片机MCU如何实现让部分代码运行在RAM中

随着单片机硬件的发展,其中的RAM和flash越做越大。MCU在实际的使用中,通常程序都是运行在flash上的,RAM的高速空间并没有得到充分的利用,如果我们的程序需要运行的更快,系统有更好的实时性,我们可以考虑将这…

CSS查缺补漏之《常用长度单位(px、em、rem、%、vw/vh、vmin/vmax)》

此文内容较少,轻轻松松掌握,莫要有压力~ 正如现实生活中长度具有mm、dm、cm、m等,在css中,也具备多种长度单位,本文对常用的几种单位进行详细举例介绍~ px:像素单位 初学css时,px单位经常被使用…

【Leetcode60天带刷】day08字符串——344.反转字符串, 541. 反转字符串II,剑指Offer 05.替换空格,151.翻转字符串里的单词

题目: 344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入&…

基于SpringBoot+Vue的“漫画之家”系统设计与实现

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…