网络基础(五):网络层协议介绍

目录

一、网络层

1、网络层的概念

2、网络层功能

3、IP数据包格式

二、ICMP协议

1、ICMP的作用和功能

2、ping命令的使用

2.1ping命令的通用格式

2.2ping命令的常用参数

2.3Type+Code:查看不同功能的ICMP报文

2.4ping出现问题

3、Tracert

4、冲突域

5、广播域

三、ARP协议

1、ARP协议的概念

2、ARP协议的工作原理

四、总结


一、网络层

1、网络层的概念

网络层是OSI参考模型七老仔层协议中的第三层,介于传输层和数据链路层之间,它在数据链路谈穗层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。

2、网络层功能

①定义基于IP协议的逻辑地址(ip确定设备在网络位置)

②连接不同的媒介类型

③在网络中选择最佳路径转发数据

3、IP数据包格式

数据封装的时候在网络层会封装ip地址的头部,形成ip数据包

IP数据包格式:20字节的固定部分(每个ip数据包必须包含的部分)和40字节的可变长部分

版本(4)

Version

首部长度(4)

Header Length

优先级与服务类型(8)

Type of Service

总长度(16)

Total Length

                                   标识符(16)

                                Identification

标志(3)

Flags

段偏移量(13)

Fragment Offset

TTL(8)

协议号(8)

Protocol

首部校验和(16)

Header Checksum

                                       源地址Source IP Address(32)
                                       目标地址Destination IP Address(32)
                                                    可选项Options
                                                        数据Data
  • 版本号(4bit):指IP协议版本为IPV4和IPV6。并且通信双方使用的版本必须一致,目前我们使用的IPv4,表示0100
  • 首部长度(4):IP数据包的包头长度(不包括数据)
  • 优先级与服务类型(8):该字段用于表示数据包的优先级和服务类型。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求。即区分IP数据包的优先处理级别
  • 总长度(16):定义IP数据包的总长度,最长为65535字节,包括包头和数据
  • 标识符(16):该字段用于表示IP数据包的标识符。当IP对上层数据进行分片时,它将给所有的分片分配一组标号,然后将这些编号放入标识符字段中,保证分片不会被错误地重组。标识符字段用于标志一个数据包,以便接收节点可以重组被分片的数据包。即确定数据的分片是否来自于同一个文件
  • 标志(3):代表数据过小不需要分片,代表该组最后一个数据包
  • 段偏移量(13):该数据片离起点的位置坐标
  • TTL生命周期(8):可以防止一个数据包在网络中无限循环的转发下去,每经过一个路由器-1, 当TTL的值位0时,该数据包将被丢弃。TTL≥128指win系统,TTL≤64指Linux系统
  • 协议号(8):封装的上层那个协议,ICMP:1 IGMP:2 TCP:6 UDP:17
  • 首部校验和(16):这个字段只检验数据报的首部,不包括数据部分。这是因为数据报没经过 一次路由器,都要重新计算一下首部校验和(因为一些字段如生存时间、标志、片偏移等可能发生的变化)
  • 源地址(32):源IP地址,表示发送端的IP地址
  • 目标地址(32):目标IP地址,表示接收端的IP地址
  • 可选项:选项字段根据实际情况可变长,可以和IP一起使用的选项有多个。例如:可以输入创建该数据包的时间等。在选项之后,就是上层数据。
  • 数据

二、ICMP协议

1、ICMP的作用和功能

  • ICMP是一个“错误侦测与回馈机制”
  • 通过IP数据包封装的
  • 用来发送错误与控制信息

实际上就是通过ping命令检测网络的双向联通性

2、ping命令的使用

2.1ping命令的通用格式
ping [选项/参数] IP地址
其中[选项/参数]指的是增加额外功能
2.2ping命令的常用参数
常用参数格式功能描述
ping -t ip地址系统会一直不停地ping下去,按ctrl+c停止长ping
ping -l size ip地址指定数据包的大小
ping -w 等待时间(默认2毫秒) ip地址超时等待时间
ping -n 指定次数(默认5次) ip地址指定ping几次

2.3Type+Code:查看不同功能的ICMP报文
Type类型code代码描述
00Echo Reply回复
30网络不可达
31主机不可达
32协议不可达
33端口不可达
110超时
80Echo Request请求

ping www.jd.com后使用抓包工具wireshark查看Type:8和code:0,表示Echo Request请求

2.4ping出现问题

①先ping 127.0.0.1,查看是否能ping通自己的设备,不能则说明硬件有问题

②查看发送方与接收方的IP地址是否有错误

③查看发送方与接收方是否在同一网络区域,不在同一区域再查看网关是否有问题

④防火墙策略是否有问题(可能接收方禁言icmp协议)

