网页传奇游戏排行榜2014前十名/郑州seo排名公司

网页传奇游戏排行榜2014前十名,郑州seo排名公司,破仑网络营销公司,字节跳动小程序开发者平台Linux之数据链路层 一.以太网1.1以太网帧格式1.2MAC地址1.3MTU 二.ARP协议2.1ARP协议工作流程2.2ARP协议格式 三.NAT技术四.代理服务4.1正向代理4.2反向代理 五.四大层的学习总结 一.以太网 在我们学习完了网络层后我们接下来就要进入数据链路层的学习了,在学习完网…

Linux之数据链路层

  • 一.以太网
    • 1.1以太网帧格式
    • 1.2MAC地址
    • 1.3MTU
  • 二.ARP协议
    • 2.1ARP协议工作流程
    • 2.2ARP协议格式
  • 三.NAT技术
  • 四.代理服务
    • 4.1正向代理
    • 4.2反向代理
  • 五.四大层的学习总结

一.以太网

在我们学习完了网络层后我们接下来就要进入数据链路层的学习了,在学习完网络层后我们知道网络层的作用是进行路径选择以及完成路由,但是无论是应用层,传输层还是网络层都没有完成我们数据传输中最重要的一环那就是传输数据,上三层分别提供了数据处理,可靠性保证,路径选择和完成路由而真正的数据传输环节就需要我们现在学的数据链路层来完成了。数据链路层不同于上三层可以由具体的某项协议完成而是由一系列的协议标准来实现的。例如我们今天会仔细说的以太网。我们要了解以太网不是一种具体的网络而是一种技术标准,以太网的内容结合了数据链路层和物理层。以太网是如今应用最广泛的互联网技术与其并列的有令牌环和无线LAN等。

1.1以太网帧格式

首先我们先来了解什么叫做以太网帧:把在数据报首部添加报头尾部添加检验和的新的报文整体叫做以太网帧。所以以太网帧中分为三部分:报头,正文和校验和。
在这里插入图片描述

  • 目的地址和源地址
    其中的地址代表的是网卡的硬件地址也就是MAC地址,占据了六个字节也就是48位。
  • 类型
    这里的类型指的是应用于帧数据字段的协议。类型占据了两个字节即8位
  • 校验和
    这里的校验和就和TCP协议IP协议中的校验和相同即利用CRC算法来检查数据报是否损坏。

对于数据链路层来说传输靠的就不是IP地址了而是MAC地址因为数据报是通过一个一个的子网传输到目的主机的而在一个子网中传输靠的就是MAC地址。

1.2MAC地址

对于MAC地址我们应该不陌生了在讲述协议的时候我们就提到过MAC地址的概念以及它和IP地址的区别,这里我们就来再次认识一下MAC地址。
MAC地址是来识别数据链路层中相连的节点也就是不同的主机或者路由器,MAC地址的长度是48位即6个字节,一般是用16进制以及符号:来进行分割例如:08:00:27:03:fb:19。对于MAC地址来说这是在我们电脑出厂之后就存储在网卡中的并且是唯一的。
对于MAC地址和IP地址的区别我们能理解,我们可以将IP地址当作出去旅游时的起始处和目的地例如我们要从北京到上海去,那么源IP地址就是北京目的IP地址就是上海。而MAC地址则是我们在路上具体是从哪个地方到哪个地方例如从北京到上海,最开始源MAC地址就是北京目的MAC地址是河北,到了河北后源MAC地址就是河北目的MAC地址是河南以此类推直到目的MAC地址是上海。所以IP地址是不变的,MAC地址是一直在发生变化的。
在这里插入图片描述
那么在了解了MAC地址后我们要知道MAC的作用就是完成局域网中的通信也就是完成一个子网中的通信,在局域网中一个主机想要发送数据给另外一个主机就必须通过MAC地址而不是IP地址。那么在这个通信的过程也会产生一些问题,我用图来给大家解释。
在这里插入图片描述
所以在进行局域网通信的时候局域网就相当于是一个"临界资源"因为局域网会被很多的主机来访问,那么我们就需要对这个临界资源进行保护也就是对局域网进行保护以免出现错误,例如如果局域网中同时有两台及以上的主机同时发送数据报那么这些数据报可能就会在碰撞域中发生碰撞从而造成数据报的损坏。
所以对于碰撞域也就是局域网来说任何时刻只允许一台主机向局域网中发送数据报否则就有可能产生碰撞问题。想要解决碰撞问题我们可以采用碰撞检测和碰撞避免以及划分碰撞域的方法。

