目前,大多数网络编程文章都在围绕计算机网络系统进行解释,但是太多的理论概念对大多数开发人员都非常有用。因此,在本系列中,实际开发人员的工作将是核心。从Java程序员的角度来看,请详细解释Java网络编程的核心内容。
让我们看一下有关计算机网络术语的Wikipedia的解释:
计算机网络是指位于不同地理位置的多个设备,但具有独立的功能,这些功能是通过通信设备和线路连接的。在网络操作系统,网络管理软件和网络通信协议的协调和管理下,资源共享和信息传输是实现的计算机系统。
简而言之,计算机网络是一个符合不同机器之间通信和共享的系统。
实际上,一开始使用计算机网络用于军事目的。由于美国军方需要多种节点的通信技术来确保在破坏其一些节点后,也可以确保通信。因此,成立了一个部门,并于1966年在1966年完成了该项目,该项目也是最早的计算机网络之一。
当然,随着技术的持续改进,各种与网络相关的技术一直在争夺,并且已经出现了各种网络技术,但与此同时,它也带来了很大的限制。例如,不同的计算机网络不能在彼此之间进行互相交流,并且不同的操作系统无法通信,覆盖范围和有限。因此,需要技术来互连不同的计算机局域网。最后,一个新项目称为互联网,也称为“互联网”。
在1974年的项目研发过程中,两位教授正式提出了一项新的传输协议:该协议用于满足不同计算机网络之间的互联网通信。到这一年,它被选为主要的计算机通信系统作为互联网。通信的“基石”。
在组成方面,计算机网络主要由四个部分组成:主机,协议,传输介质和软件。
计算机网络系统提供的两个核心功能是:
资源子网和通信子网也对应于中间的上层和下层。
但是,如果您研究了计算机网络课程,则应该知道,实际上,计算机网络是一个复杂而庞大的系统。它由软件,驱动程序,硬件,线路和其他部门组成。感兴趣的人可以理解自己。
计算机网络是一个非常复杂的系统。由于每个计算机网络的不同结构,两方的网络不能互操作。因此,在1990年代,国际标准化推出了一个模型来制定计算机网络系统标准。
简而言之,它类似于国内普通话。由于不同省份的方言不同,因此在不同地方进行交流是不方便的。因此,“普通话”的标准定义了“普通话”的标准。每个人都遵循此标准进行交流和交流。
但是,尚未广泛使用由组织制定的七个层次模型结构。实际应用程序中最广泛使用的是架构。换句话说,七层模型只是理论国际标准,而架构是事实的国际标准。
PS:国际标准化组织提出的模型未被广泛使用::
①当配方的配方和不考虑实际应用方案时,这太理想了。
②拆分太完善了,实现太复杂了,并且运行效率不高。
③系统的配方周期太长了,这使得根据其标准生产的设备无法及时在市场上投资以抓住份额。
④由于层过多,该系统是不合理的,并且设计是不合理的。一些相同的功能反复出现在多个级别上。
但是,由于系统中的最后一层没有为标准化制定标准,因此在学习计算机网络改进系统时将缺少它,因此提出了折扣解决方案,即两个系统和优势的优势和缺点,这两个系统的缺点。种植了五层结构的原理系统。因此,在联系计算机网络系统时,通常会有三个分层结构:
计算机网络系统使用分层结构,每个级别不会彼此干扰。上层不需要关心下层的特定实现。下层只需要为上层提供服务。
在组织国际标准模型中,它是一个七层网络模型。
在最广泛使用的模型中,它是四层网络模型。
当然,在计算机网络教学中,还提出了五层网络模型。
但是,无论网络模型有多少层,它们实际上都在描述相同的内容,但是分裂的细度是不同的。三个网络模型对应于以下内容:
在OSI七层网络模型中,每一层的功能如下:
在系统中,将原始系统中的应用层,表示和会话层合并到应用程序层中,并且数据链路层和物理层合并到数据链路层中。因此,系统中只有四层结构。
注意:在技术问题开始时,数据传输必须基于物理实体介质,但是现在无线电电磁波技术也可以用作实现传输数据目的的介质。
在分层系统中,上层三层:应用层,表示层和会话层以形成资源子网。
2.1.1,OSI模型之间的通信的封装和分析过程在网络通信中。双方必须平等,双方均遵守相同的协议,以便他们可以交流。例如,:例如:
朱齐想将微信的信息发送给熊猫,并大喊大叫熊猫玩耍,但双方之间的交流基础必须是平等的。也就是说,必须将微信安装在熊猫的手机上,否则竹子不能通过微信与熊猫玩。
但是,如果朱齐(Zhuzi)说中文,熊猫只能理解中国人,双方不遵循相同的“协议”,而两国自然无法交流。因此,沟通的另一个要素是,双方必须遵守相同的协议。
在计算机网络中,当两台机器通信时,该过程主要包含数据包装和解密:
如上图所示,左侧是发送端,右侧是接收端。当发送端的应用程序试图传输数据时,将根据网络分层的结构从上到下封装数据。最后,物理层转换为位流量(二进制数据)和然后传输到接收端。
由于两方遵循相同的协议系统(网络模型),因此接收端将首先接收BIBI数据,然后从底部到顶部取消阻止数据,最后恢复应用程序层中的数据以实现通信的目的。
它应该是收听计算机网络的最词汇,但它不仅是手指和两个协议,而且是一组协议的同义词,它是指由许多网络协议组成的“协议群集”。如下:
上面群集中常用的一些协议,但整个协议集群由大小的数百个协议组成(对于协议集群中的某些常用协议供参考:BAIDU百科全书)。
在计算机网络系统中,每个楼层都会有多个协议,但是协议只能属于一楼。同时,协议也可以通过二维来实现:软件和硬件。
除了最常见的TCP/IP协议簇外,还有其他协议组,例如其他协议组。
2.2.1。在交流协议的基本概念的叙述中,它更像是“空中塔”的理论概念。这是相对繁重的,难以理解。接下来,我们将通过实际协议进一步向计算机网络解释。
TCP/IP通信协议是最完整,最广泛使用的网络协议系统。它的魅力是制造不同的硬件结构和不同的操作系统相互通信。序列和规则,语法定义了传输的格式,语义,语义定义了消息传输的规则,该序列定义了消息的顺序。传播。计算机通信的本质在于信息消息的交换。
2.2.2。在协议数据单元(PDU)的计算机网络系统中,在不同节点期间交换的信息消息称为协议数据单元(PDU),该消息主要由协议头信息+数据()组成。数据是指发送端的信息需要传输到接收端,协议标头信息包括完成传输所需的控制信息,例如地址,长度,序列号,序列号,分段徽标,错误控制信息等。
基于系统,不同级别上有不同的名称,如下图所示:
目前,计算机网络中最常见的系统已在上一个说明中简要介绍,但是在这些系统中,尚未讨论不同层的特定功能。因此,从我们自己设计计算机网络系统的角度来看,我们会讨论网络层的必要性和每一层的特定含义。
2.3.1,物理层首先查看最简单的通信模型:
如上图所示,两台计算机连接到两台计算机的物理媒体,以相互传递信息以实现通信的目的。
在这个最简单的直接通信模型中,如果您想在双方之间实现交流,则应考虑以下问题:
对于上述问题,我们可以将所有这些问题总结到“物理层”以解决,并在此层中定义标准规范。
简而言之,物理层的主要任务是负责介质上正确的传输比,并规定物理接口和物理设备标准的各种特征,例如网络的接口类型电缆,纤维接口的类型以及各种传输介质传输等的传输等。
2.3.2,数据链路层,但通常没有直接连接网络。常用的计算机网络由多个机器组成,如下:
在连接到此总线的通信模型中,当主机(例如发送数据)将通过总线传输到总线上的所有主机。您怎么知道数据已发送给自己?
对于上面的这些问题,所有这些问题都可以放在链接层中。
因此,可以得出结论,数据链接层的主要任务是实现可靠的数据传输在不可靠的物理线上,并负责提供功能地址,数据形成,流量控制,错误控制,错误控制和其他功能确保数据的可靠传输。
PS:对于此巴士型网络,它长期以来已被消除,当前常用的是以太网交换通信模型:
2.3.3。到目前为止,在解决了物理层和链路层中的问题之后,数据可以在局部网络中传输。但是,实际上每天联系的互联网由无数的小型网络和路由器组成,如下:
因此,只有前面描述的问题才能在庞大的计算机网络中传达。毕竟,由于以前只有一个网络,因此没有必要识别网络。但是,在这个宽阔的地区网络模型中,将会有无数的大型和小的局域网,因此当您想将数据传输到另一个网络模型从一个主机中,如何准确地在网络中找到特定主机?
至于这些问题,我们都可以将其置于网络层处理中。
因此,网络层主要负责将网络地址转换为相应的物理地址,也是通过路由选择算法选择数据传输的最合适的路径。
路由选择:路由主要包括两个方面:路由表和路由算法。网络层将根据速度,距离(步骤跳),价格和网络拥堵等因素在路由表上的多个通信路径中找到最佳路径。
2.3.4。在这一点上,如果解决了物理层,链接层和网络层的问题,则可以在不同的网络中传达数据。但是,对于普通用户而言,这仍然不足,因为多个应用程序将安装在主机上,例如:
主机A配备QQ,Wechat和Google浏览器。当另一个主机将数据发送到主机a时,应该将这些数据移交给主机的哪个过程?
因此,您仍然需要解决:
这些问题可以通过传输层解决。
基于模型,上三层层级资源子网主要负责用户数据处理。较低的三层通信子网主要负责数据通信。传输层位于OSI模型的第四层中。因此,无论是在系统中还是在系统中,传输层都是重要的层。
传输层的主要功能是提供末尾末端和提供错误效应和流量控制的传输机制,以确保消息的正确传输。在系统中,主要提供两种类型的传输服务:
2.3.5,应用程序层应用程序层位于两者或模型中的最高级别。它是用户,各种应用程序和网络之间的接口。它的功能是直接为用户提供服务并在用户中完成用户。网络中的各种操作,应用程序层为用户提供的服务范围:文件目录服务,文件传输服务,远程登录服务,E -Mail Service,印刷服务,网络管理服务,安全服务,域名管理服务等。由应用程序层中的各种协议和应用程序提供。
系统合并到系统中的应用层中,但是在模型中,资源子网分为三个级别:应用程序层,表示层和会话层。变更。
2.3.5.1,Osi表明该层主要负责应用程序层的用户数据处理,例如数据汇编/解码,数据加密解密,数据压缩,数据格式处理等。其作用是处理问题用户信息。
2.3.5.2,OSI会话层会话层位于OSI模型的第五层上。这是用户应用程序和网络之间的联系。它主要负责网络中两个节点之间的沟通的建立,管理和终止。会话层的功能涵盖:建立通信链接,维护会话过程,通信链接的平稳流,对话信息在同步节点之间,通信是否终止以及在何处中断通信之间。
简而言之,应用层主要是在用户和网络之间提供各种“联系”窗口。
2.3.6,TCP/IP系统中数据的通信过程与先前模型的通信过程相同。在系统中,当一端想要将数据传输到另一个时间时,将添加当前层的协议信息以形成此层。数据,该过程如下:
生命年 - 年,即类似交货快递的过程:
到目前为止,已经引入了计算机网络中一些更重要的基本概念。在先前的讨论中,从计算机网络的诞生到法律标准系统和系统,对于开发人员来说,想要学习 - 深度学习的朋友可以观看“ Huda科学技术大学的计算机网络视频教学”,这更容易理解。
计算机网络的整体结构在上一个叙述中进行了描述,然后准备解释计算机网络中的几个通用网络协议,例如协议(在下一章中的说明中)。
当封装应用程序层的数据时,如果要在网络上传输数据,发送数据的位置以及如何准确地在网络上定位目标计算机。目前,关键角色是“协议”本质
该协议的作用是将各种数据包准确地传递给目标方。这两个重要条件中的两个是地址和地址。地址是网络通信中所有主机的唯一徽标,但是由于地址是稀有资源,因此每个主机都不可能拥有一个地址。因此,我们的主机的地址将记录在路由器中。通常的地址是由路由器根据地址生成的。地址是世界上唯一的地址。
示例:IP地址就像物流线上的站地址一样,MAC地址是货架上货物的位置。
上一个地址中使用的格式当前已过渡了大多数主机。
3.1.1。IP地址的组成和分类地址通常由两个部分组成:网络标识()和主机标识()。其中,网络徽标对应于网络地址,该网络地址指示局部网络的哪个网络在Internet中;台湾机器的主机地址指示该机器的哪个主机属于局域网。
在正常情况下,有四组数字,每个组对应于八个二进制数(总数)。每个组分开分开。不同类型的地址,这些地址表示指示网络徽标和主机徽标数的部分数量。不同的是,当前地址可以分为五个类别,如下:
A类IP地址由位网络标识+位主机标识组成,这是前四组,第一组代表网络地址,后三组代表主机地址。网络地址的最高位,即,必须第一个地方,并且保留全部。因此,网络地址的范围是,它意味着有一个可用的网络。(224-2)。
PS:为什么网络的地址范围?
由于课程指示类中的网络标识,因此需要保留第一个位置,因此可以将其余位置表示的最大数字保留在结尾处,因此网络地址类型的值范围是。
示意图如下:
例如,此地址,第一部分代表网络地址,其余三个部分表示网络中的主机地址。
B类IP地址由位网络标识+位主机标识组成。因此,中间部分的第一部分和第二部分由网络标识,其中前两个数字被保留。因此,网络网络数量是一个,并且可以在每个网络中容纳10,000多个主机(216-2)。类构图的示意图如下:
例如,此地址,前两个部分是网络地址,最后两个部分表示网络中的主机地址。
C类IP地址由位网络标识+位主机标识组成。也就是说,在整个地址中,前三个部分是网络地址,最后一段是主机地址。在类地址中,前三个是保留的,也就是说,C类网络的最高位必须是,因此大致计算的网络地址类型的值范围可以达到约10,000,并且允许允许允许允许允许允许允许每个网络。有一个平台主机(28-2),表格的形成如下:
这样,前三段是网络地址,最后一段是网络中的主机地址。
D类IP和后续类属于特殊地址。该课程的地址称为广播或广播地址。最高的位必须是,因此值的范围如下:
E类IP地址是一个保留地址,将来可以连接更多的网络预订。最高的位必须是,同类第一部分的值范围是:
但是,属于特殊含义的地址意味着当前的子网络的广播地址就像完整的:代表机器的地址,具有特殊的含义。
IP分类摘要由于不同类型的网络量表,它们也适用于不同的方案,例如:
3.1.2,子网蒙版子网蒙版也称为网络掩码,地址蒙版和子网掩码。它的作用主要是:
但是默认子网封面值并不相同。不同的网络类型具有不同的默认质量,例如:
子网掩码确定可以在子网(独立单个网络)中容纳的主机数。计算公式为:可以容纳的主机数量=(次级)。
修改子网掩码是局域网扩展。在中型企业中,问题通常会遇到问题。该公司使用可以在子网中容纳的主机(计算机)数量,但是实际公司的计算机可能会超过此数字。如果有计算机,如何在此时更改路由器的设置以允许平台同时浏览互联网?
第一个计划需要增加经济成本,因此您暂时无法考虑。此时修改子网掩码是多少?计算过程如下:
目前,假设路由器的端口配置为,则可以根据第一步计算的网络段数量可以分配两个子细分市场以满足需求。更改子网掩码的方法并没有增加路由器的情况。在以下内容中,它也可以达到增加局域网的可用数字。
最后,可用范围为:,可以计算地址。
嗯?什么是中东?实际上,这个值是子网掩码的简短方法。先前计算的子网掩码被转换为二进制,总共有一个,因此可以简化。
如何在同一网络段中判断两个部分的前提是:两个网络徽标必须一致,因此如何计算网络地址?
网络地址=地址“位和”子网掩码。
例如,有两个C类网络,子网掩码是要计算网络地址?首先,所有掩码和IP都需要转换为二进制,如下:
首先,网络部分的二进制值(前三个部分)与掩码的掩码相同,并且可以计算最终计算:
,转换为十进制。
在执行网络部分的二进制值之后,立即进行计算结果::
,转换为十进制。
最后,结果:网络地址全部,这意味着这两个位于同一网络段中。
子网络掩码摘要子网掩码的内容。如果您不是与特殊网络相关的工程师,则可以适当地理解它。
3.1.3。从上述内容中学到了IP协议的核心过程之后,我们为协议中的组成,分类和计算建立了基础。接下来,关注协议的核心过程。协议的核心主要包括解决和路由控制。
如前所述:Internet上的任何主机都会有自己的地址,因此,当应用程序层数据被封装时,目标主机准确定位的关键原因是它可以通过地址在网络中解决,以便允许ITDATA到达主机。
但是,在实际的网络通信过程中,有时数据发送的链接可能很远。如果您将数据发送给来自中国的日本网民,那么由于某些网络抖动和物理中等损害,数据将丢失,但是如何确保此时数据“稳定”到目的地?
为了防止由于介质或网络抖动的损坏而丢失数据,将添加一些“运输站”,即数据传输链接,即SO称为“路由器”。一方面将再次发送,另一方面,您还可以控制数据的转发。当然,此控制数据重新发布的过程也称为“路由控制”。
由于存在路由控制,即使网络复杂且更改,数据也可以通过路由器的控制来“稳定”到目标主机。
但是,由于数据传输过程,从发送者到接收器的数据之间的链接并不重要,因此可以在数据传输的链接上分发许多路由器。本质上,链接中的数据传输是交换的过程路由器之间的数据报告。当然,此过程也称为“跳跃”。
跳跃:数据包通过路由器。
例如,网络中有四个路由器:如果LAN中的主机将数据发送到LAN中的主机,则理论上,它将通过三个路由器,即三个跳跃。
数据到达某个路由器后,它如何知道“下一个跳跃”应该去哪里?此时,旋转路由器将分析数据报纸,然后从中分析数据报,然后查询自己的路由表要选择应采取的“下一个跳跃”路由。多个重新启动数据的essencethis过程也称为“多跳路由”。
3.1.4,IPv4和IPv6的当前网络几乎基于版本,但与此同时,大多数应用程序已经开始支持。这是“(第六版的互联网协议)”的缩写。这是用于替换的下一个代数协议。这是下一代的Internet协议。
与之相比,主要区别是:
上述协议分析基于版本,因为主流在线版本仍然存在,但是现在它已经逐渐过渡。
传输控制协议是用于连接的可靠传输协议。它是位于传输层中的核心协议之一。在不可靠的Internet网络上,该协议仅提供简单且不可靠的包装交换,但是网络中的一个不同主机通常需要一个可以宽松的,类似于管道和流动机制来稳定某些数据,例如视频,音频,图片和其他数据大文件数据。
因此,该协议成立了,该协议是为了提供由字节设计的传输协议提供可靠的终点。
3.2.1。TCP协议简介首先要查看标题结构:
头部结构中每个字段的解释如下:
当应用程序层将数据传输到传输层时,数据流将首先进行分割,大数据将分为数据段的数据段,然后将包装的数据包传递到网络层。同时,为了防止网络传输中的数据丢失,也将分配一个序列号。当接收器成功接收到已发送的数据时,它将返回确认。如果未接收到接收器,则应将相应的数据包识别为丢失,并且发件人将重新传输数据的数据。
当数据接收完成后,验证和功能将用于检查数据是否正确。发件人和接收器都需要计算值。计算发件人后,该值将在头部携带。此后,该值将再次计算,然后比较消息头中的值以确认数据的正确性。
3.2.2。连接管理机制 - 三个时间握手和四波波。因为它基于管道连接通信协议,因此必须在数据传输之前建立连接。当数据传输时,必须关闭连接。因此,这导致了每个人在采访中都知道的问题:“为什么要三次 - 握手四次!”
如果您想了解此问题的答案,则必须首先了解建立和关闭连接的过程。
TCP的三个时间握手SO -SO -Call thime握手实际上是指建立连接的过程。由于它是一个可靠性传输协议,因此必须在发送数据之前确保发送/接收数据的两个方的状态。该过程如下:
在上述三个步骤之后,在确认客户端和服务方之间的请求之后,将成功建立连接。然后,双方将处于状态,并且可以正常传输数据。
当然,这个过程很难理解,并迅速理解日常生活的例子!
在TCP的四个波之后,“三个握手”完成后,客户端和服务器将成功建立。从那时起,两方之间的数据传输将打开。数据传输完成后,连接将中断。因此,将经历“四波”的过程,如下:
如前所述,由于这是Shuangquan工人的协议,因此双方都可以主动释放联系。在中间,当数据传输完成后,连接将被主动关闭,并且将经历“波浪”的过程。举一个流行的示例,以了解此过程:
三个握手是指建立三个数据包,这些数据包需要发送到连接。主要目的是:确认双方的接收能力和正常发送能力,并指定其初始化序列编号的可靠性传输。
四个波是指关闭连接时需要发送的四个数据包。主要目的是:当客户端发送数据时,发送“我要关闭连接”的请求将发送到服务器,然后服务器通知客户端以接收“关闭请求”,但是在此期间时间,服务器将继续将卸载的数据传输到客户端。客户端还可以照常接收服务器。直到服务器的数据传输完成,服务器还将发布“关闭连接”请求。客户同意,将断开连接以确保数据的正常和可靠交互。
从本质上讲,“三个握手和四波”是指建立和关闭联系的过程。在理解建立和关闭连接的过程之后,最初的问题是:“为什么三次握手并挥舞双手!”
为什么TCP握手三遍,并且由于“握手”的建立,当服务器收到服务器“与服务器建立连接”的请求时,您可以立即返回“ Cluens++海关建立连接“数据包。客户也确认建立连接后,可以称为“完成握手”。
但是,关闭连接时的“波浪”,因为将提出一个方的数据传输以关闭连接,但是另一方仍然可以拥有数据未完成的数据。因此,“关闭连接”请求,因为您的数据尚未传递,因此在传输所有数据后,将主动启动向客户端启动“密切连接”请求并等待客户“确认关闭”的请求因此,要完成整个“波浪”动作。
3.2.3在TCP中的数据包问题之前,我们必须首先了解传输数据的方法,然后再了解“ TCP软件包”的问题。当传输数据时,将分配一个序列号。收到数据后,接收器将根据序列号放电,然后放置在缓冲区中。在同一时间,以提高传输速度,如果连续几次发送的数据非常小,则根据优化算法将多个数据合并为一个软件包。
浸入软件包:多个数据包是一件,并且无法确定每个数据包之间的划分边界。因此,从应用程序层的角度来看,就像多个数据包一起被“染色”。
对于传输层,发件人和接收器都可能导致数据容器。
通过发送发送引起的数据容器:为了优化传输速度,它通常会等待很多数据发送一包数据。因此,数据传输数据发送到数据包。
另一种情况是,当需要发送的数据大于法规时,将拆卸数据包。数据包将分别发送,最终导致数据用包装染色。
由接收方引起的数据容器:in,如果收到数据,该应用程序不会在缓冲区中读取数据消息,这将在缓冲区中引起大量消息数据。在这种情况下,从角度来看在该层中,您看到的内容是按数据消息顺序排列的,但是对于应用程序层的应用,您看到的是一系列连续的字节流数据,应用程序该程序无法知道每个数据包之间的分区边界。从应用程序层的角度来看,所有数据包似乎都被“染色”。接收数据后,将一次读取多包数据。
浸入问题解决方案3.2.4,TCP协议中的其他核心概念,因为它们必须确保可靠性并尽可能提高传输性能。因此,整个设计特别复杂,涉及许多概念。例如,为了确保可数据传输,中间提供的机制:
在确保可靠的数据传输的同时,许多机制还提供了许多机制,以尽可能提高数据传输性能:
同时,在协议中,连接将维护每一个连接的九个计时器,这可以适当理解:
该协议是传输层的不可靠传输协议。它为应用程序提供了发送可以在无连接的情况下发送的数据包的方法。在传输层中,补充协议,除了提供发送数据包的功能,几乎没有其他内容。相反的面向连接是相反,几乎所有事情都完成了。
它刚才提到的是,仅针对应用程序层发送数据报告的功能仅是指协议的扩展:
让我们看一下数据包的头部结构。
3.3.1,UDP的消息标题
与复杂的数据包头结构相比,头部的头部相对简单。
3.3.2。UDP的核心过程是无连接的协议。因此,采用传输协议程序。传输数据时,将没有建立/释放连接的过程。当需要传输数据时,应用程序层的数据将简单地封装,也就是说,在添加自己的头后,数据将直接扔给该层,然后将其传输到链接。
由于上述特征,传输速度仅受数据生成速度,计算机计算能力和传输带宽的限制。
在接收端,每个消息段将放置在队列/缓冲区中,并且该程序将从队列中读取消息段。当然,在接收数据后,数据也将有效。但是,在效力完成后,如果数据错误,它将简单地丢弃数据包,并且不需要将数据发送到数据。
由于具有有效的传输性能,因此在多媒体数据流业务(例如无线电通知,音频呼叫和视频传输)中使用的常用应用程序,并且在这种业务中,如果丢失了一个数据包,则将更换数据,因此即使数据传输不可靠,也无关紧要。
3.3.3,由于不可靠的传输而导致的UDP数据包丢失,数据很常见丢失包装。通常,数据丢失的原因主要如下:
解决方案解决方案3.3.4,TCP和UDP之间的差异面向非连接可靠性信息传输传输字节传输字节传输,传输速度,快速传输速度,仅支持点-Point -to -point -point通信支持一个-ONE -ONE -ONE -ONE,一个-to -One,一个-to -One,一个-to -One -to -One -to -One,一个,一个-TO -MULTIPTILE,多型多 - 多形成 - 与拥塞机制和交通控制的交流不具有拥塞机制和流量控制至少第一个字节UDP. QQ是基于两个协议的通信软件。当然,对于文件传输,表情符号发送,QQ空间等,使用传输。
旧版本的旧版本可以自己选择登录方法,也就是说,用户可以自己选择或登录,如下所示:
但是,在当前新版本的QQ中,它们是通过基于协议的方式登录的,即我们自己本身登录的原理大致相同。首先,通过post -end接口通过呼叫获取令牌信息,然后进行身份验证……最后登录完成后,它已完成。QQ将维护连接以维护在线状态。
QQ的主要通信方法基于孔播放技术和通过服务器运输模式实现的信息传输。这听起来令人难以置信吗?作为“顶级”聊天软件,如何使用这种不可靠的方式传输消息?
有很多原因,有历史原因,它还考虑了服务器负载,网络复杂性,服务器数量/网络带宽成本问题以及难以实现难度的困难。
由于传输不可靠,因此腾讯使用上层协议来确保可靠的传输:如果客户端使用协议发送消息,则服务器会接收软件包,并且需要使用协议来发送响应包。在这个Waytransmissirs中。
但是,有时是“未能发送消息的红色感叹号”的原因,但是另一方由于客户的新闻,服务器已成功接收和重新发布,但客户端没有网络原因,再次收到了新闻。因为没有网络原因的网络原因。
包括糟糕的网络,在发送信息之后,另一方收到的命令与您不一致,这也是由不行引起的。
当您要传输文件时,您将首先将文件传输请求发送到服务器。服务器收到请求后,它将转发到该请求,并将暂时发送给它。如果两个客户端位于同一内部网络上的同一内部网络上,请尝试直接连接以实现文件传输的目的。
但是,如果它不在同一局部网络中,则由于服务器具有公共网络,因此服务器传输操作将由服务器发送,因此两个客户端都可以连接到服务器,因此最终,该文件已成功到达通过这种过境方法。传输的目的。
如前所述,QQ的文本聊天几乎全部通过服务器运输来工作,因为此表格可以确保“记录与云同步”一方面,另一方面,它对于“刑事调查”也很方便。
但是,声音/视频调用和数据传输通过服务器传输。这是服务器上的沉重负担,因此QQ的声音/视频呼叫基本上是通过穿透+同伴通信来实现的。当然,当直接通信失败时,将是可能的。退放,服务器介入处理,并通过运输模式传输传输。
该过程如下:
可以从上述过程中得出结论:QQ客户端之间的“呼叫”,如果您可以直接通信,服务器将其各自的公共网络IP和端口号彼此分发。但是,如果通信失败,则服务器将参与其中,并且服务器已完成。
如果无法渗透,无法交流的原因,不可能渗透的原因也可能是由许多因素引起的,例如地理位置和网络类型限制。
通信翻译也是末端 - 末端通信。在模型中,服务器仅作为客户端地址的运输站而存在,并且不需要承担较高的交通成本。
在上述过程中,我们只能分析QQ通信的原理。它不能保证这是腾讯中的特定实施计划,因为细致的过程只是腾讯的理解。它还包括其特定的实现,这是数千次复杂的,并且在三个单词和两个单词之间尚不清楚。因此,QQ通信原理的分析部分可能是理解的。
在本章中,已经全面解释了计算机网络的基本内容。从初始计算机网络来源到通用网络系统,网络分层结构,网络协议,可靠的传输协议,不可靠的传输协议和腾讯软件原理分析分析分析法分析多个内容,本章旨在为后续的网络编程奠定基础章节,因此在编写其他内容时为其他内容准备很方便。
原始:https://juejin.cn/post/7101917676162777119