计算机网络-网络层:IP协议

news2024/12/23 13:51:38

目录

一、IP协议格式

二、IP地址管理

1.动态地址分配&组建私网

1.1 动态地址分配DHCP

1.2 NAT技术组建私网

2. 早期网络划分方式

3. 当前网络划分方式CIDR方案

4. 特殊IP地址

5. 公网与私网(外网与内网)

6. 路由选择


网络层:负责地址管理与路由选择

一、IP协议格式

4位版本号:

        4/6 表示:ipv4、ipv6。

4位头部长度:

        以4B为单位描述报头大小,IP报头最大为60B,最小为20B。

8位服务器:

        3位优先权字段弃用,1位保留(暂未使用),4位服务类型。

        4位服务类型:最小成本,最高可靠性,最大吞吐率,最小延时。

16位数据报长度:

        限制IP报文必须小于64k。

16位分片标识:

        标识当前分片属于哪个原始报文。

网络层的数据分片:

        在链路层存在一个MTU(最大传输单元),是链路层限制的一个数据帧大小。以太网默认是1500字节。网络层在拿到传输层交付给自己的数据后,会判断封装报头后,是否会大于MTU,如果大于MTU则需要进行数据分片(将大的完整的报文,分割成多个小的报文)。

        网络层会给每个分片都封装一个IP报头,然后发送数据。

        数据到达对端主机后,会进行分片重组,重组为原始报文交付给传输层。但是网络传输就有可能使数据没有按序到达,因此每个分片中都有标识自己属于哪个原始报文,并且标识自己所在原始报文中的位置。

3位标志:

        1位保留,1位禁止分片标志(置1表示不允许分片),1位分片结束标志。

13位分片偏移:

        标识当前分片在原始报文中相对起始的偏移量。

注意:13位分片偏移没办法表示64k的偏移量,所以这个分片偏移是以8B为单位的。因此除了最后一个分片,其他分片一定都是8的整数倍大小。

8位TTL:

        报文生命周期:所能经过的路由器跳数。

8位上层协议类型:

        数据分用的时候,选择当前数据所使用的解析协议。

16位校验和:

        校验数据的一致性。

32位源端IP&32位对端IP:

        描述通信的起点与终点主机。

0~40字节选项数据:

        路由信息……

二、IP地址管理

1.动态地址分配&组建私网

        ipv4地址共有近43亿,但是也出现了不够用的情况,出现了两种解决方案:

1.1 动态地址分配DHCP

        DHCP:动态地址分配,谁上网给谁分配IP地址。

1.2 NAT技术组建私网

        NAT网络地址转换技术。

2. 早期网络划分方式

IP地址的分配是一种分网络的分配,每个子网只分配固定的IP地址。

IP地址组成:网络号+主机号

        网络号:当前IP地址所在子网络的标识;

        主机号:一个主机在其所在子网中的标识。

A类:高1位固定为0,7位网络号,24位主机号,用于组建超大型网络。

        网络号范围:0~127

        IP地址范围:0.0.0.0~127.255.255.255

B类:高2位固定10,14位网络号,16位主机号,用于组建中型网络。

        网络号范围:128.0~191.255

        IP地址范围:128.0.0.0~191.255.255.255

C类:高3位固定110,21位网络号,8位主机号,

        网络号范围:192.0.0~223.255.255

        IP地址范围:192.0.0.0~223.255.255.255

D类、E类

3. 当前网络划分方式CIDR方案

        在早期基础上进行细分,引入了子网掩码

子网掩码:

        无符号4字节的整数,规则是必须由连续的二进制1组成。

子网掩码作用:

(1)子网划分,限定一个子网的主机号个数。子网掩码取反就是一个子网中的最大主机号。

(2)判断一个IP地址是否属于某个子网。子网掩码与IP地址相与,可以得到子网网络号。

4. 特殊IP地址

(1)127.0.0.1

        本地的虚拟回环网卡地址,用于进行本地的网络回环测试。

(2)255.255.255.255

        全网广播地址。

(3)0.0.0.0

        被识别为本机任意网卡地址(常用于服务端绑定地址)。

(4)主机号全0的IP地址

        表示网络号,是网络标识。

(5)主机号全为1的IP地址

        局域网的广播地址(udp广播)。

5. 公网与私网(外网与内网)

公网(外网):我们常说的互联网,也叫外网。

私网(内网):自己用路由器实现的内部通信网络,也叫内网

组建私网的作用:

        使用NAT技术,可以让私网中的大量主机使用同一个对外地址进行上网,节省IP地址的使用。

        因为私网对外通信使用的是对外地址,私网内部的地址对外不可见,因此不同的私网,IP地址可以重复。

用于组建私网的网络:

(1)10.*.*.*

(2)172.16.*.*~172.31.*.*

(3)192.168.*.*

6. 路由选择

每个网络设备上都有一个路由表:

(1)路由表中记录了当前设备所连接的网络信息。

(2)其实在互联网上,每个路由器上不仅只有自己的路由表,还有周围其他路由器的路由表。

(3)路由器将流经路由器的数据目的IP地址与路由表中网络进行比对,看是否属于某个网络,然后进行路径规划,选择转发对象。

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

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

相关文章

JavaScript Date对象中的常用方法有哪些?

JavaScript中的日期对象用来处理日期和时间。例如,秒杀活动中日期的实时显示、时钟效果、在线日历等。下面将对日期对象进行详细讲解。 日期对象的使用 JavaScript中的日期对象需要使用new Date()实例化对象才能使用,Date()是日期对象的构造函数。在创…

