首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文读懂两台计算机之间是如何通信的

其实计网通篇研究的核心就是不同计算机之间的通信过程,? 本文将从小白的角度,讲解两台计算机之间是如何精确的找到对方的位置并发送和接收消息的,以帮助读者从宏观角度把握计算机网络的体系结构。 ? 1....物理层 两台计算机之间要进行通信,必然需要传输介质/物理媒介来连接两台计算机,这样,我们才能把数据传输过去。...把一台计算的的数据通过物理层和链路层发送给另一台计算机,究竟是谁发给谁的,计算机与计算机之间如何区分,你总得给他们一个唯一的标识吧? 于是,MAC 地址出现了 ?...网络层 在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。 网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。...IP 协议提供无连接的、不可靠的、尽力的数据报投递服务 1)无连接的投递服务 发送端可于任何时候自由发送数据,而接收端永远不知道自己会在何时从哪里接收到数据。

4.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    网络协议(一):基本概念、计算机之间的连接方式

    2接收,计算机1丢掉❌) 之后再请求发包,此时知道IP地址,MAC地址已经在首次ARP成功后记住了 此时的流程就是首次发包ARP广播拿到MAC地址以后的操作了 4、计算机之间的连接方式 - 网桥(Bridge...网桥记录计算机0和计算机1的MAC地址后请求发包 ICMP协议走到网桥,因为已经记录计算机1在左边,所以网桥直接丢包❌即可 5、计算机之间的连接方式 - 交换机(Switch) 交换机相当于网桥的升级版...第一次发送数据包仍然需要ARP广播,耗费大量时间 形成广播风暴,只要有一个设备发送ARP广播,全球设备都能收到 Packet Tracer网络软件模拟 首次请求发包 ARP广播发到交换机,此时计算机...,直接发给它,就不会发给其他设备了 6、计算机之间的连接方式 - 路由器(Router) 主机在发数据之前,首先会判断目标主机的IP地址跟它是否在同一个网段 在同一个网段:ARP广播、通过 交换机/集线器...传递数据 不在同一个网段:通过路由器转发数据 网线直连、同轴电缆、集线器、网桥、交换机 连接的设备必须在同一网段 连接的设备处在同一广播域 路由器 可以在不同网段之间转发数据 隔绝广播域

    13110

    搞定计算机基础系列:两台天各一方的计算机,是如何把数据发送给对方的?

    我学计网时的疑惑 其实在学习网络通信那会我就很奇怪,天各一方的两台计算机是如何通信的呢?也就是说,在成千上万的计算机中,为什么一台计算机能够准确着寻找到另外一台计算机,并且把数据发送给它呢?...也就是说,物理层负责把两台计算机连起来,然后在计算机之间通过高低电频来传送0,1这样的电信号。...二、数据链路层 前面说了,物理层它只是单纯着负责把计算机连接起来,并且在计算机之间传输0,1这样的电信号,因为计算机的大脑比较简单,只认识 0 和 1,并且还是通过高低电压来区分的。...在同一个子网中,计算机 A 要向计算机 B 发送一个数据包,这个数据包会包含接收者的 MAC 地址。...假如两台计算机的 IP 不是处于同一个子网之中,这个时候,我们就会把数据包发送给网关,然后让网关帮我们进行转发。

    60140

    如何在两台linux服务器之间用RSA键对的方法SSHSCP不需密码

    分别从A和B上登录作为root后运行ssh-keygen,目的是简单地在/root下创建目录.ssh,当提示输入passphase时打入两次回车。...RSA公钥来对A上的以user1身份运行的ssh客户程序   进行挑战,前面我们已经把A上的identity.pub拷贝到B上作为authorized_keys了。...在A上以用户root SSH到B上作为普通用户user而不是root,因为为了安全 ,有时不需要作为root,只需要作 为普通用户不需要密码以完成相应工作即可。...登录作为root在A上   A# scp /root/.ssh/identity.pub user@B:/home/user/.ssh/authorized_keys     2. tar一批文件从A到...这种方式的SSH需要B上的sshd_config中允许直接的root login (PermitRootLogin yes).   2. 我有服务器A和其它服务器B,C,D。

    1K10

    几种在多台云服务器之间共享数据的方法

    在我们日常的运维工作中,经常会涉及到需要在多台云服务器之间共享数据的情况。如果都在同一个局域网,那么使用 SMB/CIFS、NFS 等文件级共享协议就可以。...由于这些共享协议的安全性无法满足互联网通信的要求,因此只能在云平台的自身的网络生态内才能使用。 如果你的多台服务器都在同一个云平台上,那么就可以考虑使用云 NAS 在服务器之间共享数据。...虚拟专用网 当需要在多台服务器之间共享敏感数据时,公有云提供的存储服务通常不是最优选择。在这种情况下,我一般会考虑搭建虚拟专用网,将分布在不同平台、不同地理位置的服务器接入到同一个虚拟的网络当中。...1627554809&q-header-list=&q-url-param-list=&q-signature=42c86ed650877a62aa5504a57158748ed501fa72] 这样一来,所有服务器在逻辑上都连接在同一个虚拟的网络中...总结 本文主要为大家分享几种笔者在实际工作中会采用的几种服务器之间共享数据的方案,从主观角度上说,对象存储和 JuiceFS 因为更简单方便,我在工作中使用的会更多一些。

    7.5K21

    文本在计算机中的表示方法总结

    ,无法衡量不同词之间的关系; 该编码只能反映某个词是否在句中出现,无法衡量不同词的重要程度; 使用One-Hot 对文本进行编码后得到的是高维稀疏矩阵,会浪费计算和存储资源; 2.2 词袋模型(...; 该编码忽略词出现的次序; 在向量中,该单词的索引位置的值为单词在文本中出现的次数;如果索引位置的单词没有在文本中出现,则该值为 0 ; 缺点 该编码忽略词的位置信息,位置信息在文本中是一个很重要信息...优点 实现简单,算法容易理解且解释性较强; 从IDF 的计算方法可以看出常用词(如:“我”、“是”、“的”等)在语料库中的很多文章都会出现,故IDF的值会很小;而关键词(如:“自然语言处理”、“NLP...模型是Google团队在2013年发布的 word representation 方法。...这个过程就是word embedding,跟离散式表示方法相比,word2vec得到的向量不是稀疏向量,此外维度一般在100到300维,不像one-hot、bow、tf-idf算法得到的词向量维度(词汇表的大小

    3.1K20

    在Chrome浏览器中最快速实现拾色器(颜色吸管)的方法

    说到网页拾色器(颜色吸管工具)在前端的实现方法,通常我们会想到先进行网页截图,然后通过Canvas绘制截图,此时利用Canvas所提供的的API即可解析出图片每个像素点颜色,最后通过获取鼠标定位,得到当前的坐标来进行颜色选择...在这种方式下通常问题出在第一个步骤,就是进行网页截图的方法,在前端网页截图常见的工具有:html2canvas、dom-to-image 等,然而这些库的实现原理都是通过解析DOM然后转换语法(Canvas...原生方案 如果说 JS 的实现方法是令人沮丧的,那么把问题交给浏览器原生方法可能是未来最好的解决方案之一,事实上原生 HTML 早已提供了一种实现颜色选择的元素,它就是我们所熟悉的 input 标签。...,自定义一个透明度滑块来支持改变色值 Alpha 通道,实现更复杂的应用场景: 图片 适用场景 目前该方法在兼容性方面只有 Chrome、Edge、Opera 这三个浏览器在全力支持,所以适用范围并不广泛...图片 另外提一嘴,我觉得在 Electron 中应当是非常契合的,虽然 Electron 有打包体积过大的缺点,但这个缺点也意味着它拥有绝对控制浏览器版本的权利,所以能放心地使用新特性,通过它就可以在桌面程序中用三两行代码便利地实现一个流畅的屏幕取色器了

    2K20

    TCPIP(一)

    由于互联网链路复杂,两台计算机之间经常有多条线路,因此,路由器就负责决定如何把一个IP包转发出去。IP包的特点是按块发送,途径多个路由,但不保证能到达,也不保证顺序到达。...TCP协议 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。...在两台计算机通信时,只发IP地址是不够的,因为同一台计算机上跑着多个网络程序。一个IP包来了之后,到底是交给浏览器还是QQ,就需要端口号来区分。...每个网络程序都向操作系统申请唯一的端口号,这样,两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。 TCP编程 Socket是网络编程的一个抽象概念。...当我们接收完数据后,调用close()方法关闭Socket,这样,一次完整的网络通信就结束了: 关闭连接: s.close() 接收到的数据包括HTTP头和网页本身,我们只需要把HTTP

    55820

    HTTP-WEB网络基础

    TCP / IP 协议族内预存了各类通用的应用服务。 例如: FTP(文件传输协议) DNS(域名系统)HTTP 传输层 作用: 两台计算机之间的数据传输,服务于应用层。...在传输层有两个性质不同的协议: TCP(传输控制协议) UDP(用户数据协议) 网路层 作用: 用来处理在网络上流动的数据包,以何种方式传递给对方。 数据包是网络传输的最小数据单位。...网络层 决定了 通过什么样的方式把数据包传递给对方。 网络层 最重要的功能是: 路由数据包。它会根据网络上路由IP, 网络拥塞情况,选择一条最合适的路由路线,以最快的速度将数据包传递给对方。...计算机于计算机之间通信时,它不会直接查找到对方IP的,中间过程会经历 设备中转,在进行中转的同时,它 会 采用 ARP 协议 来 推出 IP 地址的 MAC 地址,经过多次中转最终找到对方的 MAC 地址...为了可靠的安全的可以传递给对方数据, TCP 采用 三次握手策略, SYN 同步序列编号 ACK 确认字符 第一次握手 : 发送端会发送一个带有 SYN 标志的数据包给对方。

    28400

    前端Coder应了解的HTTP or TCPIP 基础

    TCP / IP 协议族内预存了各类通用的应用服务。 例如:FTP(文件传输协议) DNS(域名系统)HTTP ❞ 传输层 ❝作用: 两台计算机之间的数据传输,服务于应用层。...在传输层有两个性质不同的协议:TCP(传输控制协议) UDP(用户数据协议) ❞ 网路层 ❝作用: 用来处理在网络上流动的数据包,以何种方式传递给对方。 数据包是网络传输的最小数据单位。...网络层 决定了 通过什么样的方式把数据包传递给对方。 网络层 最重要的功能是:路由数据包。它会根据网络上路由IP, 网络拥塞情况,选择一条最合适的路由路线,以最快的速度将数据包传递给对方。...计算机与计算机之间通信时,它不会直接查找到对方IP的,中间过程会经历 设备中转,在进行中转的同时,它 会 采用 ARP 协议 来 推出 IP 地址的 MAC 地址,经过多次中转最终找到对方的 MAC 地址...为了可靠的安全的可以传递给对方数据, TCP 采用 三次握手策略, SYN 同步序列编号 ACK 确认字符 第一次握手 : 发送端会发送一个带有 SYN 标志的数据包给对方。

    33520

    ARP 攻击及防范

    ARP攻击原理ARP攻击利用了ARP协议的缺陷,通过发送伪造的ARP报文,使得受害者的计算机将攻击者的MAC地址误认为是网关或者目标主机的MAC地址,从而使得所有原本应该发送给目标主机的数据都被转发到攻击者的计算机上...攻击者可以截获两台主机之间的数据包,里面可能包含了敏感信息,如用户名、密码、银行账号等。2....中间人攻击:攻击者通过ARP欺骗技术,截获两台主机之间的通信数据,根据自己情况过滤或者修改。拒绝服务攻击(DoS):攻击者通过发送大量的ARP请求或应答,消耗网络资源,导致网络拥堵或服务瘫痪。...ARP攻击的防范措施设置静态的ARP缓存:在计算机上使用arp -s命令添加静态ARP缓存记录,避免动态学习导致的ARP欺骗。...删除Windows系统中的npptools.dll动态连接库:因为它容易受到ARP欺骗病毒的攻击。对数据包进行加密处理:通过加密协议保护传输的数据,防止ARP欺骗攻击者窃取或篡改数据。

    2.3K00

    ARP欺骗原理_ARP欺骗实验

    IP地址与MAC地址的对应关系,使IP数据包能够发送到一个确定的主机上。...arp协议不管是否发送了arp请求,都会根据收到的任何arp应答数据包对本地的arp高速缓存进行更新,将应答数据包中的IP地址和MAC地址存储在arp高速缓存中。这正是实现arp欺骗的关键。...,一个 恶意用户将在两台相互通信的目的主机之间。...这样他就可以完成网络数据包(以太网数据包) 嗅探与分析,中间人计算机将在两台相互通信的目的主机之间转发帧数据包,而两台目的主 机对此毫无察觉 这种攻击方式不仅对计算机有效,还可以扩展到路由器与网关设备...会话劫持 连接劫持(会话劫持)是一种类似中间人攻击的方法,当两台计算机相互连接时,中间人通过 ARP欺骗,完成连接劫持。

    2.4K20

    java 网络编程

    ,如果两台计算机计算出的网络号相同,说明两台计算机在同一个网络,可以直接通信。...如果两台计算机计算出的网络号不同,那么两台计算机不在同一个网络,不能直接通信,它们之间必须通过路由器或者交换机这样的网络设备间接通信,我们把这种设备称为网关。...网关的作用就是连接多个网络,负责把来自一个网络的数据包发到另一个网络,这个过程叫路由。 TCP编程 在开发网络应用程序的时候,我们又会遇到Socket这个概念。...其中一个进程必须充当服务器端,它会主动监听某个指定的端口,另一个进程必须充当客户端,它必须主动连接服务器的IP地址和指定端口,如果连接成功,服务器端和客户端就成功地建立了一个TCP连接,双方后续就可以随时发送和接收数据...因此,当Socket连接成功地在服务器端和客户端之间建立后: **对服务器端来说,它的Socket是指定的IP地址和指定的端口号;** **对客户端来说,它的Socket是它所在计算机的IP地址和一个由操作系统分配的随机端口号

    53920

    一篇文章,只用看三遍,终生不忘网络分层

    有了MAC地址,那么两台机器之间是找到对方进行通信的呢? 广播 有了MAC地址,在同一网络内的两台主机就可以通信了。...在同一个子网中,计算机1要向计算机4发送一个数据包,数据包中包含接收方的MAC地址。计算机1向本网络内所有计算机都发送(以广播的方式),这时同一子网中的每台计算机 (包括2、3)都会收到这个数据包的。...网络层 以太网通过广播这种很原始的形式,解决了两台计算机之间的通信问题。但很明显,它不是把数据包准确的送达接收方,而是向网络中所有的计算机发送数据包。 而我们所处的网络是由无数个子网络构成的。...而实现的网络又是由无数个子网络构成的,以太网采用广播方式发送数据包,效率低且发送的数据只能局限在发送者所在的子网络。...传输层 经过数据链路层和网络层的支持,我们已经可以正常在两台计算机之间进行通讯了,但是计算机会同时运行着许多程序,比如同时开着QQ与WX,那么怎么区分消息是QQ的还是WX的呢?

    24620

    HTTP之网络基础

    而OSI是ISO提出的关于计算机网络的一个开放式系统互连参考模型(Open System Interconnection/Reference Model)  要想让两台计算机进行通信,必须使它们采用相同的信息交换规则...我们把在计算机网络中用于规定信息的格式,以及如何发送和接收信息的一套规则称为网络协议(Network Protocol)或通信协议(Communication Protocol)  为了减少网络协议设计的复杂性...7层,并规定每层的功能7大层图片第1层 物理层主条目:物理层物理层(Physical Layer)在局部局域网上传送数据帧(data frame),它负责管理计算机通信设备和网络媒体之间的互通。...当表头和表尾被加至数据包时,会形成帧。数据链表头(DLH)是包含了物理地址和错误侦测及改错的方法。数据链表尾(DLT)是一串指示数据包末端的字符串。...第5层 会话层主条目:会话层会话层(Session Layer)负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接。

    24420

    TCP和UDP协议

    ,这是第一次对话;主机B向主机 A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”...TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。 2....面向非连接的UDP协议 “面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。...比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送ICMP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来...例如,在默认状态下,一次“ping”操作发送4个数据包(如图所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。

    52420

    面视必备,史上最通俗计算机网络分层详解

    (后边出来了无线网,虽然其中网关、路由之间也需要连线,但不是让每台计算机两两连接,而是一个区域为单位计算机相互连接通信) 不行,老板说,“小鹿”你给我想法子改,改不出来今晚不能睡觉,“小鹿”仔细想了想,...6.1 物理层 物理层,顾名思义,用物理手段将电脑连接起来,就像我们上边讲到的计算机之间的物理连线。...网络层的由来是因为在数据链路层中我们说说两台计算机之间的通信是分为同一子网络和不同子网络之间,那么问题就来了,怎么判断两台计算机是否在同一子网络(局域网)中?这就是网络层要解决的问题。...有 1 的部分表示网络部分,有 0 表示主机部分,这和判断两台计算机是否在同一局域网中有什么关系?没错,是有关系的!...我们平常使用无线网都知道每个无线局域网都会有一个路由器,我们先通过以上的方法将数据发送到路由器,然后路由器转发数据到其他局域网中的计算机。

    99620

    网络编程——UDP编程

    一、网络编程基础 计算机网络是指两台或更多的计算机组成的网络,在同一个网络中,任意两台计算机都可以直接通信,因为所有计算机都需要遵循同一种网络协议。...因为UDP协议在通信前不需要建立连接,因此它的传输效率比TCP高,而且UDP协议比TCP协议要简单得多。选择UDP协议时,传输的数据通常是能容忍丢失的,例如,一些语音视频通信的应用会选择UDP协议。...因此,当Socket连接成功地在服务器端和客户端之间建立后:对服务器端来说,它的Socket是指定的IP地址和指定的端口号;对客户端来说,它的Socket是它所在计算机的IP地址和一个由操作系统分配的随机端口号...易混淆知识点: 1.注意到客户端的DatagramSocket还调用了一个connect()方法“连接”到指定的服务器端。不是说UDP是无连接的协议吗?为啥这里需要connect()?...这个connect()方法不是真连接,它是为了在客户端的DatagramSocket实例中保存服务器端的IP和端口号,确保这个DatagramSocket实例只能往指定的地址和端口发送UDP包,不能往其他地址和端口发送

    1.1K30

    【Linux】————网络基础相关内容

    一、网络的发展 网络的发展有下面几个阶段: 1、独立模式: 2、网络互联: 多台计算机连接在一起, 完成数据共享; 这时候当某个业务需要共同协同完成共享数据的时候,可以将其中的数据放到服务器中集中管理...它的作用是将不同的局域网连接起来,其主要完成数据的路由转发功能 路由转发:路由转发就是在局域网之间路由器根据路由信息,将数据包从一个局域网转发到另一个局域网 4、广域网 广域网的作用就是将远隔千里的计算机都连接起来...例如在 IP 协议中, 通过 IP 地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层. 传输层: 负责两台主机之间的数据传输....三、网络传输基本流程 局域网通信协议: 局域网内的主机是通过路由器和交换机连接在一起的,局域网内的两台主机通信本质就是两个协议栈之间在进行通信,下面是两台主机通过TCP/IP协议进行文件传输的过程:...局域网通信的本质就是基于碰撞域、碰撞检测和碰见避免实现通信,局域网内主机越多,碰撞几率越多,交换机在局域网中的作用就是划分碰撞域,解决碰撞问题,降低碰撞几率 3、跨网络通信: 跨网络通信就是分别处于不同局域网的两台主机之间进行通信

    11010
    领券