853-两台计算机之间是如何通信的?

article/2025/10/7 18:59:44

在这里插入图片描述

1. 五层协议参考模型

所谓通信协议就是通信双方都必须要遵守的通信规则。如果没有网络通信协议,计算机的数据将无法发送到网络上,更无法到达对方计算机,即使能够到达,对方也未必能读懂。有了通信协议,网络通信才能够发生。

一般我们用五层协议参考模型来进行计算机网络的学习:

应用层
运输层
网络层
数据链路层
物理层

上述各层的作用会在下文详细讲解,我们首先要明白为什么要分层:
协议的实现是很复杂的。因为协议要把人读得懂的数据,如网页、电子邮件等加工转化成可以在网络上传输的信号,需要进行的处理工作非常多。

两个系统中实体间的通信是一个十分复杂的过程。为了减少协议设计和调试过程的复杂性,网络协议通常都按结构化的层次方式来进行组织,每一层完成一定功能,每一层又都建立在它的下层之上。不同的网络协议,其层的数量、各层的名字、和功能不尽相同。

也就是说,每一层都是在下一层的基础上,通过层间接口向上一层提供一定的服务,而把 “这种服务是如何实现的” 细节对上层加以屏蔽。

那么,我们将一个大型网络体系分成了若干个层,各个层之间是如何进行通信的呢?

1)对等层之间通信(不同开放系统中的相同层次之间的通信,对等层实体之间的信息交换):OSI 标准为每一层的通信都严格定义了 协议数据单元 PDU的格式。对等层之间的通信是目的,对等层实体的协作保证该层功能和服务的实现
2)相邻层之间通信(相邻的上下层之间的通信,属于局部问题):相邻层之间的通信是手段,保证对等层实体之间的通信得以实 施

假设网络协议分为若干层,那么 A、B 两节点通信,实际是节点 A 的第 n 层与节点 B 的第 n 层进行通信,故协议总是指某一层的协议,例如物理层协议、传输层协议、应用层协议。每一相邻层协议间有一接口,下层通过该接口向上一层提供服务。

在这里插入图片描述

2. 物理层

两台计算机之间要进行通信,必然需要传输介质/物理媒介来连接两台计算机,这样,我们才能把数据传输过去。传输介质分为:

导向型传输介质:
双绞线:适用于近距离
同轴电缆(抗干扰性强):适用于远距离
光纤:带宽远远大于其他传输媒体

非导向型传输介质:
无线电波
微波
红外线、激光

也就是说,物理层的作用就是实现计算机之间的数据传送,这个数据其实是比特流,物理层需要尽可能屏蔽掉具体传输介质和物理设备的差异, 使其上面的数据链路层不必考虑网络的具体传输介质是什么,即实现比特流的透明传输。

3. 数据链路层

物理层只是简单的把计算机连接起来并在上面传输比特流,它还是存在着很多问题的:

1)物理连接是有差错和不可靠的
2)物理设备之间可能存在传输速度不匹配问题

也就是说仅仅靠物理层是无法保证数据传输的正确性的。

这样,数据链路层的主要作用就是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。在物理层提供服务的基础上,数据链路层还肩负着为网络层提供服务的责任,其最基本的服务是将来自网络层的 IP 数据报封装成帧,可靠的传输到相邻结点的目标网络层。

① 封装成帧
首先了解一下为什么需要封装成帧:前面说了,物理层它只是简单的把计算机连接起来并在上面传输比特流(0、1 序列),如果这些 0,1 组合的传送毫无规则的话,计算机是解读不了的。因此,我们需要制定一套规则来进行 0、1 的传送,让计算能够读懂这些序列。

封装成帧就是:发送端的数据链路层接收到上层网络层传过来的 IP 数据报后,在其前后部分添加首部、尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束。

在这里插入图片描述
把一台计算的的数据通过物理层和链路层发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,你总得给他们一个唯一的标识吧?

于是,MAC 地址出现了

② MAC 地址
MAC 地址就是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。
计算机之间的数据传送,就是通过 MAC 地址来唯一寻找、传送的

一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。

那么,一台计算机它是如何知道另一台计算机的 MAC 地址的呢?这是网络层的 ARP 地址解析协议做的事情,详见下文 👇

4. 网络层

