网络协议学习——以太网协议

目录

​编辑

一,以太网简介

二,以太网通信的过程

为什么不用IP地址?

过程

MAC帧

MAC帧的字段介绍

ARP协议

传输过程的一些问题

RARP协议

提高效率

三,其他问题

ARP诈骗问题

URL解析过程


 

一,以太网简介

以太网不是一个真正的网络,而是一个局域网标准。并且,以太网是局域网通信当中应用最广的协议,其次还有令牌环网和无线LAN。

二,以太网通信的过程

以太网协议是局域网通信的协议,局域网通信的过程使用MAC地址来找到这台局域网内唯一的主机然后再进行两台主机的通信。

为什么不用IP地址?

在局域网内,主机的IP地址也是唯一的。但是,为什么还要用MAC地址来标识唯一的一台主机呢?因为IP地址是用于网络层的,而MAC地址则是在数据链路层使用的。

过程

 当我们的主机发起请求后,这个请求便会穿过应用层,传输层,网络层,然后到达数据链路层。然后在数据链路层便会封装两份报头ARP请求报头,MAC帧。封装完这两个报头以后,这个数据包才能被数据链路层发送到指定的主机上。

MAC帧

MAC帧是个啥?其实MAC帧是数据链路层的一个基本单位。MAC帧的图示如下:

通过这样一个MAC帧的封装我们便可以保证数据在共享的网络当中正确的进行传输。

MAC帧的字段介绍

  • 源地址和目的地址:这两个地址标识的是主机的硬件地址,也就是网卡地址,这是在计算机出厂时就被设定了的,并且是唯一的。

    •  类型字段:三种类型

      • 0800:IP协议

      • 0806:ARP协议

      • 8035:RARP协议

    • 数据:数据部分包含上层协议的报头+有效载荷(HTTP ,TCP,IP)

    • 协议末端校验码:CRC校验码

ARP协议

在数据链路层,ARP协议在MAC帧的上一层:

所以在封装MAC帧时,首先是要先封装一层ARP协议。ARP协议的协议字段如下:

字段详解

1,注意到源MAC地址、目的MAC地址在以太网首部和ARP请求中各出现一次,对于链路层为以太网的情况 是多余的,但如果链路层是其它类型的网络则有可能是必要的。
2,硬件类型指链路层网络类型,1为以太网;
3,协议类型指要转换的地址类型,0x0800为IP地址;
4,硬件地址长度对于以太网地址为6字节;
5,协议地址长度对于和IP地址为4字节;
6,op字段为1表示ARP请求,op字段为2表示ARP应答。  
以太网通信的详细过程

在知道ARP协议和MAC帧以后,便可以大致的知道数据链路层所做的事情。

1,首先,我们要先形成一个ARP应答报文,这个时候op的值是1表示一个请求报文。

2,构建报文时,我们知道目标主机的IP但是不知道MAC地址。所以这个在封装MAC帧时,以太网目的地址填的是FF:FF:FF:FF:FF:FF表示一个广播地址。

3,填入一个广播地址后,每一台主机便需要在链路层收到这个报文时先查看op的值。如果op的值是1,链路层便知道这是一个请求报文需要比对的是IP地址所以这个报文便会被向上交付。当我们的网络层收到这个报文时比对IP地址。如果是这台主机的那就留下向上交付,如果不是那就发往下一台主机。一直到找到目标主机为止。

--------------------------------------------------------------------------------------------------------------------------------

4,在接收端收到这个请求报文以后,接收端便会构建响应报文。这个时候op字段被设置为2。并且此时我是知道发送端的MAC地址的。所以也将接收端的MAC地址填入。

5,响应报文被发送后,其它主机收到后便会在链路层先查看报文的op值,在知道报文的op值是2时便会在数据链路层比对MAC地址。如果比对不上就会直接丢弃发送到下一个主机上继续比对。直到比对成功,向上交付报文。

传输过程的一些问题

1,吃瓜群众

网络是一个共享资源,在局域网中发送的报文其实是被很多主机收到的。只是其它的主机在接收到这个报文时丢弃了这段报文。只有目标主机才会向上交付这段报文。

2,抓包问题

在在网卡里面,有一个模式叫做混合模式。当一台主机的网卡被改为混合模式时,这台主机便可以将不属于自己的响应报文向上交付。这个便是抓包,这也是抓包软件的原理。

3,临界资源

在网络通信的过程中,如果多台主机同时通信便会造成数据碰撞的问题。造成网络的堵塞,所以当网络要通信时往往在一个时刻内只允许两台主机进行通信。所以,网络其实就是一个临界资源。如何实现这样的模式呢?

1,以太网:在以太网当中有一个碰撞检测算法,当发生数据碰撞时便会停止发送数据。

