第07-4章 网络层详解

news2024/9/20 2:58:03

7.1 网络层协议

  • IP协议
  • ARP(地址解析协议)
  • RARP(反向地址解析协议)
  • ICMP(互联网控制消息协议)

7.2 IP协议详解

7.2.1 IP协议功能

  • 寻址和路由
  • 传递服务(不可靠,尽最大努力,可靠性由上层协议提供;无连接)
  • 数据报分段与重组

7.2.2 IP数据报解析

在这里插入图片描述
(1)IP数据报由两部分组成1.首部;2.数据部分;首部(大小20bye到60bye之间)由两部分组成:1.固定部分(大小20字节);2.可变部分(最大为40字节)。
(2)版本——占4bit,指IP协议的版本,目前的IP协议版本号为4(0100)(即IPV4)。
(3)首部长度——占4bit,可表示的最大数是15个单位(一个单位为4字节),因此IP的首部长度的最大值是60bye。
(4)服务类型——这个字段一直没有被使用过。

  • D:delay 延时 T:throughput 吞吐量 R:reliablity 可靠性 cost 最小代价
  • 区分服务,占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。

(5)总长度——占16bit,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535bye,总长度必须不超过最大传送单元MTU。
(6)理解标识、标志、片移量,分片——运苹果,选择火车,苹果太多分开来运,苹果有种类,列车须有标识,同样型号的一批苹果;标志:有三位,第一位保留不使用,第二位(D位):如果为1代表一批运,不分批;第三位(M位):如果为1代表分批运,货物后面还有,还没有完;片移量——每辆火车之间隔得距离。

  • 标识(Identification)——占16bit,它是一个计数器,用来产生数据报的标识;标识与ip决定了IP数据报的唯一性。
  • 标志(flag)——占3bit,目前只有后两个bit有意义,标志字段的最低位是MF(More Fragment),MF=1表示后面“还有分片”,MF=0表示最后一个分片;标志字段中间的中间一位是DF(Don’t Fragment),只有当DF=0是才允许分片。
  • 片移量(Fragment offset)——13bit,较长的分组在分片后某片在原分组中的相对位置,片移量以8个字节为偏移单位。
    在这里插入图片描述
    (7)生存时间——8bit,记为TTL(Time to live),这是为了限制数据报在网络中的生存时间,其单位最初是秒,但为了方便,现在都用“跳数”作为TTL的单位,数据报每经过一个路由器,其TTL值就减1。Windows的TTL为64。
    (8)协议——8bit,使用上层协议,指出此数据报携带的数据使用何种协议以便目的主机的IP层将数据部分上交给哪个处理过程。
    在这里插入图片描述
    (9)首部校验和——16bit,字段只检验数据报的首部,不包括数据部分这里不采用CRC检验码而采用简单的计算方法。
    (10)源地址,目的地址——占4个bye。
    (11)可变部分

在这里插入图片描述

7.3 ARP协议详解

7.3.1 IP地址和MAC 地址特征分析

  • 逻辑地址:网络级,也就是IP,工作在网络层,特征:1、全局唯一性;2、用软件实现;3、32位;
  • 物理地址:物理级,mac地址,工作在网络接口层,特征:1.本地范围具有唯一性;2.用硬件实现;3.48位;

在这里插入图片描述
在这里插入图片描述

7.3.2 有了IP地址为什么还要使用MAC

有了IP地址为什么还要使用MAC,原因如下:

  • IP地址一般情况下容易修改和变动,具有随意性,不能在网络上固定标识一台设备;
  • MAC地址一般情况出厂时由厂家烧录到硬件中,不容易修改,在局域范围内容易定位唯一一台设备;
  • 从拓扑结构和分层上分析,IP地址属于网络层部分,主要功能是在广域网范围内路由寻址,选择最佳路由,而MAC地址在网络接口层要形成适合于网络媒体上传输的数据帧。

标识设备的3种方法(访问):
1.域名;随意特性
2.IP地址;随意特性
3.MAC地址(理论上可以通过MAC访问);固定特性

7.3.3 ARP工作过程及工作原理解析

ARP:局域网内:
在这里插入图片描述