在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。

网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组和包进行传送。

在 TCP/IP 体系结构中,由于网络层使用 IP 协议,因此分组也叫 IP 数据报 ,简称数据报。

① IP 协议
IP 协议用于屏蔽下层物理网络的差异,为上层提供统一的 IP 数据报。
在这里插入图片描述
IP 协议定义的地址,我们称之为 IP 地址。IP 数据报中含有发/收方的 IP 地址。

IP 协议提供无连接的、不可靠的、尽力的数据报投递服务
1)无连接的投递服务

发送端可于任何时候自由发送数据,而接收端永远不知道自己会在何时从哪里接收到数据。每个数据报独立处理和传输, 一台主机发出的数据报序列,可能取不同的路径, 甚至其中的一部分数据报会在传输过程中丢失;

2)不可靠的投递服务

IP 协议本身不保证数据报投递的结果。在传输的过程中,数据报可能会丢失、重复、延迟和乱序等, IP协议不对内容作任何检测,也不将这些结果通知收发双方;I 数据报的丢失,通过路由器发 ICMP报文 告知;必要时,由高层实体(如TCP)负责差错恢复动作。

3)尽力投递服务

执行数据报的分段和封装,以适应具体的传输网络, 由最终结点的IP模块进行合段处理
不同物理网络对传输的帧 /分组的体积有不同的规定;当数据报长度 > MTU(最大传输单元 MTU—Maximun Transfer Unit )时,需对数据报分段 。

② ARP 地址解析协议
OK,有了上面 IP 协议的知识,我们来讲解一台计算机它是如何知道另一台计算机的 MAC 地址的,这就是网络层的 ARP 地址解析协议做的事情。

网络层实现主机之间的通信,而链路层实现具体每段链路之间的通信。因此在通信过程中,IP 数据报的源地址和目的地址始终不变,而 MAC 地址随着链路的改变而改变。
ARP(Address Resolution Protocol )协议就可以实现由 IP 地址得到 MAC 地址。
在这里插入图片描述
每个主机都有一个 ARP 高速缓存,里面有本局域网上的各主机和路由器的 IP 地址到 MAC 地址的映射表。

如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组(该分组携带自己的 IP 地址 和 MAC 地址 以及 目标主机的 IP 地址),主机 B 收到该请求后会发送 ARP 响应分组 给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射。

在这里插入图片描述
对应的,RARP 协议可以实现由 MAC地址转化为 IP 地址

那么,我们如何知道对方计算机的 IP 地址呢,这是 DNS 协议做的事情,在应用层我们会详细讲解。

5. 传输层

通过物理层、数据链路层以及网络层的互相作用,我们已经把数据成功从计算机 A 传送到计算机 B 了,可是,计算机 B 里面有各种各样的应用程序,计算机 B 该如何知道这些数据是给哪个应用程序的呢?

所以,我们在从计算机 A 传数据给计算表 B 的时候,还得指定一个端口(Port),以供特定的应用程序来接受处理。即 IP 地址 + 端口号就可以唯一确定某个主机上的某个应用进程

也就是说,网络层的功能是建立主机到主机的通信,而传输层的功能就是建立端口到端口的通信(也可以说是进程到进程之间的通信)

传输层最常见的两大协议是 TCP 协议和 UDP 协议,其中 TCP 协议与 UDP 最大的不同就是 TCP 提供可靠的传输,而 UDP 提供的是不可靠传输。

1)用户数据报协议 UDP(User Datagram Protocol)

UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。虽然UDP 不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比如:QQ 语音、 QQ 视频 、直播等等

2)传输控制协议 TCP(Transmission Control Protocol)

TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。

TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、流量控制、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。TCP 一般用于文件传输、发送和接收邮件、远程登录等场景。

6. 应用层

应用层最接近于用于,它的任务就是通过应用进程间的交互来完成特定网络应用。

应用层协议定义的是应用进程间的通信和交互的规则。由于传输层传来的数据五花八门,有 html 格式的,有 mp4 格式等等,所以对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统 DNS,支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议等等。我们把应用层交互的数据单元称为报文。

由于本文的关键就是讲解计算机之间的通信,所以其他协议我们就不讲了,只讲解一下 DNS 协议是如何将域名转化为 IP 地址的。