3、Tracert

Tracert (Trace Route)是一个网络诊断工具,用于跟踪数据包从源主机到目标主机的路径。Tracert 命令使用用 IP 生存时间 (TTL) 字段和 ICMP错误消息来确定从一个主机到网络上其他主机的路由这对于网络故障排除和性能优化非常有用

4、冲突域

定义:同一时间内只能有一台设备发送信息的范围

分层:基于OSI的第一层物理层

设备:第二层设备能隔离冲突域,比如Switch。交换机能缩小冲突域的范围,交换接的每一个端口就是一个冲突域

5、广播域

定义:如果站点发出一个广播信号,所有能接收收到这个信号的设备范围称为一个广播域

分层:基于OSI的第二层数据链路层

设备:第三层设备才能隔离广播域,比如Router。路由器能隔离广播域,其每一个端口就是一个广播域

三、ARP协议

1、ARP协议的概念

ARP全称是“Address Resolution Protocol”(地址解析协议),ARP作用于以太网的环境之中,以太网环境之中数据的传输依赖的是MAC地址并不是我们所熟悉的IP地址,每个电脑都有一个IP地址记以及一个MAC地址(全球唯一),二者缺一不可。ARP协议的工作一是将IP地址转换为MAC地址就是ARP协议的工作,二是检测地址是否冲突。

2、ARP协议的工作原理

①当PC1发送数据给PC2时,会先检查自己的ARP缓存表,如果没有接收方的对应IP地址的MAC信息,PC1就会发送一个ARP请求。ARP请求信息包括PC1的IP地址和MAC地址以及PC2的IP地址和MAC(广播MAC:FF-FF-FF-FF-FF-FF)

②交换机接收到广播后,将PC1的IP地址和MAC地址保存到自己的ARP缓存表中,再做泛洪查询处理,除PC1外本地网络上所有的主机接收到ARP请求信息并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求

③PC2确定ARP请求中的IP地址与自己的IP地址匹配,则将发送方PC1的IP地址和MAC地址保存到本地ARP缓存表,再以单播点对点方式向PC1发送ARP应答

④当PC2的ARP应答经过交换机时,交换机再将PC2的IP地址和MAC地址保存到自己的ARP缓存表中。当PC2的ARP应答到达PC1时,PC1将PC2的IP地址和MAC地址保存到自己的ARP缓存表中,再以单播方式与PC2进行通信

⑤之后PC1和PC2的ARP缓存表中都有对方的IP地址和MAC地址就不需要再进行上述过程,直接通信

四、总结

网络层位于传输层与数据链路层中间,具有选择转发数据最佳路径的功能。ICMP协议(检测网络的双向联通性)与ARP协议(将IP地址转换成MAC地址)在网络层协议中至关重要,需要重点掌握。ICMP协议中的ping命令和tracert命令,ARP协议的工作原理,更是重点中的重点

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

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

相关文章

LSU介绍

LSU(Load Store Unit)是一个专门的执行单元,负责执行所有的加载(load)和存储(store)指令等,生成load和store操作的虚拟地址,并从内存中加载数据或将数据从寄存器中存储回…

关于前端原生技术-Jsonp的理解与简述

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/134777717 出自【进步*于辰的博客】 在学习了Jsoup这个知识点之后,发觉js的这一特点…

基于appium的常用元素定位方法

一、元素定位工具   app应用的元素使用的是控件定位,不同于web网页,web网页定位元素通常使用的是F12工具,那么在app当中我们则要借助其它的工具来辅助定位。 1.uiautomatorviewer.bat   uiautomatorviewer.bat工具在安装完ADT工具之后&a…

【Docker】进阶之路:(十一)Docker存储

【Docker】进阶之路:(十一)Docker存储 Docker存储简介storage driverdata volumevolumebind mounttmpfs mount Docker提供了4种存储方式:默认存储、volume(数据卷)、bind mounts(绑定挂载)、tmpfsmount(仅在Linux环境中提供)。其中…

Jemeter,提取响应体中的数据:正则表达式、Json提取器

一、正则表达式 1、线程组--创建线程组; 2、线程组--添加--取样器--HTTP请求; 3、Http请求--添加--后置处理器--正则表达式提取器; 4、线程组--添加--监听器--查看结果树; 5、线程组--添加--取样器--调试取样器。 响应体数据…

docker mysql8 设置不区分大小写

docker安装Mysql8.0的坑之lower_case_table_names_docker mysql lower_case_table_names-CSDN博客https://blog.csdn.net/p793049488/article/details/108365929 docker run ‐di ‐‐nametensquare_mysql ‐p 33306:3306 ‐e MYSQL_ROOT_PASSWORD123456 mysql

