最后更新:2022-07-05 00:05:41 手机定位技术交流文章
虽然计算机在首次出现时具有很强的计算能力,但每个计算机彼此独立,计算机的使用者只能计算自己的数据,如果用户想合作,在互相传递数据时,拥有独立的电脑(很昂贵)是不够的,所以我们需要连接多个计算机。因此数据传输相互作用的成本要低得多,这就是计算机网络。
在网络出现后,随着用户数量的增加,可能有越来越多的网络,不同的网络可以通过路由器连接,形成一个由开关和路由器连接的网络--LAN。
一个可以直接或间接相互通信的大型网络由多个本地网络组成,由路由器相互连接,整个网络称为宽带网络(WAN)。
宽带和宽带只是一个相对的概念。主要是为了区分彼此,例如,某一地区的网络可以被视为全国的本地网络。国家网络可以看作宽带网络,而在全世界来看,我国的网络也可以视为本地网络,它与所有国家的网络一起被称为宽带网络。
计算机中的网络在哪里?
网络指的是网络协议堆栈, 是一个渗透到架构的软件.
TCP/IP协议堆是操作系统的一部分,所有操作系统都遵守它,这就是为什么计算机和移动电话可以互相通信的原因。
在计算机之间,0和1等信息由光的频率和弱度、电报等表示。
如果你想传递不同的信息,你需要为双方达成一个好的数据格式,即一个计算机协议
所谓 的 计算机 协议 基本上 是 一 项 协议, 由 程序员 自己 根据 标准 文件 或 他们 自己 的 偏好 来 定义 。
即使我们定义协议,如果实现中存在差异,就无法实现通信。从协议到协议的所有实现都是标准化的,每个人都必须遵守一个共同的标准,即网络协议
为什么要分层?
举个例子:两个人在现实生活中呼叫
这是一个简单的层状结构,一共分为两层,语言层和通讯设备层,假设我们两个是中国人,都用汉语交流,这意味着我们之间的语言协议是汉语,如果我们俩今天不想用电话,想用无线电,我们改变了设备协议,但我们仍然可以沟通,如果我们还在电话里,但是我两都会英语,我们用英语交流,还是可以交流的,这就是分层结构
上述例子的协议只有两个层,但实际的网络通信更复杂,需要更多的层。
软件设计上层构造的好处:通过完成层间耦合的理解,任何层的替代不会影响其他层。
如何分层?
有许多不同的软件实现。
协议也是一种软件。协议层是软件层
软件: 代码和数据, 代码: 函数和各种调用逻辑, 数据: 各种变量结构和各种结构构建的数据结构, 各种对象.
软件层级: 逻辑层级的代码层级, 不同层间的数据流
操作系统通过驱动层管理所有的硬件作为文件,也是一个层
OSI(Open System Interconnection)是一个开放系统互连参考模型。
这是一个逻辑的定义和规范;
将网络从逻辑分七层,每个层都有相应的物理设备(设备),如路由器、开关;
OSI七层模型是一种框架设计方法,其主要功能是帮助不同类型的主机实现数据传输;
其最大的优点是,服务、接口和协议的三个概念清晰地分开,理论更加完善,通过七个层次结构模型,实现了不同系统不同网络之间的可靠通信。
但是, 它既复杂又不效率,所以只是部分实现,因此我将首先在TCP / IP四层模型中解释.
TCP/IP(英语:TCP/IP)是一套协议的代数术语,它还包括许多组成TCP/IP群的协议。
TCP/IP通信协议采用五层结构,每个层调用其下层提供的网络来满足其自身需求。 从下层到上层分别:
物理层:负责传输光电讯号(纯硬件,频率,波形等)。例如,以太网兼容的网格线(双线线),早期的以太网(现在主要用于电缆电视)使用的轴线和光纤。目前的WiFi无线网络使用电磁波等作为物理层的概念的一部分。物理层的能力决定了最大传输速度、传输距离、抗干扰等。集线器(Hub,扩大数据以在物理层中工作。
数据链层:负责设备之间的数据帧的传输和识别(可以理解为硬件匹配的驱动模块)。例如, 驱动网络卡设备, 帧同步 ( 即从网络到新的帧开始的信号), 冲突检测 ( 如果发现冲突自动重复 ) 和数据误差校正.交换器在数据链层中工作。
网络层:负责地址管理和路由选择。 例如,在IP协议中,一个IP地址用于识别一个主机,通过路由表规划两个主机之间的数据传输线。
传输层:负责两个主机之间的数据传输。 例如,传输控制协议(TCP)可以确保数据从源主机发送到目标主机。
应用层: 负责应用程序之间的通信,例如, 简单的电子邮件传输 ( SMTP ) 文件传输协议 ( FTP ) 网络远程访问协议 ( Telnet ) 等. 我们网络编程主要针对应用层.

设备越接近,实现水平越高。
以买快递为例:
假设买家在网上购买手机,买家从购买手机到购买手机的步骤大致如下:
卖方收到一个包装手机的订单, 称为在网络上包装.
卖方必须填写邮件订单,然后你可以把货物送到邮政公司,其余的卖方不必担心。
当发件人收到包裹时,它将规划由我将货物送到目的地的路线。网络层是这样做的——路径规划。
(4)如果路径有良好的规划,则必须沿路径运输包装,这是数据链层所做的。
当货物装运时,可能会发生各种事故,例如货物丢失或损坏时,我们会要求卖方再将货物送给我们,卖方再将货物送给我们。
通过上述过程,买方最终得到包裹,但还没有完成,因为我们把包裹交给用户,以便让用户使用,所以我们还告诉用户如何使用电话,这是应用程序层的工作-分析和使用数据。
如果我的设备A想向设备B发送消息,此消息不能直接从应用程序层传递,它必须被层层地应用,通过以太网传输到物理层,再自底向上的交付,转移到设备B应用程序层,不管是本地还是宽带网络,必须通过整个协议堆栈。就像我和朋友住在两个楼里一样,虽然我们都在4楼,但如果我要找到他,我先呆在楼下。然后去楼下,去楼上找他。
当数据向下传输时,每个层都会添加自己的头条,最后的包将所有头条通过物理层传输到另一个设备,每个层的协议头条在报告向上传输时将被删除,然后送到顶层。
不断将标题添加到原始数据的过程称为封装。
自底向上把报头的部分一个一个解析出来只保留他的有效部分的过程叫做解包&。
当最终用户看到这一现象时,同一层逻辑上接收相同的标题和消息,这意味着,在每一个层次上,如果你忽略了根本的细节,我的每一个层子都在思考我给别人的接受,叫做同层协议,他们似乎认为他们正与对方直接沟通,例如,用户认为他正与另一个用户直接通信(应用程序层的同一层)。
什么是报头?
或者以交货为例,所有交货箱都有交货表格、格式+数据。
当我买东西时,我只是需要我的手机。你为什么要给我这个表格?
如果我没有邮件订购,发件人不知道谁送了包裹,不知道谁送,所以发件人不知道怎么送。 这就是为什么头条在指导我们交货方面最重要的原因。
在网络中,顶部的数据需要引导当前层作出某种协议决定(如何处理消息)。
从生活的角度来看,当我们得到快车时,我们不再需要一张贺卡了,所以我把它拿出来扔进箱子里,这是包装的过程。
在操作系统中如何理解头条和数据?
首先,澄清一个概念:在当前层中,将消息分成标题和消息的有效负载
Linux系统是用C语言写的, 如何理解包装和卸包装的语言角度?
上面的代码是语言角度:定义一个比特变量。
因此封筒是一个有结构的变量。
从操作系统的角度来看,所谓的封装意味着将一个小块复制到缓冲区,然后将实际的负载复制到其中(一个用于一定时间的二进制复制)。
在几乎所有协议层中,包标题必须包含两个字段:
当前报告的有效载荷的协议是向顶层交付的。
几乎每个标题都有一个属性,它定义了标题和有效负荷之间的界限。
这就是报告中的所有协议的共同性
一个网络地址可以在Linux中通过命令查看
首先,让我们了解网络的通信原理和为什么网络中的主机能够通信
假设目前有五个A、B、C、D、E主机在本地网络中。现在一个主机想向D主机发送消息,A主机首先将数据包起来。然后它被传输到Ethernet上,但所有在网络上传输的信号都是光信号,无法指定将将数据传输到网络线的位置,哪个主机上,但为什么我发送给D主机的数据不能被其他主机接收?因为我们发送的邮件的头条带有Mac地址,本地网络上的所有主机都有唯一的Mac地址,所以当一个主机发送消息时,只需填写主机D的Mac地址,当你发送这样的消息,尽管所有主机都能接收,但当他们分析报告并比较时,他们发现这不是他们自己的报告,将直接从报告中删除,最后,只有D才收到消息,这样看来,我们只是从A到D之间传递数据。就像一间房间里有几个人一样,此刻,我想向其中一个说一句话,然后我先叫他的名字。他知道我正在和他说话,其他人能听到,但其他人知道,这不是他们自己说的,就会忽略这句话。
Mac地址:世界独一无二,序列数可以被烧入网络卡中,长度为48位和6个字符,通常以16位数字和一个尖叫点的形式表示(例如: 08:00:27:03:fb:19)。实际的Mac地址主要用于本地网络的标识符。全球识别使用IP地址。
但当我们想通过网络发送信息时,我们不能保证我发送信息时没有人使用网络(网络资源共享)。就像我在一间房间里说话一样,那么我不能调节房间,只有我才能说话。别人都闭嘴,当我说话的时候,其他人也说话,谁说的话都听不清,这种情况叫做网络中的数据碰撞。
如果所有主机同时发送消息,则可能存在数据碰撞的问题,这是不可避免的,但我们可以检测是否有碰撞,因此每个主机都有检测碰撞的能力,每个主机都有避免碰撞的算法。
所有这些操作都是在以Ethernet驱动的数据链层中进行的
摘要: 在网络中的任何位置, 只有一个主机可以向网络发送消息.
从操作系统的角度来看:
这个网络线是本地区域网络的公共资源,公共资源可以通过多个执行流(主机)访问,网络资源调用的这一部分可以被看作是进程间通信中的一个关键资源,其中多个主机可以被看作是不同的执行流,确保在任何时候只有一个可执行的流中输入数据,这就是互斥。
上述资源碰撞网络称为Ethernet网络,另一个网络称为License Ring:
当一个环发送消息时,它相当于有一个,只有带有环的主机才能发送消息,当消息完成时,它继续传递给下一个人,有点像相互阻塞的锁。
上述内容被解释为本地网络间的数据传输, 跨网传输?

A和B不是同一个网格,因为它们不属于本地网络,是用路由器连接的,但主机A和路由器和主机B和路由器属于同一网络段,路由器类似于A和B之间的 word processor,可以与路由器通信,路由器可以与B通信,这将使A和B能够沟通。
每个传输包都有两个地址集
一个是目标IP,在传输过程中几乎总是一样
还有一种目的Mac,它一直在改变
他们之间的关系就像有人从很小的时候就开始想成为人类一样,在这一点上,这成为人类的目的就是他的目的IP,然后他从很小的时候就开始上学,要先完成小学教育,完成小学的目的就是他的Mac的目的,小学毕业后,他还想完成中学学习,此时,Mac的目标是再次完成中学教育,中学毕业生必须上大学,大学上万参加工作,在这一过程中,他总是记住起始,最终成为了人上人,人类的终极目标在这里没有改变。但是,成为人类的每一个阶段的目的都一直在改变,但这些目标的改变也围绕着他的最终目标,这是目的Mac与目的IP之间的关系。
在上述图中传输数据包时,数据包不断从头到下包装,到了以太网,头条会有很多段落,它包含当前堆栈和下一个堆栈的Mac地址,然后数据被发送到Ethernet,所有Ethernet主机都可以接收这个包,但因为麦克的地址不适合他们,他们将把报纸扔掉,只有路由器才能接收消息,然后拆卸并分发,向上传送路由器到IP层,这时,人们发现该路由应该给主机B,但是你不能直接穿过同一层,所有要再次封装,再次盖上卡片戒指的头部,然后在卡片的圈子里被B主机接纳,解析报头,向上交付,最终完成通信。
因此,为什么Mac地址一直在改变:在数据链层中,通过路由器,它一直在解码和封装(Mac地址已经重新封装)
在IP层中,由于存在路由器,IP层和上面的所有协议在底层网络中看不到任何差异,保护底层网络中的差异,因此互联网底层网络的核心协议叫做IP,IP的存在可以统一所有不同的网络。
IP协议分为两个版本,IPv4和IPv6,通常没有规范。IP协议默认为IPv4
对于IPv4,IP地址可以表示为4字节,32位整数
通常使用“点到十位数”字符串来表示IP地址,例如,每位数被点分割为0-255(8位数)的字节。
最后,总结报告的程序
从主机A发送到主机B的讯息,首先,通过层状包装,来到物理层,然后传送到路由器上,在路由器进行解包,然后路由转发,最终交付到目的地主机,经过数列的包装后,完成转发,同样层之间没有直接的沟通,必须经过物理层。
这就是本文的全部内容。
本文由 在线网速测试 整理编辑,转载请注明出处。