网络基础_02

news2025/1/21 15:35:40

1.ARP协议

地址解析协议(Address Resolution Protocol)

已知对方的三层ip地址,需要二层mac地址


 当一台设备(请求方)需要知道某个 IP 地址对应的 MAC 地址时,会使用 ARP封装一个数据帧。这台设备的网络层以自己的 IP 地址作为源 IP 地址、以目的设备(被请 求方)的 IP 地址作为目的 IP 地址、以自己的 MAC 地址作为源 MAC 地址、以广播 MAC 地址作为目的 MAC 地址在本地网络中发送一个 ARP 广播消息,其目的是在本地网络 中寻找数据包目的 IP 地址对应的 MAC 地址.

工作过程

1) 主机A首先查看自己的ARP表,如果ARP表中含有主机B对应的ARP表项,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧封装,并将数据包发送给主机B。

(2) 如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(即主机B)会对该请求进行处理。

(3) 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。

(4) 主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据包进行封装后发送出去。

免费ARP

功能:重复地址探测

主机被分配了IP地址或者IP地址发生变更后,必须立刻检测其所分配的IP地址在网络上是否是唯一的,以避免地址冲突。主机通过发送ARP Request报文来进行地址冲突检测。

当以一台设备的接口由 down-> up 的瞬间向同一局域网内的设备发送一个arp 报文。

源ip:本机ip

源mac:本机mac

目标mac:ff:ff:ff

目标IP:本机IP

  

为了检验局域网下是否由相同的ip 

代理arp

 代理ARP(Proxy-arp)的原理就是当出现跨网段的ARP请求时,路由器将自己的MAC返回给发送ARP广播请求发送者,实现MAC地址代理(善意的欺骗),最终使得主机能够通信。

 把AR2的两个接口开启代理arp,ar1就能访问到ar3了,但其实是只能访问到AR2,借助AR2访问对方。

2.ping 过程

成帧:一个数据若想被发送出去,那么这个数据必须完成数据帧格式的封装(成帧)否则,没有资格被发送出去

数据ping过程

  1. 发送方先封装数据包,由于数据包需要目标MAC
  2. 先在自己的arp表中找,如果没有
  3. 发送一个广播的arp,寻找目标的mac
  4. 目标收到后,发送响应arp,发送发获取到mac
  5. 封装数据发送数据.

3.传输层TCP/UDP

1.TCP 

TCP全称传输控制协议,必须对数据的传输进行控制。

tcp数据包

三次握手

第一次握手:当计算机 A 想要和计算机 B 建立连接时,会封装一个数据段,该数据段

的 SYN 位置位,表示计算机 A 希望与计算机 B 建立连接。此时 TCP 为序列号字段随机

生成一个值来代表第 1 个数据字节的序列号,这里用 a 表示ACK 未置位确认号为 0

第二次握手:当计算机 B 收到数据段时,会封装一个数据段。这个数据段的 SYN

位和 ACK 位都置位,因为计算机 B 既需要确认计算机 A 的建立连接请求,又需要向

计算机 A 请求连接。SYN 位置位,TCP 为序列号字段随机生成一个值来代表第 1 个数

据字节的序列号,这里用 b 表示。ACK 位置位,确认已接收序列号为 a 的数据段。

但是,该数据段没有数据部分,因此计算机 B 等待接收的是下一个数据段,即确认

号为 a+1。

第三次握手:当计算机 A 收到 SYN, ACK 数据段时,会封装一个 ACK 数据段来确认

计算机 B 的建立连接请求。这个数据段的 SYN 位未置位,因此序列号字段不再随机生成,

而是计算机 B 第二次握手中的确认号,即 a+1;ACK 位置位,确认接收到序列号为 b 的

数据段,即确认号为 b+1。

四次握手

第一次握手:当计算机 A 想要与计算机 B 断开连接时,会封装一个 FIN 数据段, 表示之后没有数据要传输了。该数据段的 FIN 置位,表示计算机 A 希望断开和计算机 B