金蝶EAS如何增加报表

金蝶EAS如何增加销售毛利报表? 文章目录 菜单路径:导入授权发布管理 菜单路径: 商业分析———扩展报表中心——报表工具 ——报表工具 汽车 4S——整车管理——整车销售——扩展报表 导入 选择报表文件进行导入 授权 发布管理

(纯原创)基于JavaWeb的宠物领养商城(详细源码以及开发设计报告)

摘要 本宠物领养系统以MVC分层为原则,数据持久化使用Mybatis,数据库使用MySQL,这些技术目前相对比较成熟,方便系统的维护与扩展 商城系统包括了宠物领养、用户注册、用户登录、商品查询、商品添加到购物车、删除商品等几大功能…

Linux基础项目开发2:物联网监控——视频监控方案介绍(一)

前言: 这次我们来做一个关于视频监控的基础小项目,需要我们用到网络的相关知识,还会学到好多优秀的网络协议,下面让我们开始对物联网视频监控进行一个大体框架的介绍吧 目录 项目内容: 1.视频监控方案介绍 2.视频监控…

手写VUE后台管理系统10 - 封装Axios实现异常统一处理

目录 前后端交互约定安装创建Axios实例拦截器封装请求方法业务异常处理 axios 是一个易用、简洁且高效的http库 axios 中文文档:http://www.axios-js.com/zh-cn/docs/ 前后端交互约定 在本项目中,前后端交互统一使用 application/json;charsetUTF-8 的请…

云计算 云原生

一、引言 云计算需要终端把信息上传到服务器,服务器处理后再返回给终端。在之前人手一台手机的情况下,云计算还是能handle得过来的。但是随着物联网的发展,什么东西都要联网,那数据可就多了去了,服务器处理不过来&…

MachMap:End-to-End Vectorized Solution for Compact HD-Map Construction

参考代码:None 动机与出发点 地平线的MapTR展现出了构建高精地图的能力,但是它的机制确实是有点复杂了。为了兼容不同车道线的朝向,环形车道线的起终点等情况,针对性设计了permute-equal的匹配逻辑,这样的逻辑真的是太…

软件测试之压力测试详解

一、什么是压力测试 软件测试中:压力测试(Stress Test),也称为强度测试、负载测试。压力测试是模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、…

appium安卓app自动化,遇到搜索框无搜索按钮元素时无法搜索的解决方案

如XX头条,搜索框后面有“搜索”按钮,这样实现搜索操作较为方便。 但有些app没有设置该搜索按钮,初学者就要花点时间去学习怎么实现该功能了,如下图。 这时候如果定位搜索框,再点击操作,再输入文本后&#x…

SpringBootWeb请求响应之前言及状态码的详细解析

SpringBootWeb请求响应 前言 在上一次的课程中,我们开发了springbootweb的入门程序。 基于SpringBoot的方式开发一个web应用,浏览器发起请求 /hello 后 ,给浏览器返回字符串 “Hello World ~”。 其实呢,是我们在浏览器发起请求…

【算法与数据结构】332、LeetCode重新安排行程

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题比较属于困难题目,难点在于完成机票、出发机场和到达机场之间的映射关系,再…

使用yum/dnf管理软件包

本章主要介绍使用 yum 对软件包进行管理。 yum 的介绍搭建yum源创建私有仓库yum客户端的配置yum的基本使用使用第三方yum源 使用rpm安装包时经常会遇到一个问题就是包依赖,如下所示。 [rootrhel03 ~]# rpm -ivh /mnt/AppStream/Packages/httpd-2.4.37-41.modulee…

【三维重建】对极几何

极几何描述了同一场景或者物体的两个视点图像间的几何关系 可以发现P在左右相机的投影点一定在各自的极线上,如果求出极线就能缩小求解对应点的范围。 本质矩阵对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述 规范化相机指的是相机的内参…

人工智能_机器学习063_SVR支持向量机_回归拟合天猫双十一销量方程---人工智能工作笔记0103

之前我们用线性回归做过天猫双十一销量预测的数据,现在我们再来用SVR支持向量机来做一下 首先上面是给出了销量,对应2009年到2019年的,销售额 可以看到: X=np.arange(2009,2020)-2008 统一减去2008的话看起来数据比较简单了 y=np.array([0.5,9.36,52,191,350,571,912,1207,1…

使用perl的Tie::File 模块删除文件固定行

使用perl的Tie::File 模块删除文件固定行, 为了说明简单代码中处理的是固定第二行开始的3行长度。下面给出perl代码: #! /usr/bin/perl use v5.14; use Tie::File;if (ARGV 0) {say "请输入一个文件名 !!!";exit 1; }my $filePath $ARGV[0]; tie my ar…