DNS 域名解析协议
域名系统 Domain Name System 缩写 DNS,是因特网的一项核心服务,它作为可以将域名和 IP 地址相互映射的一个分布式数据库 (这里的分布式数据库是指,每个站点只保留它自己的那部分数据),能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的 IP 地址。

域名具有层次结构,从上到下依次为:根域名、顶级域名、二级域名。
在这里插入图片描述
DNS 可以使用 UDP 或者 TCP 进行传输,使用的端口号都为 53。

大多数情况下 DNS 使用 UDP 进行传输,这就要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。

域名解析方式:
递归查询
迭代查询

在这里插入图片描述
基本原理:

1)浏览器搜索自己的 DNS 缓存,缓存中维护一张域名与 IP 地址的对应表;

2)若没有,则搜索操作系统的 DNS 缓存;

3)若没有,则操作系统将域名发送至本地域名服务器(递归查询方式),本地域名服务器查询自己的 DNS 缓存,查找成功则返回结果,否则,通过以下方式迭代查找:

本地域名服务器向根域名服务器发起请求,根域名服务器返回 com 域的顶级域名服务器的地址;
本地域名服务器向 com 域的顶级域名服务器发起请求,返回权限域名服务器地址
本地域名服务器向权限域名服务器发起请求,得到 IP 地址
4)本地域名服务器将得到的 IP 地址返回给操作系统,同时自己将 IP 地址缓存起来

5)操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来

至此,浏览器已经得到了域名对应的 IP 地址。


http://chatgpt.dhexx.cn/article/idXMAwJk.shtml

相关文章

设备VMnet0 上的网桥当前未运行。此虚拟机无法与主机或网格中的其他计算机通信

关闭虚拟机后(下面要恢复默认设置前需要关机),打开 编辑菜单》虚拟网络编辑器 打开后恢复默认设置或修改VMnet0为“自动桥接”,直到与步骤2结果一样,点确定关闭设置窗口。 开机前先“虚拟机设置》网格适配器》设置状态…

网络工程属于计算机还是通信,通信工程属于计算机大类吗 哪个大类

通信工程专业属于电子信息类,属于计算机(大类)类。通信工程不算是计算机的相关专业,通信工程(也作电信工程,旧称远距离通信工程、弱电工程)是电子工程的一个重要分支,电子信息类子专业,同时也是其中一个基础学科。 通信工程相近专…

计算机网络通信技术的重要性,分析计算机网络通信技术的特点及应用效果

摘要:随着计算机网络技术的快速发展,在很多领域中都可以实现该技术的合理利用。本文针对计算机网络通信技术的特点进行分析,并且结合实际情况,提出该技术的未来发展前景,为计算机网络通信技术的应用效果提供有效保障。…

2018计算机通信网络,2018年1-12月我国计算机、通信和其他电子设备制造业企业数量共计16656个...

中国报告网提示: 参考观研天下发布《2019年中国电子设备市场分析报告-市场深度分析与未来商机预测》 &nb 2018年1-12月我国计算机、通信和其他电子设备制造业企业数量共计16656个,累计同比增长5.69%;其中,1-12月我国计算机、通…

【计算机通信网络复习】第1章-计算机网络概论

计算机网络概论 1.1 计算机网络的形成与发展(了解) 1.1.1 计算机网络发展阶段的划分 第一阶段:计算机网络的形成与发展 (1)时间:20世纪50年代。 (2)特点:1. 数据通信技…

【计算机网络】网络通信基础

文章目录 网络通信基础网络通信基本概念信息的传递过程数据通信网络基本概念网络设备交换机(Switch)路由器(Router)防火墙(Firewall)无线设备 局域网、城域网、广域网网络拓扑 网络通信基础 计算机网络 计…

计算机网络数据通信论文,浅谈计算机网络与数据通信的发展

浅谈计算机网络与数据通信的发展 随着计算机网络技术与多媒体通信技术的广泛运用,数据通信是行业发展的必然趋势,下面是小编搜集整理的一篇探究计算机网络与数据通信发展的论文范文,欢迎阅读查看。 摘 要:数据通信是通信技术和计算机技术相结合而产生的一种新的通信方式,未…

通信网与计算机网络的区别,计算机网络和计算机通信网络之间的本质区别是什么?...