之间的连接。

第二次握手:当计算机 B 收到 FIN 数据段时,会封装一个 ACK 数据段来确认计算 机 A 的断开连接请求。

第三次握手:同时,计算机 B 也需要封装一个 FIN 数据段来发起断开连接请求,并且把该数据段发送给计算机 A。

第四次握手:计算机 A 使用 ACK 数据段确认自己收到计算机 B 发来的 FIN 数据段

 seq:信息发送的次序,
ack:确认信息,ack=M+1:表示 seq=M的数据包已经收到,要接受M+1的数据包了

ack对seq的回复

UDP 

UDP全称为用户数据报协议。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法

UDP数据包


小白一枚,水平有限,如有错误,欢迎指教。。。

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

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

相关文章

【Androi】安卓发展历程详解

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

Socket编程权威指南(二)完美掌握TCP流式协议及Socket编程的recv()和send()

在上一篇文章中,我们学习了Socket编程的基础知识,包括创建Socket、绑定地址、监听连接、接收连接等操作。然而,真正的套接字编程远不止于此。本文将重点介绍TCP 流式协议,什么是粘包问题?如何解决粘包问题 &#xff1f…

c#与汇川plc通信 使用官网API库

前言 上位机开发中有时会要求与PLC进行通信,汇川官网也有好用的API库方便大家使用。记录一下开发过程。 1.下载资料 汇川官网地址:汇川技术 - 推进工业文明 共创美好生活 打开后选择:服务与支持-》资料下载-》 资料下载 这里可以直接搜索&am…

了解光伏储能技术的应用场景和优势

光伏发电是指利用太阳能电池板将太阳光转化为电能的过程。其优点在于清洁、高效、可再生,但光伏发电需要同时也存在间歇性和不稳定性问题。为了解决这一问题,光伏储能技术得到了广泛应用。其基本原理是将白天无法消耗的电能储存起来,以供需要…

Tensorflow音频分类

tensorflow https://www.tensorflow.org/lite/examples/audio_classification/overview?hlzh-cn 官方有移动端demo 前端不会 就只能找找有没有java支持 注意版本 注意JDK版本 package com.example.demo17.controller;import org.tensorflow.*; import org.tensorflow.ndarra…

数据库-列的完整性约束-概述

引言 我们都知道人以群分 ,但分为 若按照 人类的皮肤分类 黄种人(其实是西方人定义)我们虽然不承认也不否定 ,黑皮肤 ,棕色人种(在南太平洋和西太)白种人 排名你懂的 这好像是枚举类型 emm 尴尬…

数组中寻找符合条件元素的位置(np.argwhere,nonzero)