2,令牌环网:只有争夺到令牌的主机才有发送数据的权力。并且这个令牌是在局域网通信当中均匀的流动的。

RARP协议

  • RARP协议

    • 协议:反向转换协议

    • 作用:再某些情况下只知道MAC地址,便可以通过RARP协议来推导IP地址。

    • 使用过程:在不知道IP地址的情况下,我们可以发送一个RARP广播报文到网络当中请求对方告知。

    • 形势:这种方式请求IP报文有安全性问题,现在已经逐渐减少使用并被DHCP等协议逐渐替代。

提高效率

在网络通信时,要找到对方的MAC地址第一步首先是去查找ARP缓存表。只有在这个缓存表内没有对方的MAC地址时,才会在MAC地址处填上全F的字段。

ARP缓存表

查看:arp -a

有了这个缓存表便可以快速的找到目标主机的MAC地址,不必再一个一个主机的尝试比对。当然,这个ARP缓存表的有效时长一般是20分钟

三,其他问题

ARP诈骗问题

问题描述:利用局域网通信过程中的发送主机不知道接收端主机的MAC地址需要发送报文去获取目标主机的MAC地址的漏洞,在这个请求报文在网络当中发送的过程截取并修改,让发送主机的ARP缓存表内填入错误的MAC地址。从而在后续的发送消息的过程中让发送端主机的消息发送到我的这台主机上,从而实现监听和窃取数据。

URL解析过程

1,DNS解析

在网络通信的过程中,虽然是通过ip地址和端口号来找到全网唯一的一台主机上的唯一的一个进程来实现网络通信的。但是,在大部分情况下我们使用浏览器时我们使用的都是域名。比如:

www.baidu.com
www.jd.com

但是,我们本质还是在使用ip地址+端口号来实现网络通信的。所以,我们需要将域名解析变成对应的ip地址的形式。这个解析的过程便是使用DNS解析来实现的。

2,DNS解析过程

在浏览器上输入一个域名以后,便会开始域名解析的过程。

1,先查看本地的DNS缓存表,查看是否有对应域名的ip地址。

2,如果没有便会向DNS服务器发送一个递归的DNS查询请求,开始不断地查询直到查找到对应域名的IP地址并返回。

3,当然,这个查询的过程是有结束的,一直会查询到根DNS服务器。

3,URL解析过程

 在浏览器输入一个URL以后,首先会进行DNS解析。然后,便会开始构建http/https报文。然后这个报文会向下传输到传输层。在传输层选择TCP或者UDP协议,添加相应的报头。然后再往下传输进入到网络层添加ip报头,再经过数据链路层添加数据链路层的协议。然后这个报文才能够发送到对应的主机上。

 

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

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

相关文章

python图书馆图书借阅系统含网上商城管理系统7d538

,python语言,django框架进行开发,后台使用MySQL数据库进行信息管理,设计开发的图书管理系统。通过调研和分析,系统拥有管理员和用户两个角色,主要具备注册登录、个人信息修改、用户、图书分类、图书信息、借…

Django交易商场

Hello,我是小恒不会java 最近学习django,写了一个demo,学到了不少东西。 我在GitHub上开源了,提示‘自行查看代码,维护,运行’。 最近有事,先发布代码了,我就随缘维护更新吧 介绍: 定…

构建智能生态:详解同城O2O外卖跑腿APP的开发技术

同城O2O外卖跑腿APP作为这一新型服务的代表,其开发技术成为了当下技术界的热点之一。小编将深入讲解同城O2O外卖跑腿APP的开发技术,以期为开发者提供一些有益的参考和指导。 需求分析与功能设计 在开发同城O2O外卖跑腿APP之前,首先需要进行充…

如何更换网络IP地址,简单几步轻松搞定

在数字化日益普及的今天,网络IP地址作为设备在网络中的标识,扮演着极其重要的角色。有时,出于安全考虑、网络布局调整或解决特定问题的需要,我们可能需要更换网络IP地址。虎观代理将详细介绍如何更换网络IP地址,帮助用…

LeetCode-152. 乘积最大子数组【数组 动态规划】

LeetCode-152. 乘积最大子数组【数组 动态规划】 题目描述:解题思路一:动态规划五部曲:定推初遍举解题思路二:因为每一个状态只与前一个状态有关,可以使用「滚动变量」技巧,使用常数个变量完成这道问题。解…

2024年MathorCup数模竞赛C题超详细解题思路

妈妈杯本次比赛报名队伍号高达12500,这也就意味着大概一万只队伍参加报名,仅仅在报名人数这一项,妈妈杯已经成为美赛国赛之后的第三大竞赛。C题作为本次竞赛最简单也最容易获奖的题目,本文将给大家带来手把手超详细解题思路。 注…