1.3MTU

在讲述IP协议的分包时我们就提到过MTU即网络的最大传输单元也就相当于我们发快递时的包裹大小限制,MTU的数值是不同的数据链路层对应的物理层产生的。所以这个值是不固定的对于以太网帧来说它规定数据长度的最小值是47个字节最大值是1500个字节如果数据报的长度不够就需要往后面补充字节。MTU不仅会对IP协议产生影响也会对UDP,TCP协议产生影响。

对于UDP协议,我们需要让传输层的数据报的有效载荷不能超过1472因为UDP协议报头是8个字节,IP协议报头是20个字节这样最后刚好达到MTU。如果超过了有效载荷超过了1472那么这个数据报就会在网络层被分片。

对于TCP协议也是相同的,只是我们在讲述TCP协议时提到过TCP的数据报大小不能超过MSS也就是Max((Max Segment Size)所以这个MSS也受制于MTU的大小最好的情况就是MSS刚好是在网络层不会被分片的大小。同时我们知道TCP是有三次握手这个行为的在三次握手中双方会把自己的MSS大小写入到TCP协议的头部中从而进行协商MSS大小,在双方得到两方的MSS大小后会将较小的MSS值当作最终的MSS值。而这个协商的过程MSS大小就是存储在TCP协议那40个字节的选项中的。
如果我们想要查看自己机器的MTU大小我们可以使用ifconfig这个命令。
在这里插入图片描述

二.ARP协议

在知道了MAC地址是用于局域网之间通信的之后我们要思考一个问题了,在我们发送数据报时我们是用IP地址来定位目的主机的也就是说我们并不知道目的主机的MAC地址以至于我们无法完成局域网之间的通信,所以为了解决这个问题我们就要利用ARP协议。
ARP协议是一个存在于网络层和数据链路层之间的一个协议它的作用就是完成IP地址和MAC地址的映射关系从而可以让我们根据目的IP地址转换为目的MAC地址来实现局域网之间的通信。

2.1ARP协议工作流程

对于ARP协议是如何完成IP地址和MAC地址的映射的我们也需要来说道说道我们一样用图来解释
在这里插入图片描述
图中的这些询问以及回答MAC地址的数据报就是ARP请求和ARP响应,所以在进行局域网之间的通信时通信两方会利用ARP请求以及响应来得到双方的MAC地址从而构建出IP地址和MAC地址的映射关系。同时我们也可以从图出看出来一些细节:对于一个局域网中的主机来说它既可以接收ARP请求也可以接收ARP响应并且主机在接收到ARP结果后会将其暂时缓存起来直到超过规定的时间,在超过规定的时间后还想和ARP结果内存储的目的主机进行通信的话就需要再次发送ARP请求。

2.2ARP协议格式

ARP协议和其他协议一样也具有自己的格式,我们现在就来看看它的格式是什么样的。
在这里插入图片描述
对于这个数据报的格式其中很多的字段我们都是见过或者很容易就能理解的,所以我们就大致介绍并且解析其中的一些问题。

  1. 我们发现在以太网的头部以及ARP协议中都存在目的MAC地址和源MAC地址,这是因为以太网不是数据链路层唯一的一种方法,如果数据链路层是以太网的那么这样就是多余的但是如果数据链路层不是以太网的那么这种方法就是必须的了。
  2. 硬件类型是指数据链路层的网络类型,1为以太网
  3. 协议类型是指要转换的地址类型,0x0800为IP地址
  4. 硬件地址长度是数据链路层网络类型的地址长度,对于以太网来说是6字节
  5. 协议地址长度是转换的地址类型的地址长度,对于IP地址来说是4字节
  6. op字段则是标明是ARP请求还是响应,1是请求,2为响应。

三.NAT技术

在之前我们学习网络层的时候我们就提到过NAT技术,NAT技术产生的缘由就是为了解决IPv4数量不足的而NAT技术本身我们可以将其理解成一种互相转换私有IP和公有IP的方法。实现方法简单来说就是在NAT路由器有两个地址一个是私有地址也就是局域网内的IP地址一个是公有地址也就是公网内的IP地址,当局域网里有主机想要访问外网时路由器就会将其数据报中的源IP地址转换为公有IP地址,当外网服务器想要传输数据报到局域网内的主机时就会将数据报里的目的IP地址转换为对应的主机的私有地址。所有在NAT路由器中有着一张表其中存储着局域网内主机的私有IP地址和公有IP地址的映射关系来方便转换,并且这个表也是又路由器自己维护的。
在这里插入图片描述

这个处理逻辑只是最基础的NAT技术我们可以思考一个问题局域网内有多个主机它们的私有IP地址都不同但是路由器只有一个公有IP地址那么在外网的服务器传输数据报回来时路由器怎么知道是传输给哪个主机呢?这就要用到NAPT了也就是使用IP地址+端口号的方式,具体一点就是在路由器的地址转换表中不仅存储了局域网主机的IP地址也存储了对应的端口号。
在这里插入图片描述
NAT技术实实在在的缓解了IPv4地址数量不足的问题但是它也有其限制和弊端:

  1. 无法从NAT外部向内部服务器建立连接
  2. 地址转换表的创建和销毁都需要额外资源
  3. 通信过程中一旦NAT路由器设备出现问题那么所有的TCP连接都会出错

四.代理服务

在国内如果想要访问外网的资源我们需要进行翻墙也就是通过代理来访问外网资源。那么代理服务到底是如何实现的呢?
对于代理服务我们分为正向代理和反向代理,这两种代理方式运用场景以及原理都不同我们需要来一个一个说。

4.1正向代理

正向代理(Forward Proxy)是一种常见的网络代理方式,它位于客户端和目标
服务器之间,代表客户端向目标服务器发送请求。正向代理服务器接收客户端的请
求,然后将请求转发给目标服务器,最后将目标服务器的响应返回给客户端。通过这
种方式,正向代理可以实现多种功能,如提高访问速度、隐藏客户端身份、实施访问
控制等。
简单来说正向代理就是在客户端和网络之间插入了一个新的代理服务器,客户端会先把请求发送到代理服务器上再由代理服务器将其转发给目的服务器,响应也是先发送到代理服务器上再转发到客户端上。
在这里插入图片描述
正向代理的功能特点:

  • 缓存功能:正向代理服务器可以缓存经常访问的资源,当客户端再次请求这些资
    源时,可以直接从缓存中获取,提高访问速度。
  • 内容过滤:正向代理可以根据预设的规则对请求或响应进行过滤,如屏蔽广告、
    阻止恶意网站等。
  • 访问控制:通过正向代理,可以实现对特定网站的访问控制,如限制员工在工作
    时间访问娱乐网站。
  • 隐藏客户端身份:正向代理可以隐藏客户端的真实 IP 地址,保护客户端的隐私。
  • 负载均衡:在多个目标服务器之间分配客户端请求,提高系统的可扩展性和可靠
    性。

应用场景:

  • 企业网络管理:企业可以通过正向代理实现对员工网络访问的管理和控制,确保员工
    在工作时间内专注于工作,避免访问不良网站或泄露公司机密。
  • 公共网络环境:在公共场所如图书馆、学校等提供的网络环境中,通过正向代理可以
    实现对网络资源的合理分配和管理,确保网络使用的公平性和安全性。
  • 内容过滤与保护:家长可以通过设置正向代理来过滤不良内容,保护孩子免受网络上
    的不良信息影响。
  • 提高访问速度:对于经常访问的网站或资源,正向代理可以通过缓存机制提高访问速
    度,减少网络延迟。
  • 跨境电商与海外访问:对于跨境电商或需要访问海外资源的企业和个人,正向代理可
    以帮助他们突破网络限制,顺畅地访问海外网站和资源。

4.2反向代理

反向代理服务器是一种网络架构模式,其作为 Web 服务器的前置服务器,接收
来自客户端的请求,并将这些请求转发给后端服务器,然后将后端服务器的响应返回
给客户端。这种架构模式可以提升网站性能、安全性和可维护性等。
同样简单来说反向代理是在目的服务器和网络之间插入了一个新的服务器,当我们使用客户端向目的服务器传输数据时我们无法直接访问目的服务器而是要将数据先发送到反向代理服务器中再由它将数据转发到目的服务器中,响应也是先由目的服务器传输到反向代理服务器上再传输给客户端。听着好像和正向代理服务相似都是插入一个中间服务器但是其中的功效则完全不同,正向服务是为了保护客户端而反向服务则是为了保护服务器。
在这里插入图片描述
功能特点:

  • 负载均衡:反向代理服务器可以根据配置的负载均衡策略,将客户端的请求分发
    到多个后端服务器上,以实现负载均衡。这有助于提升网站的整体性能和响应速度,
    特别是在高并发场景下。
  • 安全保护:反向代理服务器可以隐藏后端 Web 服务器的真实 IP 地址,降低其被
    直接攻击的风险。同时,它还可以配置防火墙、访问控制列表(ACL)等安全策略,
    对客户端的请求进行过滤和限制,以保护后端服务器的安全。
    -缓存加速:反向代理服务器可以缓存后端 Web 服务器的响应内容,对于重复的
    请求,它可以直接从缓存中返回响应,而无需再次向后端服务器发起请求。这可以大
    大减少后端服务器的负载,提升网站的响应速度。
  • 内容过滤和重写:反向代理服务器可以根据配置的规则对客户端的请求进行过滤
    和重写,例如添加或删除请求头、修改请求路径等。这有助于实现一些特定的业务需
    求,如 URL 重写、用户认证等。
  • 动静分离:在大型网站中,通常需要将静态资源和动态资源分开处理。通过将静
    态资源部署在反向代理服务器上,可以直接从反向代理服务器返回静态资源的响应,
    而无需再次向后端服务器发起请求。这可以大大提升静态资源的访问速度。
    应用场景:
  • CDN(Content Delivery Network,内容分发网络)就是采用了反向代理的原理

五.四大层的学习总结

  1. 应用层
  • 应用层的作用: 满足我们日常需求的网络程序, 都是在应用层
  • 能够根据自己的需求, 设计应用层协议
  • 了解 HTTP 协议
  • 理解 DNS 的原理和工作流程
  1. 传输层
  • 传输层的作用: 负责数据能够从发送端传输接收端.
  • 理解端口号的概念.
  • 认识 UDP 协议, 了解 UDP 协议的特点.
  • 认识 TCP 协议, 理解 TCP 协议的可靠性. 理解 TCP 协议的状态转化.
  • 掌握 TCP 的连接管理, 确认应答, 超时重传, 滑动窗口, 流量控制, 拥塞控制, 延
    迟应答, 捎带应答特性.
  • 理解 TCP 面向字节流, 理解粘包问题和解决方案.
  • 能够基于 UDP 实现可靠传输.
  • 理解 MTU 对 UDP/TCP 的影响
  1. 网络层
  • 网络层的作用: 在复杂的网络环境中确定一个合适的路径.
  • 理解 IP 地址, 理解 IP 地址和 MAC 地址的区别.
  • 理解 IP 协议格式.
  • 了解网段划分方法
  • 理解如何解决 IP 数目不足的问题, 掌握网段划分的两种方案. 理解私有 IP 和公
    网 IP
  • 理解网络层的 IP 地址路由过程. 理解一个数据包如何跨越网段到达最终目的地.
  • 理解 IP 数据包分包的原因. • 了解 ICMP 协议. • 了解 NAT 设备的工作原理.
  1. 数据链路层
  • 数据链路层的作用: 两个设备(同一种数据链路节点)之间进行传递数据
  • 以太网是一种技术标准; 既包含了数据链路层的内容, 也包含了一些物理层的内
    容. 例如: 规定了网络拓扑结构, 访问控制方式, 传输速率等;
  • 以太网帧格式
  • 理解 mac 地址
  • 理解 arp 协议
  • 理解 MTU

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

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

相关文章

MySQL的基础语法2(函数-字符串函数、数值函数、日期函数和流程函数 )

目录 一、字符串函数 1.常见字符串函数 ​编辑 2.字符串函数的基本使用 3.字符串函数的数据库案例演示 二、数值函数 1.常见数值函数(如下): 2.数值函数的基本使用 3.数值函数的数据库案例演示 三、日期函数 1.常见的日期函数 2.日…

全新版租赁商城小程序源码系统 源码开源支持二开+图文搭建教程

在互联网商业的浪潮中,租赁业务凭借其独特的优势,正逐渐成为市场的新宠。对于开发者而言,快速搭建一个功能完备的租赁商城小程序,不仅能满足市场需求,还能为自己的业务拓展带来新的机遇。分享一款全新版租赁商城小程序…

Cent OS7+Docker+Dify

由于我之前安装了Dify v1.0.0,出现了一些问题:无法删除,包括:知识库中的文件、应用、智能体、工作流,都无法删除。现在把服务器初始化,一步步重新安装,从0到有。 目录 1、服务器重装系统和配置…

AI的未来:机遇、挑战与发展方向

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 1. 引言 人工智能(AI)已经成为当今世界最具革命性的技术之一,它正在深刻改变各个行业&#x…

使用vue cli 5.0 在vscode中运行vue命令报错

1、运行 vue -- version 报错 2、在cmd 命令行 执行 vue --version 正常 3、在终端中输入 get-ExecutionPolicy,查看当前权限 4、执行 set-executionpolicy remotesigned 命令设置为可用模式,但是报错 5、使用管理员打开power shell 执行 G…

瑞芯微 RKrga接口 wrapbuffer_virtualaddr 使用笔记

一、源码 官方在librga中给了很多 demo 以供参考&#xff0c;例如 imresize 操作&#xff1a; /** Copyright (C) 2022 Rockchip Electronics Co., Ltd.* Authors:* YuQiaowei <cerf.yurock-chips.com>** Licensed under the Apache License, Version 2.0 (the &qu…

06-SpringBoot3入门-常见注解(简介)

1、Controller ResponseBody Controller是Spring MVC 中的注解&#xff0c;负责处理 HTTP 请求。 ResponseBody是Spring MVC 中的注解&#xff0c;用于直接将方法的返回值作为 HTTP 响应体。 2、RestController RestController Controller ResponseBody 3、RequestMappin…

ubuntu24.04.2 NVIDIA GeForce RTX 4060笔记本安装驱动

https://www.nvidia.cn/drivers/details/242281/ 上面是下载地址 sudo chmod x NVIDIA-Linux-x86_64-570.133.07.run # 赋予执行权限把下载的驱动复制到家目录下&#xff0c;基本工具准备&#xff0c;如下 sudo apt update sudo apt install build-essential libglvnd-dev …

《Express:Node.js 里的 “闪电侠”》

“你就坐在我身边&#xff0c;好不好” 什么是Express 官方给出的概念&#xff1a;Express 是基于 Node.js 平台&#xff0c;快速、开放、极简的 Web 开发框架。 通俗的理解&#xff1a;Express 的作用和 Node.js 内置的 http 模块类似&#xff0c;是专门用来创建 Web 服务器…

vue遗漏的知识点(动态组件.组件库的操作使用)

----动态组件&#xff08;vue2vue3通用&#xff09; <component :is"..."> 的作用 <component> 是 Vue 的内置组件&#xff0c;用于动态渲染其他组件。:is 属性 用于指定要渲染的组件。它的值可以是&#xff1a; 组件的名称&#xff08;字符串&#xf…

vue 项目启动报错可以让 cursor启动

vue 项目启动报错可以让 cursor启动

Vue3当中el-tree树形控件使用

tree悬停tooltip效果 文本过长超出展示省略号 如果文本超出悬停显示tooltip效果 反之不显示 这里直接控制固定宽度限制 试了监听宽度没效果<template><el-treeshow-checkbox:check-strictly"true":data"data"node-key"id":props"…

PDF处理控件Aspose.PDF教程:通过C#、Java 和 Python删除 PDF中的水印

Aspose.PDF 是一个功能强大的库&#xff0c;旨在以编程方式处理 PDF 文档&#xff0c;提供创建、编辑、转换和操作的广泛功能。它支持 C#、Java 和 Python 等多种编程语言&#xff0c;使开发人员能够精确高效地自动处理 PDF。 对于开发人员来说&#xff0c;由于自动化和定制化…

基于STC89C51的太阳自动跟踪系统的设计与实现—单片机控制步进电机实现太阳跟踪控制(仿真+程序+原理图+PCB+文档)

摘 要 随着我国经济的飞速发展&#xff0c;促使各种能源使用入不敷出&#xff0c;尤其是最主要的能源&#xff0c;煤炭石油资源不断消耗与短缺&#xff0c;因此人类寻找其他替代能源的脚步正在加快。而太阳能则具有无污染﹑可再生﹑储量大等优点&#xff0c;且分布范围广&…

【硬件测试】基于FPGA的16QAM+帧同步系统开发与硬件片内测试,包含高斯信道,误码统计,可设置SNR

目录 1.算法硬件测试效果 2.算法涉及理论知识概要 2.1 16QAM调制解调原理 2.2 帧同步 3.Verilog核心程序 4.开发板使用说明和如何移植不同的开发板 5.完整算法代码文件获得 1.算法硬件测试效果 本文是之前写的文章: 《基于FPGA的16QAM帧同步系统verilog开发,包含testb…

多路径 TCP 调度的另一面

参考前面的文章 一个原教旨的多路径 TCP 和 MP-BBR 公平性推演&#xff0c;一直都破而不立&#xff0c;不能光说怎样不好&#xff0c;还得说说现状情况下&#xff0c;该如何是好。 如果 receiver 乱序重排的能力有限(拜 TCP 所赐)&#xff0c;如果非要在多路径上传输 TCP&…

大数据学习(92)-spark详解

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…

RAG - 五大文档切分策略深度解析

文章目录 切分策略1. 固定大小分割&#xff08;Fixed-Size Chunking&#xff09;2. 滑动窗口分割&#xff08;Sliding Window Chunking&#xff09;3. 自然语言单元分割&#xff08;Sentence/Paragraph Segmentation&#xff09;4. 语义感知分割&#xff08;Semantic-Aware Seg…

微信小程序引入TDesign组件后报错一直提示路径不对(Component is not found in path)的解决方法

最近在做微信小程序的项目&#xff0c;创建好项目后&#xff0c;按官方方式引入TDesign组件&#xff0c;但还是一直提示报错&#xff08;Component is not found in path "miniprogram_npm/tdesign-miniprogram/button/button" (using by "pages/login/login&qu…

【机械视觉】C#+VisionPro联合编程———【六、visionPro连接工业相机设备】

【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 目录 【机械视觉】C#VisionPro联合编程———【六、visionPro连接工业相机设备】 前言&#xff1a; 连接步骤说明 一. 硬件连接 支持的相机接口类型&#xff1a; 连接步骤 2. 软件配置 Visio…