第07-4章 网络层详解

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协议目前已很少使用

7.4 ICMP协议详解

7.4.1 ICMP基础知识解析

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

7.4.2 ICMP报文分类和报文结构解析

  • 参数问题也就是IP数据报头部里面的首部校验和;
  • 地址码也就是子网掩码;
    在这里插入图片描述
    在这里插入图片描述
  • 类型和代码8位,校验和16位;
  • 标识符16位,序列号16位;
  • 标识符:如果是Linux,Identifier(BE):1(0X0001);Windows,Identifier(LE):256(0x0100)
  • 序列号:如果是Linux,Sequence(BE); Windows,Sequence(LE);
  • 校验和:到目的端进行校验,判断ICMP是否遭到破坏

在这里插入图片描述

7.4.3 ICMP终点不可达差错报告解析

在这里插入图片描述

  • R代表路由器,PC代表主机,例如:网络不可达的ICMP报文,通常由路由器产生

在这里插入图片描述

  • 服务类型例如有视频,音频,图片,文本,但有的路由器规定:视频网络请求不能通过也就是造成了由于服务类型,网络不可达,主机不可达同理;
  • 主机越权:由于优先级太低,数据报不能通过;
  • 优先权中止生效:由于数据报内没有规定优先级;
    在这里插入图片描述

7.4.4 ICMP源点抑制和超时差错报告解析

在这里插入图片描述
在这里插入图片描述
如上图:
1. 路由器丢弃一个报文,会向源主机发送一个源点抑制报文,是一对一;
2. 由于A主机高速发送报文,导致路由器堵塞,当A主机不在收到源点抑制报文,会恢复原来的速率发送报文;
3. A、B、C同时发送报文,但由于A发送的报文过大,速度过高,导致路由器堵塞。路由器不会分辨由于哪个主机导致堵塞,丢的数据包是随机的,若丢的是C主机的,会向C主机发送源点抑制报文,同理,B、A。只有一些高端的设备会分辨。

在这里插入图片描述

7.4.5 ICMP参数问题和改变路由差错报告

在这里插入图片描述
IP数据报分为固定部分、可变部分、数据部分。当固定部分被篡改时,向源主机发送类型为12,代码为0,ICMP报文。指针(了解):指向被改的部分。当IP数据报没有可变的部分时,向源主机发送类型为12,代码为1,ICMP报文。

在这里插入图片描述
改变路由:
类型:5
代码:

  • 0:对特定网络路由的改变
  • 1:对特定主机路由的改变
  • 2:基于指明的服务类型对特定网络路由的改变
  • 3:基于指明的服务类型对特定主机路由的改变
    服务类型例如有视频、音频、图片、文本,有的路由器支持图片、文本,但是规定视频、音频不能通过。

7.4.6 ICMP查询报告解析

  • 通过ping命令就可以产生回送请求和回送应答类型的报文
  • 类型为8表示是request
  • 类型为0表示是reply

在这里插入图片描述

  • 原始时间戳:发送方向接收方发送数据,发送方发送的那个时间点就是原始时间戳
  • 接受时间戳:发送方向接收方发送数据,接收方接受的那个时间点就是接受时间戳
  • 发送时间戳:发送方向接收方发送数据,接收方接受了以后需要做出回应,回应的那个时间点就是发送时间戳
  • 类型13是请求
  • 类型14是回答

在这里插入图片描述

  • 当某个主机不知道自己的地址掩码时,可以发出查询报文
  • 类型17是请求
  • 类型18是回答
  • 地址掩码请求和回答现在基本上很少使用,过时了
    在这里插入图片描述
  • 当主机A与主机B通信时,不知道路由,主机A就可以发出路由器询问与通过类型的ICMP查询报文
    在这里插入图片描述

7.4.7 ping命令使用详解

ping的ICMP数据报
在这里插入图片描述

  • 时间越大不能说网络不稳定(时间越大说明路径越长),若时间不再一定范围内,网络不稳定;
  • 判断网络稳定,可以改变字节数(曾大字节数),判断设备是否可以处理
  • ping –l 1024(字节数可以改变)
    在这里插入图片描述
  • 使用ping –t 可以一直ping,不停止,也可判断网络是否稳定。若回复时间不稳定,或者回复频繁丢失,说明网络不稳定
    在这里插入图片描述