在这里插入图片描述
ARP:广域网内:
在这里插入图片描述
RouterA,RouterB为代理ARP,PCA知道的是网关的MAC地址也就是FA0/0的MAC,同理,PCB也是。

文字说明
(1)ARP ( Address Resolution Protocol )地址解析协议用于将计算机的网络IP地址转化为物理MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一—对应的。
(2)ARP缓存表:1.静态映射缓存表;2.动态映射缓存表。
(3)不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。
(4)ARP高速缓存的作用

  • 为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。
  • 当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。

(5)应该注意的问题

  • ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
  • 如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
  • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
  • 只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
  • 默认情况下ARP缓存的超时时限是两分钟。

ARP相关命令

  • arp -d清楚本机arp缓存表
  • arp -a查看本机当前arp表
  • arp -s绑定arp地址(注意:本次机器生效,下次重启后会全部失效)

7.3.4 ARP分组封装格式及RAPR解析

ARP分组封装格式

  • 硬件类型(以太网)与协议类型(IPV4)都为16位;
  • 硬件长度也就是MAC长度48位,协议长度也就是IP长度为32位;
  • 操作为16位;

在这里插入图片描述
ARP分组封装
在这里插入图片描述
RARP(反地址解析协议)
在这里插入图片描述

  • 逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址
  • 这种主机往往是无盘工作站。因此RARP协议目前已很少使用

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

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

相关文章

牛客小白月赛91 ----- Bingbong的回文路径 ---- 题解

Bingbong的回文路径: 题目描述: 思路解析: 现在有一棵树,树上每个结点上都有一个小写字母,那么如果唯一确定了x和y两个结点,那么就唯一确定了一个字符串路径(最短路径)。 -现在给出…

linux内核初始化成功后是如何过渡到android初始化的

Android用的linux内核,以完成OS该有的功能,例如,文件系统,网络,内存管理,进程调度,驱动等 ,向下管理硬件资源向上提供系统调用。另一些Android特有驱动也放在内核之中。 当linux内核…

Vue3+TS版本Uniapp:封装uni.request请求配置