原标题:计算机网络和计算机通信网络之间的本质区别是什么? 1、用途不同 计算机网络在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递。计算机通信在计算机与计算机之间或计算机与终端设备之间进行…

计算机通信与网络(一)

一、计算机通信与网络基础 1.计算机通信与网络的发展 四个阶段: 其中第二阶段产生了分组交换网,分组交换网是以网络为中心,主机都处在网络的外围。 第三阶段形成了基于TCP/IP的因特网。TCP(Transmission Control Protocol&…

我国计算机通信技术现状及未来的发展趋势,概述计算机通信技术的发展趋势

概述计算机通信技术的发展趋势 随着世界信息化科技的快速发展,我国的计算机网络通信需求随着人们生活的丰富多彩而不断扩增,以下是小编搜集整理的一篇探究计算机网络通信新技术的论文范文,供大家阅读参考。 摘 要:随着我国科技信息的快速发展,计算机网络通信方面也随着其需…

pta 计算机通信(并查集)

有n台计算机,编号为1到n。设定如果计算机a和计算机b可以通信,则计算机b和计算机a亦可以通信;如果计算机a和计算机b可以相互通信,计算机b和计算机c可以相互通信,则计算机a和计算机c亦可以相互通信。现给定某些计算机的可…

计算机网络与无线通信系统学习1:计算机通信网概述

一、计算机通信网 计算机通信网通常也简称为计算机网络。它是计算机的运算和处理功能同通信系统的信息传输功能相结合的产物。这两种功能的结合所产生的效果远远超过了它们各自发展所能达到的目标。今天,不管是哪个国家的、从事哪个职业的人,从小孩到老…

计算机网络杨庚第一章答案,《计算机通信与网络》习题答案

杨庚等 编著 第一章习题解答 1.1 什么是计算机网络? 答: 我们可以把计算机网络定义为:把分布在不同地点且具有独立功能的多个计算机,通过通信设备和线路连接起来,在功能完善的网络软件运行下,以实现网络中资…

计算机通信逻辑信号电信号,计算机通信原理

计算机通信的基本原理是将电信号转换为逻辑信号,其转换方式是将高低电平表示为二进制数中的1和0, 再通过不同的二进制序列来表示所有的信息。也就是将数据以二进制中的0和1的比特流的电的电压做为表示,产生的脉冲通过媒介(通讯设备)来传输数据&#xff0…

计算机通信基础及协议

目录 一、计算机连接方式 1.网线直连 2.同轴电缆(Coaxial) 3.集线器(Hub) 4.网桥(Bridge) 5.交换机(Switch) 6.路由器(Router) 二、MAC地址 1.MAC地址的表示格式 2.MAC地址操作 3.MA…

计算机通信网络知识点总结

计网复习笔记 数字通信优点:抗干扰性强,保密性好,设备易于集成,便于计算机处理 缺点:占用较多的带宽,信道利用率低 数据通信包括:数据传输、数据交换、数据处理 实现任意两台设备之间的通信&…

计算机通信基础知识

文章目录 1.最早的网络通信(电路通信) 广域网,交换机通信,双方和多方之间。交换电路建立电路连接的网络。 特点: 物理通路被双方独占。 建立链接,使用和释放链接,传输效率低,不适合传…

计算机之间通信原理---CSDN观后感

一、前言 计算机之间通信,主要通过网络通信的5层模型。即 应用层(Application Layer) 传输层(Transport Layer) 网络层(Network Layer) 数据链路层(Datalink Layer) …

固态硬盘SSD的SLC与MLC和TLC三者的区别

1、具体含义不同: SLC即Single Level Cell,速度快寿命长,价格较贵,约10万次擦写寿命。 MLC即Multi Level Cell,速度一般寿命一般,价格一般,约3000~10000次擦写寿命。 TLC即Trinary Level Cel…

什么是SSD固态硬盘的QLC、SLC、MLC、TLC

概要 本文从SSD结构出发,详细介绍NAND闪存芯片QLC、SLC、MLC、TLC之间的区别、各自的优缺点以及其适用的人群。 ? 目录 一、剖析SSD 二、什么是NAND闪存 三、单层单元(Single Level Cell,简称SLC) 四、多层单元(…