数据结构基础 ——数组VS链表(二)

一、数组 数组对应的英文是array,是有限个相同类型的变量所组成的有序集合,数组中的每一个变量称为元素。数组是最简单、最常用的数据结构。 数组存储格式: 在Python语言中,并没有直接使用数组这个概念,而是使用列表(…

投资认知第一篇-股票分红是怎么回事?

购买股票的收益分为两种,一种是低价买高价卖的差价(也就是俗称的炒股),另一种就是分红收益。购买一家上市公司的股份,投资者有权享受其分红,这是投资者的权益。一般来讲,上市公司分红有两种形式…

重磅,新GPT-4-Turbo重新夺回大模型第一名

好消息,新版 GPT-4 Turbo 今天开始现已向所有付费 ChatGPT 用户开放。GPT-4 Turbo提高了写作、数学、逻辑推理和编码能力。上下文长度128k 输出速度更快。现在已经开始陆续推送,如果你发现你的知识库截止时间是2024年4月,那么就是最新版本了&…

蓝桥杯 — — RSA解密

RSA解密 友情链接:RSA解密 题目: 思路: 对于这道题目,给出了三个已知量n d C,要我们进行解密,对于解密的公式 X C e m o d n X C^e \mod n XCemodn来讲,我们有唯一的参数e是未知的&#xf…

.[[backup@waifu.club]].svh勒索病毒数据怎么处理|数据解密恢复

尊敬的读者: 近年来,随着信息技术的迅猛发展,网络安全问题日益凸显,其中勒索病毒成为了一大威胁。.[[backupwaifu.club]].svh、.[[MyFilewaifu.club]].svh勒索病毒就是其中之一,它以其独特的传播方式和恶劣的加密手段…

【论文阅读——Profit Allocation for Federated Learning】

1.摘要 由于更为严格的数据管理法规,如《通用数据保护条例》(GDPR),传统的机器学习服务生产模式正在转向联邦学习这一范式。联邦学习允许多个数据提供者在其本地保留数据的同时,协作训练一个共享模型。推动联邦学习实…

山洪灾害防治监测报警系统方案

一、概述 我国是全球地区复杂程度最高的国家之一,多种气候和地形特征,特定的地质环境条件决定了我国地质灾害呈现增长和频发的态势。加之全球气候的变化使得我国极端、恶劣的天气在各地区发生的频率逐渐增高。据统计,在中国有1300多个乡镇&am…

交换机与路由器缓冲区:寻找完美大小

*本文系SDNLAB编译自瞻博网络技术专家兼高级工程总监Sharada Yeluri领英 在路由器和交换机中,缓冲区至关重要,可以防止网络拥塞期间的数据丢失。缓冲区到底要多大?这个问题在学术界和工业界一直备受争议。本文探讨了高端路由器中数据包缓冲的…

PSPICE、Multisim和Saber哪个更适合电路仿真?没想到是它

PSPICE、Multisim和Saber这三个软件都是非常流行的模拟电路仿真工具,它们各自有各自的优缺点,我简单讲一下: PSPICE: 优点: 精度高:PSPICE是专业的电路仿真软件,可以进行高精度的模拟电路仿真…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS,全称Domain Name System域名系统,是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库,而DNS解析就是将域名转换为IP地址的过程,使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

深度学习在三维点云处理与三维重建中的应用探索

目录 点云数据处理 数据清洗 数据降噪和简化 数据配准 特征提取 数据增强 数据组织 性能考量 PointNet PointNet ​编辑 算法问题 改进方法 三维重建 重建算法 架构模块 流程步骤 标记说明 优点和挑战 点云数据处理 数据清洗 去噪:点云数据通常…

数据结构—顺序表(如果想知道顺序表的全部基础知识点,那么只看这一篇就足够了!)

前言:学习完了C语言的基础知识点之后,我们就需要使用我们所学的知识来进一步对存储在内存中的数据进行操作,这时候我们就需要学习数据结构。而这篇文章为数据结构中顺序表的讲解。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以…

一、OpenCvSharp环境搭建

一、Visual Studio 创建新项目 二、选择Windows窗体应用(.NET Framework) 直接搜索模板:Windows窗体应用(.NET Framework) 记得是C#哈,别整成VB(Visual Basic)了 PS:若搜索搜不到,直接点击安装多个工具和…

MemoryAnalyzer分析OpenJ9上的phd格式文件

在做excel大数据写入时,发生内存泄漏 core.20240412.093703.1.0001.dmp heapdump.20240412.093703.1.0002.phd需要分析heap dump文件 mat本身不支持,需要我们下载插件 https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/runtimes/tools…