服务访问质量(QoS)介绍与技术 一

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…

【LeetCode每日一题】——1290.二进制链表转整数

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 链表 二【题目难度】 简单 三【题目编号】 1290.二进制链表转整数 四【题目描述】 给你一个单…

Python时间模块之time模块

在项目开发中做功能经常会用到关于时间的操作。比如会员过期的定时任务,一些代码的延迟执行。今天介绍时间模块中的time模块。 目录 1.表示时间的方式: 2.格式化时间中字符的含义: 3.函数转换关系 4.函数介绍及应用 time() localtime() …

10Gb每秒!SM4的单核“心”!海泰携手海量数据安全“闪”护

引言 密码技术是保护网络与信息系统安全的核心技术,已经广泛应用到金融、能源、通信、交通、水利等各行各业,为国家安全和经济发展发挥重要作用。商用密码应用安全性评估(简称密评),是指在釆用商用密码技术、产品和服务…

[附源码]计算机毕业设计汽车租赁管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【numpy简介、入门、数组创建】

🤵‍♂️ 个人主页老虎也淘气 个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏…

基于jsp+mysql+ssm学生网上请假系统-计算机毕业设计

项目介绍 随着高校招生规模的逐步扩大和教学方式的改革,在校学生人数将不断增加。另一方面,我国高等学校基层学生考核工作的内容杂,管理细,要求高,头绪多,传统的手工档案式管理办法已基本不适应新形势的要…

[附源码]JAVA毕业设计社区管理与服务(系统+LW)

[附源码]JAVA毕业设计社区管理与服务(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&a…

XX集团BIM项目解决方案

目 录 一、BIM发展现状 二、集团BIM建设总体规划(建议) 1、BIM实施目标 2、BIM实施的范围 3、BIM实施原则 4、集团BIM项目组织架构 4.1职能分配 4.2建模组织形式 4.3人员匹配建议 5、集团BIM应用功能架构 5.1 BIM平台对集团管理层面的价值 5…

原来Python自带了数据库,用起来真方便

Python作为数据科学主流语言,被广泛用于数据读存、处理、分析、建模,可以说是无所不能。 数据一般存放在本地文件或者数据库里,之前介绍过如何使用python读取本地文件,也对# PyMySQL、cx_Oracle等数据库连接库做过简单的使用分享…

乾元通多卡聚合通信设备应急指挥车视频图传解决方案

行业现状 1) 不稳定:单一通信链路受运营商网络覆盖影响,不同区域信号强度不一样,无法实现。 2) 网速慢:受基站信号质量及拥塞影响,单路网速较差,高清视频监控等由于网络带宽不够,只能以低画质…

基于jsp+ssm的新生入学报道系统-计算机毕业设计

项目介绍 众多高校为了响应国家的号召,很多管理办法都落实到科学管理,通过计算机来实现对学校的具体管理办法当中,不仅仅促进了学校里计算机系统管理的发展,同时一定程度上加大了对学校的管理力度,数据量的不断增加&a…

Java常问面试题概要答案

文章目录1.JDK、JRE、JVM的区别2.hashcode()与equals()之间的关系3.String、StringBuffer、StringBuilder的区别4.Java泛型5.ArrayList和LinkedList区别6.ConcurrentHashMap7. B树和B树8.负载均衡常见策略1.JDK、JRE、JVM的区别 JDK:java标准开发包,包含…

【安全测试】渗透测试神器BurpSuite环境搭建

工欲善其事,必先利其器,要想更好的进行安全测试,就需要有一个趁手的工具,BurpSuite就是一个不错的选择,是广大安全测试工程师的必备工具,今天就带着大家把这个工具给装上,开启大家的安全测试之旅…

数据结构与算法基础-学习-06-线性表之创建循环链表、创建尾指针循环链表、两个尾指针循环链表连接

一、测试环境 名称值cpu12th Gen Intel Core™ i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数2gcc 版本4.8.5 20150623 二、个人理解 1、循环链表优点 无论指针指向哪个节点,都可以访问任何一个其他节点。 2、尾指针循环链表优点 同上…

实现端口扫描

实现原理 tcp扫描 创建tcp客户端然后与目标地址的每个端口建立连接,如果能连接成功说明目标地址此端口已经被打开。 判断是什么协议 连接成功后读取字节,如ssh协议的端口会读取到如这种的数据SSH-2.0-OpenSSH_7.4;创建http/s客户端与已经扫描出来的端…

LINUX漏洞复现篇之ShellShock漏洞

简介 ShellShock漏洞, 中文称为"破壳漏洞", 是Unix Shell中的安全漏洞 在一些网络服务器的部署中, 使用bash来处理某些请求, 允许攻击者通过低版本的bash执行任意Shell命令 此漏洞在调用BashShell之前使用payload创建环境变量, 这些环境变量包含Shell代码, 在Shel…

家庭生活开支如何记录,怎么记账一目了然

家庭日常开支明细怎么记账一目了然呢?很多上了年龄的人比较擅长使用传统的方法纸笔记录家庭账目,可是统计起来就比较麻烦;而年轻人则比较跟随时代潮流,喜欢使用一些电子记账工具,比如借助电脑手机上的记账类软件来记录…

5个实用的性能测试工具(软件测试工程师必备)

在日常的软件测试工作中,最常用的性能测试工具是LoadRunner和Jmeter。今天给大家整理了5个针对web应用程序性能和负载压力能力的最广泛使用的性能测试工具。 这几个负载测试工具将确保应用程序在高峰流量和极端压力条件下的性能。 包括开源和授权的性能测试工具。…