作者:前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 封装请求配置项 封装拦截器封装uni.request 封装拦截器 uniapp的封装逻辑不同于Vue3项目中直接使用axios.create()方法创建实例(在create方法中写入请求…

ChatGPT基础(三) 让ChatGPT回答质量提高十倍的提示词模版

上篇文章介绍了ChatGPT使用提示词的一些方法策略和如何优化我们的提示词。这里呢,我介绍一下参照大佬的方法总结的一个提示词的一个用法的模板。使用这个模板之后,我们的提问和获得答案的效率和收集素材的完整度能提高很多。 首先我介绍一下这个模板&am…

实战|哈尔滨等保2.0 Linux主机测评过程之身份鉴别

一、身份鉴别 a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。 输入 more /etc/shadow,得知系统所有用户,此语句字段格式有九段。 第一字段:用户名(也被称为登录名…

Nature Communications 构筑了具备优异形状记忆功能的聚合物材料

2024年2月29日,华东理工大学化学与分子工程学院、费林加诺贝尔奖科学家联合研究中心曲大辉教授团队在形状记忆功能聚合物材料研究中取得新进展,相关研究成果发表于《自然通讯》,这项研究取得了在形状记忆功能聚合物材料领域的新进展。研究团队…

国内ai人工智能软件大全

很多人一直在寻找一个稳定且可靠的全球AI大模型测试平台,希望它不仅真实可信,而且能提供稳定、快速的服务,不会频繁出现故障或响应缓慢。迄今为止,我已经尝试了国内外至少10个不同的服务站点。不幸的是,这些站点总是存…

【UE 材质】雨滴效果

在上一篇博客(【UE 材质】表面湿润效果)的基础上继续实现物体表面附加雨滴的效果 效果 步骤 1. 下载所需纹理 2. 创建一个材质并打开,添加如下节点,我们将纹理的RG通道输出的值和1组成一个三维向量,作为基本的法线效…

Shapley量化调峰成本?高比例可再生能源电力系统的调峰成本量化与分摊模型程序代码!

前言 在能源安全、环境污染和气候变化的大背景下,大力发展可再生能源是应对全球气候变化,实现“碳达峰、碳中和”和可持续发展的重大需求。截至2020年底,中国风电总装机容量为281GW,风力发电466.5TWh,同比增长约15%&a…

Reddit数据API 获取reddit的帖子、评论、按关键字搜索

近期调研发现 iDataRiver平台 https://www.idatariver.com/zh-cn/ 提供开箱即用的Reddit数据采集API,是目前用下来最方便简单的API,可以抓取 reddit 公开数据,例如 subreddit 中的帖子、按关键字搜索以及文章评论等,供用户按需调用…

【算法】实验室2024第一次考核复盘

【算法】实验室2024第一次考核复盘 本篇博客将遵循从易到难的原则,依次解析这几道考核题目。 原题链接: 125. 验证回文串 - 力扣(LeetCode) 使用两个指针i和j分别从字符串的两端开始,i从左往右,j从右往左。…

MySQL如何避免全表扫描?

MySQL如何避免全表扫描? 这篇文章解释了何时以及为什么MySQL会执行全表扫描来解析查询,以及如何避免在大型表上进行不必要的全表扫描。 何时会发生全表扫描 MySQL使用全表扫描(在EXPLAIN输出中的type列显示为ALL)来解析查询的几…

继东风一汽通信后,天磊咨询再次与东风集团达成深度业务合作

(天磊咨询总经理:刘文喜) 在风起云涌的市场激战中,天磊咨询凭借其出类拔萃的专业实力与服务品质,犹如一颗璀璨明星般脱颖而出,成功与赫赫有名的东风集团达成业务合作。这一合作的达成,不单彰显…

用java实现PDF的下载

1.下载PDF模版 2.导入依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.5</version><type>pom</type></dependency> 3.完整代码 package com.by.controller…

数据存储的大小端和测试程序

1.引言 计算机和嵌入式产品中数据的存储方式分为大端和小端两种方式。为什么呢&#xff1f;因为对于大多数设备都需要存储超过1个字节的数据单元。比如&#xff0c;你要表达0x12345678这个数字。使用1个字节的存储空间是肯定完成不了的。因此&#xff0c;你必须使用4个字节的空…

Postgres数据库中的死锁是如何产生的,如何避免和解决?

文章目录 死锁的产生原因如何避免死锁如何解决死锁示例代码查询死锁信息终止事务 在Postgres数据库中&#xff0c;死锁是一种特殊的情况&#xff0c;其中两个或多个事务相互等待对方释放资源&#xff0c;从而导致它们都无法继续执行。这种情况通常发生在多个事务尝试以不同的顺…

HarmonyOS NEXT 使用Canvas实现模拟时钟案例

介绍 本示例介绍利用 Canvas 和定时器实现模拟时钟场景&#xff0c;该案例多用于用户需要显示自定义模拟时钟的场景。 效果图预览 使用说明 无需任何操作&#xff0c;进入本案例页面后&#xff0c;所见即模拟时钟的展示。 使用说明 无需任何操作&#xff0c;进入本案例页…

2024化工制造企业数字化白皮书

来源&#xff1a;蓝凌研究院 中国石油和化学工业联合会发布2023年中国石油和化工行业经济运行情况。数据显示&#xff0c;2023年&#xff0c;我国石化行业实现营业收入15.95万亿元&#xff0c; 同比下降1.1%&#xff0c;利润总额8733.6亿元&#xff0c;行业经济运行总体呈现低…

FastJson2中FastJsonHttpMessageConverter找不到类问题

问题描述 如果你最近也在升级FastJson到FastJson2版本&#xff0c;而跟我一样也遇到了FastJsonHttpMessageConverter找不到类问题以及FastJsonConfig找不到问题&#xff0c;那么恭喜你&#xff0c;看完本文&#xff0c;安装完fastjson2、fastjson2-extension、fastjson2-exte…

Ubuntu 安装 wine

本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 如果你使用 Ubuntu 系统&#xff0c;而有些软件只在 Windows 上运行&#xff0c;例如&#xff1a;PotPlayer&#xff0c;那么该如何在 Ubuntu 系统中使用到这些 Windows 的软件呢&#xff1f;答案是安装 wine。 简单的安装步骤如…