【JavaEE】数据链路层-以太网协议-DNS

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: JavaEE & 网络原理补充-数据链路层 & 以太网协议数据链路层更接触底层,也就离我们更远了,所以只需要了解即可,在本文章也不会涉及太深!1. 以太网数据帧 以太网数据帧就是对IP数据报进一步的包装的数据报 以太网协议,属于数据链路层也属于物理层 数据链路层和物理层之间还是有很多联系的,有很多重合

JavaEE & 网络原理补充-数据链路层 & 以太网协议


数据链路层更接触底层,也就离我们更远了,所以只需要了解即可,在本文章也不会涉及太深!


1. 以太网数据帧


   以太网数据帧就是对IP数据报进一步的包装的数据报

   以太网协议,属于数据链路层也属于物理层

       数据链路层和物理层之间还是有很多联系的,有很多重合


1.1 帧头帧尾



分析:


   校验和跟之前的类似,防止发生数据因为外界原因影响后,如磁暴,而错乱的数据被使用



   所以相对于IPV4地址不够用问题,mac地址目前是足够用的

   所以mac地址在一张网卡出厂的时候久被确定了,写死了


因此,mac地址就可以作为网络上身份识别的一种有效技术手段!


   如CCtalk,一个账号要绑定对应的mac地址,应该是两个,也就是通过这个手段,限制只有这两台设备才能登录,只能通过管理员去改绑。通过这种方式,保证一个账号不被多人使用


为什么ip和mac存在两套地址?


   这是一个历史遗留的问题

       数据链路层和网络层是被各自独立发明出来的~


   ip地址发明者与mac地址发明者互不相识,导致ip和mac地址同时被发明出来


   mac地址发明者显然更加有先见之明(mac地址6个字节)


1.2 类型



   ARP和RARP,是二层转发(数据链路层的转发)的必要辅助工具


       交换机里面的一个转发表,ARP就是用来构造转发表的机制~

       离我们太远了,这里就不多讲了~

           如果你是学校考试,那么你可以去网上搜罗资料去研究研究~


1.3 载荷


   对于普通的以太网数据帧,你也发现了一个细节


   硬件要求载荷(即IP数据报)最大为1500个字节


不同数据链路层协议,对于到不同的硬件物理设备,这种硬件限制也是不一样的~


   相当于,不同的运输工具:面包车小轿车,货车,火车…

   他们的载重量也是不一样的


   以太网数据帧通过网线这种硬件传输,网线就不能传输太大的数据报~


把这个数据链路层数据帧最大载荷长度称为MTU


   MTU的英文全称为Maximum Transmission Unit,中文是意思是最大传输单元


如果承载的数据,长度超过MTU,就会在IP层进行分包,使得分出来的结果,在MTU之内


2. IP数据报补充


对于IP数据报被分包后,如何保证数据联系和数据连贯的?


   涉及IP数据报的这些属性:


2.1 16位标识


一个大的IP数据报拆成多个小包之后,这些小包的表示都是相同的!


2.2 13位片偏移


表示每个小的数据报之间的先后顺序,以此用来组包


   数据报组包的原理与其他协议基本类似


TCP的整队,其实也可以借助IP整队来完成


2.3 3位标识



三位的作用如下:


   有一位没啥用

   有一位标识是否分包了

   有一位标识当前这个包儿是否是最后一个

       结束标识


   IP报头多份,是因为多份是为了组包


       但是UDP报头不需要多份,所以其实只有一个IP数据报包含UDP数据报报头


       FDDI是另一个数据链路层协议~


因此,即使有MTU的限制,IP仍然可以传输一个更大的数据~


注意:


如果别人问你MTU是几?


   答案不是1500,这样不严谨

   因为在不同的数据链路层现已,MTU不一样,只是以太网协议是1500!!!


2.4 首部长度



首部长度字段(4bit),它的值代表数据报报头的按此图看,有多少行


   易得,最少为5行(无可选字段),每一行为4个字节,所以IP数据报报头最短20个字节

       即首部长度字段=0101 => 5

   最多15行(可选字段达到最长),每一行为4个字节,所以IP数据报报头最长60个字节

       即首部长度字段=1111 => 15


3. DNS


电子监听、全国断网,棱镜门背后,中国如何从末路狂奔到世界之巅_哔哩哔哩_bilibili


   墙裂建议观看!很有帮助!


你可能不知道,我们可以通过IP地址,去访问百度



   当然很多情况下,是这样的


我们一般是通过域名访问


   因为IP地址太难记了~


3.1 DNS原理


例子:


小马有一百个朋友,他习惯通过手机电话交流,而每一个朋友的手机号又不同,甚至一个普通有两个手机号,那么小马需要背下朋友们的手机号吗?


答:没必要,因为手机的通讯录,很好的解决这个问题了,我们只需要将手机号的朋友的名字绑定起来,我们记住姓名,点击姓名拨号即可~