7.4.8 ping命令使用详解

使用tracert 命令,首先TTL的值为1,发送类型为8的ICMP查询报告报文,第一个三层设备返回ICMP差错报告报文,总共三回;然后TTL的值为2,同理;TTL的值为3,同理;一直到目的地址;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

线性代数基础1向量

1、向量是什么 1.1、向量的定义 在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的…

Rust腐蚀服务器定制地图开服

Rust腐蚀服务器定制地图开服 大家好我是艾西一个做服务器租用的网络架构师。Rust腐蚀这个游戏有很多的插件mod作者,在地图制作这一块也是一样,有些好玩的地图可能大家在map网站找到了但是不知道怎么操作设置那么今天艾西给大家说下特定定制地图怎么弄。…

嬴图| ISO/IEC-GQL国际图语言标准发布,图技术开启新纪元

GQL作为继SQL之后的第二个数据库查询语言国际标准,近日正式发布。这标志着图技术开启新纪元——图时代即将到来! 同时,这也预示着将有越来越多的组织采用“图”来解决各种复杂问题,更意味着SQL系统与负载将逐渐转向GQL&#xff0…

2024最新SSL证书在线申请系统源码 | 支持API接口 支持在线付费 二开优化版

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 2024最新SSL证书在线申请系统源码 | 支持API接口 支持在线付费 二开优化版 最新SSL证书在线申请系统源码 | 支持API接口 SSL证书保证网络安全的基本保障。向您介绍我们的在线生成SSL…

Ubuntu20.04安装 mysql8.0.32

检查删除原有的mysql(可以不做,自己记录) 1、 下载 MySQL :: Download MySQL Community Server (Archived Versions) wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server_8.0.32-1ubuntu20.04_amd64.deb-bundle.tar 2、解压到指定目录下 tar xvf mysq…

GDPU Java 天码行空9

(一)实验目的 1、掌握JAVA中异常类型及其特点; 2、重点掌握异常的处理方法; 3、能创建自定义异常处理方法; 4、掌握文件操作方法。 (二)实验内容和步骤 1、try catch finally 如果catch里面有…

vue封装请求、合并js、合并多个js

vue封装请求、合并js、合并多个js 作为一个后端开发,写前端时发现,每次导入api接口都会有一堆代码,像下面这样: import {footprintList, footprintDelete} from /api/userApi.js import {addressList} from /api/userApi.js impor…

PHP定期给自己网站目录做个特征镜像供快速对比

效果图 上代码&#xff1a; <style> h1{font-size:24px;line-height:180%;font-weight:600;margin:1px 2px;color:#0180cf;} h2{font-size:20px;line-height:140%;font-weight:600;margin:2px 4px;color:green;} h3{font-size:16px;line-height:140%;font-weight:600;m…

如何把视频中的画面保存为图片?免费的工具不用白不用

在数字化时代&#xff0c;截取视频中的珍贵瞬间成为了人们创作、分享和保存回忆的重要方式。 那么&#xff0c;如何迅速捕捉视频中的精彩画面&#xff0c;留存美好瞬间呢&#xff1f;有人说直接截图就可以&#xff0c;如果直接截图就可以&#xff0c;小编就不用写这篇文章了&a…

《深入浅出.NET框架设计与实现》笔记2——C#源码从编写到执行的流程

中间语言&#xff08;Intermediate Language&#xff0c;IL&#xff09; C#编译器在编译时&#xff0c;会将源代码作为输入&#xff0c;并以中间语言形式输入出&#xff0c;该代码保存在*.exe文件中或*.dll文件中。 公共语言运行时&#xff08;CLR&#xff09; 可以将IL代码…

26版SPSS操作教程(高级教程第十三章)