今天遇到一个问题,就是寻找符合条件的元素所在的位置,主要使用np.argwhere和nonzero函数 比如给我一个二维数组,我想知道其中元素大于15的位置 方法1 import numpy as np exnp.arange(30) enp.reshape(ex,[3,10]) print(e) print(e>15…

SwiftUI中Mask修饰符的理解与使用

Mask是一种用于控制图形元素可见性的图形技术&#xff0c;使用给定视图的alpha通道掩码该视图。在SwiftUI中&#xff0c;它类似于创建一个只显示视图的特定部分的模板。 Mask修饰符的定义&#xff1a; func mask<Mask>(alignment: Alignment .center,ViewBuilder _ ma…

51单片机-LCD液晶显示

目录 前言: 一. LCD1602模块简介 二. 代码功能实现 三.总结 前言: 本文主要是51单片机的LCD液晶显示,使用的是LCD1602.下面是详细介绍和完整代码,欢迎大家的点赞,评论和关注.感谢. 一. LCD1602模块简介 LCD1602 模块具有以下特点&#xff1a; 显示特点&#xff1a; 可以…

Linux系统之部署Blog-Index导航页

Linux系统之部署Blog-Index导航页 一、Blog-Index介绍1.1 Blog-Index简介1.2 Blog-Index特点1.3 Blog-Index使用场景 二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍2.3 Yarn介绍 三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本3.3 检查系统是否安装yarn 四…

通过调用栈快速探究 Compose 中 touch 事件的处理原理

前言 Compose 视图的处理方式和 Android 传统 View 有很大差别&#xff0c;针对 touch 事件的处理自然也截然不同。 如何在 Compose 中处理 touch 事件&#xff0c;官方已有非常详尽的说明&#xff0c;可以参考&#xff1a;https://developer.android.google.cn/jetpack/comp…

[图解]企业应用架构模式2024新译本讲解11-领域模型4

1 00:00:00,160 --> 00:00:01,870 好&#xff0c;到这里的话 2 00:00:02,620 --> 00:00:05,060 文字处理器的产品对象就生成了 3 00:00:06,880 --> 00:00:09,180 同样下面就是电子表格 4 00:00:10,490 --> 00:00:11,480 电子表格也同样的 5 00:00:11,490 -->…

【Vue】——组件的注册与引用

&#x1f4bb;博主现有专栏&#xff1a; C51单片机&#xff08;STC89C516&#xff09;&#xff0c;c语言&#xff0c;c&#xff0c;离散数学&#xff0c;算法设计与分析&#xff0c;数据结构&#xff0c;Python&#xff0c;Java基础&#xff0c;MySQL&#xff0c;linux&#xf…

【Java面试】九、微服务篇-SpringCloud(上)

文章目录 1、SpringCloud五大组件2、服务注册和发现2.1 Eurake2.2 Eurake和Nacos的区别 3、Ribbon负载均衡3.1 策略3.2 自定义负载均衡策略 4、服务雪崩与熔断降级4.1 服务雪崩4.2 服务降级4.3 服务熔断 5、服务限流5.1 Nginx限流5.2 网关限流 6、微服务监控7、面试 1、SpringC…

antd vue a-select 搜索

数据结构 list: [{ name: "序号", id: 0, show: true },{ name: "出库单编号", id: 1, show: false },{ name: "wbs元素", id: 2, show: true },{ name: "序号1", id: 3, show: true },{ name: "出库单编号1", id: 4, show…

每天五分钟深度学习pytorch:pytorch中的广播机制是什么?

本文重点 在pytorch中经常有张量和张量之间的运算,那么有一点需要注意,那就是维度要匹配,如果维度不匹配就有可能出现问题。如果维度不一致,此时也可以同时进行操作,此时就需要使用pytorch中的广播机制,本节课程就讲解pytorch中的广播机制。 广播机制示意图 如上就是py…

基于C#的计算机与安捷伦34970A通信方法

概述 安捷伦34970A采集数据&#xff0c;34970A支持RS232接口&#xff0c;但是如果直接用winform自带的seriaport类基本是没必要使用的&#xff0c;安捷伦等仪表通讯需要用到VISA的库。 库的获取 1. 是德科技的IO Library. 2. NI下载NI-VISA. 两者用法接近. 代码如下 using…

【数据分析基础】实验numpy、pandas和matplolib

文件score.xlsx 中存放了学生的各个科目的考试成绩&#xff08;如下图&#xff09;&#xff0c; 1. 编程实现&#xff1a;输入任意一个学号&#xff0c;将该学号对应的成绩&#xff0c;通过雷达图显示。 &#xff08;1&#xff09;程序代码&#xff1a; import pandas as pd…

在Java中使用SeleniumAPI,超详细

Java中 Selenium相关操作 1 定位元素 1.1 css选择器定位元素 就是定位到页面的元素&#xff0c;本质上就是一个一个的语法 下面举几个具体的例子&#xff1a; 类选择器 按照给定的 class 属性的值&#xff0c;选择所有匹配的元素。 语法&#xff1a;.classname 例子&am…

【中篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了Yolo v1, 今天从Yolov2开始。 YOLOv2:更好、更快、更强 2017 年 7 月一个闷热的星期二下午,雷德蒙(Joseph Redmon, Yolo创始人)再次走上舞台。 …