我们能通过域名就能访问服务器,则是因为我们电脑里有一个类似于通讯录的文件,去记录域名和IP的对应关系


   这个文件就是Hosts文件


下面是纵多hosts文件中的一个:





动图解释:


图片.png

来源:【硬件科普】能上QQ但是打不开网页?详解DNS服务,DNS解析,DNS劫持和污染_哔哩哔哩_bilibili


   讲的很好!


显然,hosts文件是有限的,我们可以记录一些常见的域名对应的IP,但是你绝对不可能记录下全世界所有域名对应的IP!


所以就单独独立出来了一个服务器,这个服务器就是DNS服务器


   让这台服务器,专门去存储这个世界上绝大多数域名和IP的映射表


动图解释:

图片.png


当然,DNS服务器不是唯一的,选择不同的DNS服务器处理相同的网址速度是不同的,对于不同地区的设备选择相同的DNS服务器访问速度也是不同的~


   没有好坏之分~

   我嫌麻烦,自动获取运营商提供的DNS就行了


如果你打不开一些网址,但是可以登录QQ之类的


   这也是DNS配置错误的问题


动图解释:


3.2 DNS劫持或者污染


如果有人对你配置的DNS服务器,进行一些不为人知的操作,你输入的域名会被解析为另一个IP,而这个IP如果外观与原网页一致,那后果让人后怕!


动图解释:



   轻则给你看点广告

   重则获得个人信息,盗号,甚至涉及钱!


动图解释:



但是你没背IP呀,单看域名是对的呀~


DNS劫持或者污染已经算得上是犯罪了!


   破坏计算机信息系统罪


目录
相关文章
|
3月前
|
XML 监控 网络协议
云深处绝影四足机器人协议学习解析
本文详细介绍并解析了云深处绝影X20四足机器人的通信协议,包括TCP服务端端口号、基于Service的请求/响应通信机制、通信帧结构、消息类型、常见的通信示例如获取状态和导航请求,以及运动控制的参数和命令。文中还提出了对协议中某些未明确说明或可能存在的问题的疑惑。
44 0
云深处绝影四足机器人协议学习解析
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
100 3
|
2月前
|
域名解析 存储 网络协议
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
本文详细介绍了IP协议报头结构及其各字段的功能,包括版本、首部长度、服务类型、总长度、标识、片偏移、标志、生存时间(TTL)、协议、首部检验和等内容。此外,还探讨了IP地址的网段划分、特殊IP地址的应用场景,以及路由选择的大致流程。最后,文章简要介绍了DNS协议的作用及其发展历史,解释了域名解析系统的工作原理。
123 5
深入解析网络通信关键要素:IP 协议、DNS 及相关技术
|
3月前
|
缓存 网络协议 安全
【网络攻防战】DNS协议的致命弱点:如何利用它们发动悄无声息的网络攻击?
【8月更文挑战第26天】DNS(域名系统)是互联网的关键组件,用于将域名转换为IP地址。然而,DNS协议存在安全漏洞,包括缺乏身份验证机制、缓存中毒风险及放大攻击的可能性。通过具体案例,如DNS缓存中毒和DNS放大攻击,攻击者能够误导用户访问恶意站点或对目标服务器实施DDoS攻击。为了防范这些威胁,可以采用DNSSEC实现数字签名验证、利用加密的DNS服务(如DoH或DoT)、限制DNS服务器响应以及及时更新DNS软件等措施。理解并应对DNS的安全挑战对于确保网络环境的安全至关重要。
97 2
|
4月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
83 4
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
20 3
|
4月前
|
网络协议 网络架构
以太网链路连接 和 ISIS/OSPF等路由协议关系
以太网链路连接 和 ISIS/OSPF等路由协议关系
51 0
|
2月前
|
前端开发 JavaScript 安全
深入解析 http 协议
HTTP(超文本传输协议)不仅用于传输文本,还支持图片、音频和视频等多种类型的数据。当前广泛使用的版本为 HTTP/1.1。HTTPS 可视为 HTTP 的安全增强版,主要区别在于添加了加密层。HTTP 请求和响应均遵循固定格式,包括请求行/状态行、请求/响应头、空行及消息主体。URL(统一资源定位符)用于标识网络上的资源,其格式包含协议、域名、路径等信息。此外,HTTP 报头提供了附加信息,帮助客户端和服务端更好地处理请求与响应。状态码则用于指示请求结果,如 200 表示成功,404 表示未找到,500 表示服务器内部错误等。
60 0
深入解析 http 协议
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
67 3
|
2月前
|
消息中间件 安全 Kafka
Kafka支持SSL/TLS协议技术深度解析
SSL(Secure Socket Layer,安全套接层)及其继任者TLS(Transport Layer Security,传输层安全)是为网络通信提供安全及数据完整性的一种安全协议。这些协议在传输层对网络连接进行加密,确保数据在传输过程中不被窃取或篡改。
168 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多