前言 #今日世界读书日&#xff0c;宝子你&#xff0c;读书了嘛~ #本期内容&#xff1a;主成分分析、因子分析、多维偏好分析 #由于导师最近布置了学习SPSS这款软件的任务&#xff0c;因此想来平台和大家一起交流下学习经验&#xff0c;这期推送内容接上一次高级教程第十二章…

STM32cubemx和HAL库的使用入门--点亮一颗LED

一&#xff1a;流程介绍 &#xff08;1&#xff09;环境搭建 1 &#xff1a;stm32cubemx安装 2 &#xff1a;stm32xxFW安装 3 &#xff1a;MDK5安装 4 &#xff1a;生成MDK版本project &#xff08;2&#xff09;stm32cubemx创建工程&#xff0c;选择芯片型…

WAF防范原理

目录 一、什么是WAF 二、纵深安全防御 WAF的组网模式 WAF配置全景 WAF端 服务器 攻击端 拦截SQL注入&#xff0c;XSS攻击&#xff0c;木马文件上传 要求&#xff1a; 使用WAF&#xff0c;通过配置策略要求能防御常见的web漏洞攻击&#xff08;要求至少能够防御SQL、XSS、文…

云原生:10分钟了解一下Kubernetes架构

Kubernetes&#xff0c;作为当今容器编排技术的事实标准&#xff0c;以其强大的功能和灵活的架构设计&#xff0c;在全球范围内得到了广泛的应用和认可。本文将深入简出地探讨Kubernetes的核心架构&#xff0c;帮助大家了解Kubernetes&#xff0c;为今后的高效的学习打下良好的…

01-服务与服务间的通信

这里是极简版&#xff0c;仅用作记录 概述 前端和后端可以使用axios等进行http请求 服务和服务之间也是可以进行http请求的spring封装的RestTemplate可以进行请求 用法 使用bean注解进行依赖注入 在需要的地方&#xff0c;自动注入RestTemplate进行服务和服务之间的通信 注…

【Nginx】(二)Nginx 工作流程与模块功能详解

Nginx 工作流程 Nginx 的工作流程是一系列连续的步骤&#xff0c;从启动到接收请求&#xff0c;处理请求&#xff0c;直到关闭。以下是 Nginx 工作流程的简要概述&#xff1a; 开始&#xff1a;Nginx 服务的启动准备。启动 Nginx&#xff1a;加载配置文件 nginx.conf&#xff…

docker系列7:docker安装ES

目录 传送门 Docker安装ES 确定版本 拉取镜像 执行拉取ES镜像 查看ES镜像 运行ES 创建一个新的docker网络 启动一个Elasticsearch容器 查看运行结果 ES启动内存不足 访问ES 公网访问 传送门 docker系列1&#xff1a;docker安装 docker系列2&#xff1a;阿里云镜…

【Chapter3】中断与处理机调度,计算机操作系统教程,第四版,左万利,王英

文章目录 一、中断与中断系统1.1 什么是中断&#xff1f;1.1.1 外中断&#xff08;硬件&#xff09;1.1.2 异常&#xff08;内中断&#xff09; 1.2 中断机制的原理1.2.1 中断装置1、中断源与中断字2、中断类型与中断向量3、中断嵌套与系统栈4、中断优先级别与中断屏蔽 1.2.2 中…

互联网大厂ssp面经,数据结构part3

1. 哈希表的原理是什么&#xff1f;如何解决哈希碰撞问题&#xff1f; a. 原理&#xff1a;通过哈希函数将每个键映射到一个唯一的索引位置&#xff0c;然后将值存储在对应索引位置的存储桶中。 b. 关键&#xff1a;将不同的键映射到不同的索引位置&#xff0c;以实现快速的插…

为什么大模型训练需要GPU,以及适合训练大模型的GPU介绍

文章目录 前言 1、为什么大模型训练需要GPU&#xff0c;而非CPU 2、现在都有哪些合适的GPU适合训练&#xff0c;价格如何 前言 今天偶然看到一篇关于介绍GPU的推文&#xff0c;我们在复现代码以及模型训练过程中&#xff0c;GPU的使用是必不可少的&#xff0c;那么大模型训练需…