Java - 网络原理之TCP_IP

      最后更新:2022-04-17 16:45

      在这里插入图片描述
      在这里插入图片描述

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      目标

      • 理解网络传输流程
      • 了解传输层的重要性,透彻掌握TCP的特点和机制
      • 系统理解完整的TCP/IP协议
      • 相当熟悉与TCP/IP协议系统有关的其他重要协议和技术

      注意 注意 注意 注意 注意 注意 注意 注意 注意 注意 注意 注意 注意 注意

      • 该课程为网络开发提供了理论基础。
      • 服务器开发编码器的基本职责 。
      • 这是整个网络课程的主要重点和挑战。
      • 这也是大公司书面访谈的首要标准。

      网络基础

      认识IP地址

      概念
      IP地址(互联网协议地址)是互联网协议地址的缩写,同时也被翻译成互联网协议地址。
      作用
      IP地址是IP协议给出的统一地址格式,为互联网上每个网络和每个主机分配一个逻辑地址,有效地掩盖物理地址不一致之处。
      格式
      IP地址是一个32位数的二进制数字,通常分为四个“8位数的二进制数字”(即 0100100100100100.00.00100.0010010010010010)是四字字符串的一个例子: 01100100100100.0010010010010。
      它通常以“点对点”的形式表示,即a.b.c.表d(a、b、c、d是0至255之间的小数数字)。

      知识产权协议有两种口味:IPv4和IPv6。 在我们整个课程中,凡提到知识产权协议而不包括一项特别声明时,都提到IPv4。

      IPv4 地址数为 232;大约43亿左右,TCP/IP议定书协议规定:每个主机都需要IP地址 。对于地球上所有电脑来说这个数量是不够的,因此,最终确定了IPv6协议(128比特长度)。这是IPv4的四倍。然而,IPv4的诱因现在被广泛使用,无法使用。还可以利用其他技术来克服知识产权地址不足的问题。因此,IPv6也不普遍。
      组成
      IP地址分为两个部分:网络和主机。

      • (a) 网号:保证这两个链接的标记部分有不同的标记。
      • (a) 主机号码:在网络同一部分内,识别主机的网络号码与主机的网络号码相同,但必须另设一个主机号码;

      网络和主机编号的正确配置保证每个主机主机在网络中拥有与其他主机主机连接的唯一IP地址。
      网络和主机号码是如何分割的?

      分类
      过去曾提出一项战略,将网络和主机号码分成所有IP地址的五类,如下图所示(取自[TCPIP])。

      在这里插入图片描述

      地址范围如下:
      在这里插入图片描述唯一的 IP 地址减去整个 0 和完整的 1 主机数字,等于主机最大连接数减去 2。
      特殊的IP地址

      • IP 地址的主机地址被转换成代表局域网的网络号码。
      • 将IP地址中的所有主机地址设为 1, 并将其用作广播地址, 向所有主机发送同一连接的数据包 。
      • 127. * IP地址通常用于背对背(循环)测试。
      • 家对家网络通信(不是为系统绩效考虑在整个网络中传播)主要用于家对家网络(即网络编程),并经常通过家对家网络创建。

      在以下类别中存在着知识产权地址的浪费:

      (1) 虽然单位通常适用于B类网络(C类连接数量有限),但当实际安装网络时,连接的主机数量有时大大少于65534个(B类连接数量),从而造成IP地址废物;同样,A类网络中的IP地址也可能造成大量废物。
      (2) 当一个单位申请一个网络号码时。 他希望将该网络可能代表的IP地址分配给其管辖之下的几个较小的单位,如果申请新的网络,将浪费这些地址。

      为克服这些问题,设立了一个子网面罩,分割子网:

      子网掩码

      格式
      子网遮罩格式与 IP 地址相同, 是一个32 位二进制数字。 左边是网络位置, 以二进制数字“ 1” 表示, 与网络位置长度相等; 右边是主机位置, 以二进制数字“ 0 ” 表示, 与主机位置长度相等 。

      子网遮罩也可以在二进制中作为所有高度为1的增值表示,如果子网遮罩大于24,则作为增加值表示。
      作用
      (1) IP地址A、B和C类子网的分割:
      对于B类的IP地址:二元网络号码是A-E类的16位数网络+16位数主机。
      假设子网遮罩(即当子网被分割时,以上17个是所有网络/网络编号,将原16个主机号除以1个子网+15个主机号)。

      在现阶段,IP地址由网络号+子网号+主机号组成,网络号和子网号合并成网络身份(分线子网号/节)。

      在这里插入图片描述
      (2) 在通过网络进行通信时,子网面罩结合了IP地址,以计算网络号码(子网后面的网络号)和主机号码(子网后面的主机号码),IP通常用来确定IP和该IP是否是用于此目的的同一网络段。
      在通过网络提供数据时,当目的地主机与发件人主机在同一部分时,方法就不同了。

      计算方式
      IP地址和子网遮罩“按位元”操作(与二进制位置相同,结果均为1或0),产生网络号。
      将子网遮罩位元反转,然后使用主机编号来确定 IP 地址。
      示例:
      在这里插入图片描述

      认识MAC地址

      • MAC地址,即媒体使用控制地址(MAC地址)用来确定网络装置的有形和硬件地址。
      • 主机载有一个或一个以上的网页卡,通过路线连接到两两张或两张出入卡,每个卡上都有自己的MAC地址。
      • 跨网络的通信,即网络数据传输是网络硬件装置,通过网络卡传送或接收数据。
      • 只有MAC地址识别网络装置的网络实际地址才能用来确定硬件水平。
      • MAC地址用于确定数据链层中连接的节点。
      • 48 位元和 6 位元, 长度。 通常以十六进制数字表示, 然后是冒号( 例如: 00: 00: 00: 00: 27: 03: fb: 19)
      • 虚拟机器中的MAC地址不是一个真正的MAC地址,可能发生冲突;还有允许MAC地址用户设置的网页卡。

      特殊的MAC地址
      《广播数据公报》:发送一份广播数据报告,显示数据报告正在向同一部分的所有主机提供。
      FF:FF:FF:FF:FF:FF
      在这里插入图片描述
      就上述网络设备而言:
      主机:一台带有IP地址的设备,但没有线路控制。
      路由器,即具有IP地址和管制路线的能力;
      节点: 主机和路由器的共同名称 。

      电缆和二级开关不封装或分发数据,因此不被视为下一个跳跃器。

      就网络数据传输而言,数据并非像预期的那样直接从源主机直接到达目的地,而是通过类似于地图中描述的程序,从A到B:

      IP 地址和MAC 地址摘要

      • IP地址代表旅程的开始和结束是完整的;这是人们使用的网络逻辑地址。
      • MAC 地址指定路线上每个区的起点和终点,即网络硬件设备使用的网络物理地址;这是每个跳的起点和终点。

      网络设备及相关技术

      焦点:所有港口均被转发。

      在这里插入图片描述
      枢纽是实际操作的网络装置,向枢纽提供的任何数据都只是复制,并发送到所有其他港口。 (指在枢纽后面的实际港口。 )

      在这里插入图片描述
      MAC 地址转换表+总机前方柜台

      在这里插入图片描述

      该开关在数据链一级运作,记录并维持一个MAC地址转换表:

      1. MAC地址和港口之间的测绘记录在MAC地址转换表中。 (Port指开关背后的实际港口。 )
      2. 当主机连接到开关和传输数据时,该开关可以学习和记录主机的MAC地址和港口信息。
      3. 当数据报告收到开关时,相关端口通过目的地的MAC搜索在MAC地址转换表中发现,而目的地主机是接口主机。剩下的就是将数据传送给相应的端口更正报告接收开关,相关端口通过目的地的MAC搜索在MAC地址转换表中发现,目的地主机是接口主机。剩下的就是将数据传送到相应的端口。

      在这里插入图片描述
      四. 这是通过使用停战委员会地址转换表实现的。如果您无法找到相关港口, 请通过目的地 MAC 寻找; 如果您找不到, 请通过目的地 MAC 寻找 。MAC是广播地址FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF前往其他港口当目的地的宿主回来作出反应的时候,该开关再次在港口登记主机MAC的地图信息。

      主机: 从上到下, 网络层 。
      在传输数据报告时,发送者的主机必须是网络层的预包装,从上到下:

      在这里插入图片描述
      它被称为“中继到中继网络数据传输”或更高:

      • 旅程开始和结束的标志是源IP和目的IP。
      • 每次飞跃的起点和终点由停战委员会的来源和停战委员会的目的标明。

      在现阶段,以下跳跃器必须根据发件人的主机(源主机)是否与接收人的主机(目标主机)在同一网络上配置:

      • 当源和目的地主机位于同一个网络段时,下列跳跃器是目的地主机。
      • 当发件人和接收主机位于不同的网络段时,谁也不知道目的地主机在哪里, 下一个跳跃器将被配置为网关设备 。

      在这里插入图片描述
      在这两种情况下,下一个跳跃装置的IP地址都可以进入,但MAC地址(即该装置的目的地MAC地址可能未知,在这种情况下,将需要下列ARP地址:

      主机&路由器:ARP缓存表+ARP寻址
      首先,ARP是数据链层与网络层之间的一项合同;ARP在IP地址与MAC地址之间建立了绘图连接。
      下列跳跃式MAC地址被称为数据链上的ARP位置:
      (1) 主机和路由器上都保留了ARP缓存表,相关的MAC地址位于IP地址。
      (2) 根据下列跳跃者IP地址,可在ARP缓存中发现相关的MAC地址,可以配置目的地MAC,并提交数据报告。
      (3) 如果没有确定跳跃者MAC地址,应传送ARP广播数据:目标MAC地址是广播地址,请求提供下一个跳跃者MAC地址。
      这和QQ组的电话一样:张三(下一个跳跃设备IP地址),我给你发了一个信使(传送数据报告),请给我你的收件地址(MAC地址)。
      参见以下流程:
      在这里插入图片描述
      +NAPT公路是一个路由器。

      在这里插入图片描述
      路由器提供两个主要功能:
      (1)网关
      路由器作为公共和局域网之间的网关,某些路由器可将局域网分成各种次网络(不同部分)。

      在这里插入图片描述

      路由器作为网关:

      1. 当分割几个局域网子网络时,任何局域网主机都可直接使用ARP搜索站点。
        局域网(局域网)由几个子网络组成。
      2. 在分割公共网络和局域网时,当局域网的东道主将数据传送给公共网络的东道主时,局域网所有人有义务使用NAPT协议。
        机器的IP地址和端口号转换为路由器的IP地址和端口号(在路由器操作的应用端口)。

      (2)路由
      (b) 所谓的路线,即在复杂的网络结构中确定通往终点的道路。
      网络通信(网络数据传输)、路由器的路线功能以及通往目的地的路线都与计划路线相似。
      以下是北京部分地图,其中显示从西到宫殿博物馆的一号路距离第二号路较近;路径是规划一条类似的路线:

      主机B将数据传送给主机C的网络设备如下:

      在这里插入图片描述冲突域

      当主机连接到网络设备的实际港口(集群、总机)时,两个主机同时提交数据报告,如果有争议,网络延伸到冲突地区(Collision Domain)。
      冲突地区,又称碰撞区,以第一层物理学为基础。

      • 在枢纽收到数据后,数据报告简单地复制并传送到所有其他港口;如果同时传送两个数据报告,中心收到一个冲突交付数据,数据报告简单地复制并传送到所有其他港口;如果同时传送两个数据报告,则有冲突;所有枢纽港口都是战区。

      在这里插入图片描述

      • 收到开关后,数据将发送到匹配的端口:两个数据报告与同时传送到一个端口之间没有冲突,也就是说,开关可以分割冲突地区,分开时,一个端口是冲突地区。
        在这里插入图片描述

      广播域

      广播意味着,一个网络的主机同时向网络的所有其他主机提供数据(IP,MAC地址被配置为广播地址),广播域(Broadcast Doffain)是这些数据可以传播的程度。
      第二层数据连接是广播领域的基础。

      • 该枢纽站接收广播数据报告,并简单地复制和转发给所有其他港口,因此所有枢纽站都构成一个广播区。
        在这里插入图片描述
      • 广播数据报告由开关接收并转发到所有其他港口;路由器可以隔离广播区。
        广播数据由路由器局域网网络卡接收,如果确定该数据在同一地区,则拒绝提供,即广播数据不是在路由器之外发送的。

      在这里插入图片描述

      网络数据传输流程

      局域网传输传输方法:中枢
      当数据包通过枢纽网络互联从发件人的主机传送时,必须从上到下包装数据。
      (1) 发件人在该计算机上搜索 ARP 缓存,以根据目的地 IP 地址获取匹配的 MAC 地址。
      (2) 如果目的地MAC位于某地点,您可以将其设置起来,并将数据包放在一个泛网框内,在数据链层中交付数据包。
      (3) 如果接收者下落不明,必须首先发出美国退休人员协会的广播请求,以便接收者,即目的地东道主确定自己的目的。
      (4) 发送发送发送更新现有的ARP缓存表:用于维护目的地 IP 和目的主机名的MAC地图
      (5) 数据可按步骤(2)使用MAC目的传输。
      可能发现当前ARP缓存的MAC程序如下:
      嵌入、中枢中继和ARP安插都是必须理解的概念。
      在这里插入图片描述
      如果在目前ARP缓存中无法检测目标MAC, 必须首先提出以下广播请求:
      ARP地点、ARP广播是涉及知识的例子。

      在这里插入图片描述

      局域网传输过程:开关

      需要了解MAC地址转换表知识。
      在这里插入图片描述

      局域网传输过程:开关+路由器

      需要子网遮罩和网关知识。

      在这里插入图片描述

      广域网数据传输流程

      DNS、NAPT和路线知识都是必不可少的。

      在这里插入图片描述
      作业
      您对URL被输入浏览器时会发生什么的描述越具体, 越好 。
      这是一个没有固定答案的标准面试问题。
      随后的网络课程之后,将在网络服务器的工作流程中介绍上述广域网数据传输流程说明。

      应用层重点协议

      在TCP/IP 4级范式中, 我们从优先网络协议中学习。

      DNS

      DNS,即域名系统,是一个将域名映射到IP地址的系统。
      IP地址在TCP/IP中用于在网络上识别主机,尽管很难记住并且无法传递地址组织信息。
      正是那些发明域名和使用域名系统绘制域名和IP地址的人。

      我不知道你在说什么 宝贝 我不知道你在说什么 但我不确定你在说什么
      域名系统是一个树形结构,有许多根节点。

      1. 根域名服务器是第一个 IPv4 在全球只有 13 个 根域名服务器, IPv6 已经在这个基础上增长 。
        数量。
      2. 子点大多是各级的 DNS 服务器或 DNS 缓存 。
        1. DNS 域名服务器, 将域名转换为 IP 地址的服务器 。
        2. DNS缓存由浏览器、主机系统和路由器保存。
        3. Windows 系统的 DNS 缓存位于 C: WindowsSystem 32dreventchost 文件中 。
          Mac/Linux系统 DNS 中存在缓冲/电子/主机文件。

      如果在从网络对话中传输数据时使用了目的地主机的域名, 则必须使用域名解析来检索匹配的 IP 地址 :

      • 剖析域名的程序简单如通过域名将目的地主机作为域名系统树结构的子命名发送到目标主机一样简单。
        从底部到顶部定位 IP 地址的过程。 如果根节点( root 域名服务器) 无法识别, 则无法找到主机 。
      • DNS协议用于按域名发送数据。DNS是一种基于传输级UDP协议或TCP协议的申请级协议。

      在这里插入图片描述

      NAT

      技术背景
      我们研究了IPv4协议的IP地址数量不足的问题。

      路由器的一个基本特征是NET技术目前用于解决IP地址不足问题的主要机制。

      • 在与外部世界互动时,NAT可以将私人知识产权转换为全球知识产权。
      • 许多学校、雇主和企业在每一端都使用个人拥有的IP地址,而全球IP地址则在路由器和基本服务器上设置。
      • 全球知识产权是必要的,但私人知识产权不是;在多个局域网中存在同样的私人知识产权没有效果。

      NET IPIP转换程序

      • 全球 IP 的源地址由 NET 路由器取代 。
      • 当 NET 路由器接收外部数据时,目标IP 将被替换 。
      • 在NAT路由器内自动创建一个地址转换表。
      • 当数据最初提供给数据时,将形成表中的地图关系。
        在这里插入图片描述

      NAPT

      因此困难在于,如果局域网内众多主机访问同一个外联网服务器,服务器返回的数据的目的 IP 是相同的。 NAT 路由器怎么知道向哪个主机传输此数据包?

      现在该NAPT解决这个问题了。要建立这种联系,请使用 IP+port 。

      在这里插入图片描述
      这种联系也由NAT路由器自动维持,例如,在TCP假设情况下,该清单项目是在形成连接时产生的。
      如果连接丢失, 表格条目将被删除 。

      NAT技术的缺陷
      由于NAT以这一转换表为基础,它有若干限制:

      • 无法建立从 NAT 到内部服务器的连接;
      • 编制和删除转换表引起额外开支。
      • 即使热量高,如果在通信过程中NAT设备出现异常,所有TCP连接都将被切断。

      HTTP/HTTPS

      HTTP和HTPS是应用级优先协议,我们将在网络开发中对此进行调查。

      传输层重点协议

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      TCP提交材料的期限不详。
      负责能够从发件人传送到接收端的数据。

      TCP协议

      在这里插入图片描述

      TCP,即《传输控制议定书》,是一项议定书,要求一个人对数据发送实施全面控制。
      TCP协议段格式
      在这里插入图片描述
      在这里插入图片描述

      • 来源/目的端口号具体说明了数据来源的处理过程和发送到哪个过程。
      • 进一步通报32比特序号和32比特识别号;
      • 4 TCP 头长: 显示 TCP 头部32位数( 4 位数); 因此, TCP 头部最长为 15 * 4 = 60 。
      • 6位标志位:
        URG: 紧急指针的可靠性
        ACK:确认号有效性
        PSH: 通知接收程序必须快速读取来自 TCP 缓冲器的数据 。
        RST: 请求重新连接;RST表示为重返大气层。
        SYN:同步文本;SYN标志是同步文本。
        FIN: 通知对面方该行的终点即将到来。 文章的结尾用 FIN 标识表示 。
      • 我们过16位窗口的大小 以后再详细些
      • 如果接收端检查没有通过,则数据被视为有问题。 这里的测试不仅包括 TCP 的初始部分, 也包括 TCP 的数据部分。 校验总和用于核实网络提供的数据是否有效 。
      • 16项紧急准则:确定哪些数据部分为紧急数据;
      • 暂时忽视是一种40字头的选择。

      在这里插入图片描述
      在这里插入图片描述

      在这里插入图片描述

      TCP原理
      TCP的数据传输控制技术分为两类:安全和效率。
      这些方法和多两次设计的概念相似,因为最大限度地提高传输效率,以确保数据传输安全。

      确认应对方法(安全机制)

      确保可靠传播的主要机制
      可靠性:如果发送者提供数据,您可以确定接收者是否收到数据。
      关键的一点是,收件人收到信息,将其转发给发件人,然后提供回复信息(ACK、确认),确认他已经收到信息。
      在这里插入图片描述

      哪个电文的确认性序列号表明目前的答复是确认性答复?
      TCP的序列号与电文进行了比较,它说,它不是按电文数计算的,而是按字节计算的。
      TCP为每个数据字节指定了一个数字。这个数字是序列号。
      在这里插入图片描述
      每个ACK都有一个匹配的确认序列号, 它告诉发件人我收到什么数据, 以及你下次应该从哪里开始交付数据。

      实时再传输机制(安全方法)

      在这里插入图片描述

      • 一旦主机A向主机B发送数据,数据可能由于网络堵塞等原因无法到达主机B。
      • 如果主机A没有在规定的时间内从主机B得到经核实的答复,则会重复请求。

      另一方面,主机A没有得到B的确认答复,可能是因为ACK损失。
      在这里插入图片描述
      因此,主机B将获得大量重复数据,然后TCP协议必须能够将这些软件包确认为重复数据并删除。
      使用前面描述的序号,我们目前可能只会产生更大的影响。
      在这里插入图片描述
      在这里插入图片描述

      那么,如果用于加班的时间是固定的呢?

      • 寻找最短的时间确保“承认的答案必须能够在那个时间里返回”,
      • 然而,这一时期的持续时间因网络环境而异。
      • 如果花费的时间过长,整个再传输效率就会受到影响。
      • 如果超时时间过短,重复的包件可能经常交付。

      TCP 动态决定这一最大超时,以便在每一种情景中提供相当良好的绩效交流。

      • 在Linux(以及BSD Unix和Windows),控制时间为500毫斯,每次整数时间为500毫斯,决定随着时间的推移重复使用。
      • 如果重新印发,在2时* 500分以后重新分发之前,将未收到任何答复。
      • 如果还没有收到答复,则等待4*500米再转交。
      • TCP决定,网络或终端主机在经过一定数量的再传输后出现不正常现象,导致连接关闭。

      连接管理机制(安全机制)

      TCP通常通过握手三次,波浪四次。
      在这里插入图片描述
      在这里插入图片描述

      在这里插入图片描述
      服务端状态转化:

      • CLOSED -> LISTEN]服务器端调用listen后进入LISTEN状态,等待客户端连接;
      • [LISTEN -> SYN_RCVD]一旦监听到连接请求(同步报文段),就将该连接放入内核等待队列中,并向客户端发送SYN确认报文。
      • [SYN_RCVD -> ESTABLISHED]服务端一旦收到客户端的确认报文,就进入ESTABLISHED状态,可以进行读写数据了。
      • [ESTABLISHED ->CLOSE_WAIT]当客户端主动关闭连接(调用close),服务器会收到结束报文段,服务器返回确认报文段并进入CLOSE_WAIT;
      • [CLOSE_WAIT ->LAST_ACK]进入CLOSE_WAIT后说明服务器准备关闭连接(需要处理完之前的数据);当服务器真正调用close关闭连接时,他们派FIN去给客户这是服务器进入 LAST_ACK 状态的点 。我还在等最后的ACK
      • [LAST_ACK -> CLOSED]服务器收到了对FIN的ACK,彻底关闭连接。

      客户端状态转化:

      • [CLOSED -> SYN_SENT]客户端调用connect,发送同步报文段;
      • [SYN_SENT -> ESTABLISHED] connect调用成功,则进入ESTABLISHED状态,开始读写数据;
      • [ESTABLISHED -> FIN_WAIT_1]客户端主动调用close时,向服务器发送结束报文段,同时进入FIN_WAIT_1;
      • [FIN_WAIT_1 ->FIN_WAIT_2]客户端收到服务器对结束报文段的确认,则进入FIN_WAIT_2,开始等待服务器的结束报文段;
      • [FIN_WAIT_2 -> TIME_WAIT]客户端收到服务器发来的结束报文段,进入TIME_WAIT,并发出LAST_ACK;
      • [TIME_WAIT -> CLOSED]客户端要等待一个2MSL(Max Segment
        报告的寿命(存活的最长时间)将标明为结案时间。

      下图概述TCP转换情况:
      在这里插入图片描述

      • 一条厚厚的虚线显示,服务端的状况已经改变。
      • 更粗的一行表示客户状况的改变;
      • 闭路电视委员会只是一个投机性的起点,而不是一个实际状态。

      关于半封闭问题,考虑一下一个男孩和朋友的分手问题。
      关于封闭状态,学生可以放学后学习。
      TIME_WAIT
      想想看,时间是2MSL的意义是什么?

      • TCP报告有最大限度的存活时间(MSL)。因此,Time_WAIT 2MSL的持续存在确保两个传输方向的未收件或后期部件都消失(MSL表示在网络上两个地点之间传输所需的最大时间)(如果没有,服务器将立即重新启动)。之前一步的数据很可能会迟到。然而,数据很可能是不正确的。共同环境为60(经验价值);
      • 它还在理论上保证最后一份提交书的可靠交付(假设最后一份ACK丢失,服务器将重新发送另一个FIN)。 在这一点上,TCP仍然连接,可能仍然作为LAST-ACK重新发布)。

      CLOSE_WAIT
      一般而言,服务器上的CLOSE_WAIT状态数量之多,是由于服务器没有适当关闭,导致四轮摇摆没有成功完成。这是一个问题。需要一个匹配的近距离解决方案 。

      在这里插入图片描述

      三握手测试对话的两侧, 发送和接收是正常的。
      在这里插入图片描述

      有关此次磋商的相关信息没有具体说明(下一节没有提及磋商的特定参数)。

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      (效率机制)

      我们刚刚描述了一个验证答案的技术, 对于发送的每个数据段, 需要使用 ACK 来确认响应。 在发送下一个数据段之前, 收到 ACK 。 最大的缺点之一是性能低, 特别是数据返回 。

      在这里插入图片描述

      考虑到其接收和接收方式的低效性能,我们可通过同时传送若干数据集(实际上,许多等待时间重叠),大大提高绩效。

      在这里插入图片描述

      • 无需等待确认回复即可继续传输数据的最高值称为窗口大小,高于4 00字节的窗口大小(四段)。
      • 在提交前四段时,不必等待直接交付任何ACK。
      • 相比之下,幻灯片窗口在收到第一个ACK后向后退,而第五段的数据继续提供。
      • 为保持这一幻灯片窗口的开放,该系统必须创建一个缓冲区,以跟踪哪些数据目前尚未回复;只有已回复的数据才可从缓冲区撤回并核实。
      • 窗口越大,网络呕吐的频率越高;
        在这里插入图片描述
        那么,如果袋子里有一滴水,我们如何重做?这里有两种争论。
        假设一:到达了数据集,但没有收到ACK。
        在这里插入图片描述
        在这种情况下,如果部分ACK丢失并不重要,因为可以通过后续ACK加以验证。
        在这里插入图片描述

      第二种情况:数据包是完全错位的。

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      • 当缺少报告段落时,发件人会收到1001件这类背心,仿佛是提醒发件人,“我要1001件;
      • 如果发件人主机连续三次收到相同的回复,数据1001-200将重新发送。
      • 当时,收到收货端1001后,ACK返回701(因为收货端已经收到,并被置于收货端操作系统的接收缓冲地带);

      这一方法被称为“高速再使用控制”(有时称为“快速再传输”)。

      交通管制(安全技术)

      在这里插入图片描述

      接收终端处理数据速度缓慢。如果传送得太快因此,接收端的缓冲区已经填满。如果这次寄件人坚持了下去就会造成丢包,随后又发生了一系列事件,如袋子重新传送。为确定目前的处理能力,此处计量接收器直接接收的缓冲区剩余空间的大小。
      因此,TCP允许根据接收端的处理能力来评估发件人的发送速度。这种方法被称为“控制功能”。
      在这里插入图片描述
      在这里插入图片描述

      • 接收端指定了在TCP开始时“窗口大小”字段中可能接收的缓冲区的大小,通过“ACK”终端通知传送。
      • 窗口面积越大,网络摄入越大;
      • 当接收器意识到其缓冲区已接近填满时,会缩小窗口的大小,并通知发送者。
      • 当发送者收到这个窗口时,它会减少自己发送的速度。
      • 如果接收端缓冲区满载,窗口将被重置为 0;发送者不再发送数据,但必须定期发送窗口检测数据段,以便接收端能够告知窗口大小的发送者。

      在这里插入图片描述
      在这里插入图片描述

      接收器如何将窗口大小告知发件人? 还记得我们的 TCP 前方有 16 位数窗口字段, 窗口大小存储在哪里吗?
      因此,由于16位数的上限为65535,TCP窗口为65535字节?
      实际上,原TCP的40字节选项含有一个窗口扩展因子M,其实际窗口大小是窗口字段在M左侧的价值。

      对成分的控制(安全技术)

      粉碎控制是限制幻灯片窗口传输速度的幻灯片窗口扩展 。
      选区控制评估向接收方发送者,以及整个链条的拥堵(能力)。

      由于TCP有一个大滑冰窗口,它能够高效和安全地提供大量数据,然而,如果在这一期间开始时发送大量数据,问题可能会出现。

      由于网络上有许多机器,因此网络目前的状况可能已经十分拥挤,由于网络目前的状况不明确,大量数据迅速分布很有可能使问题更加严重。

      TCP协议有一个逐步启动机制,首先分发少量数据,然后调查路径,确定目前的网络拥堵水平,并决定应交付数据的速度。
      在这里插入图片描述

      在这里插入图片描述

      • 在这里展示一个被压缩的窗口的概念。
      • 在传输开始时,提供压缩窗口大小为1的窗口;
      • 当收到 ACK 回答时, 梳理窗口会增加一个 。
      • 当数据包传输时,压缩窗口的大小与接收方的主机反馈比较,而低值则用作真正的发送窗口。

      冷凝窗口的扩张像上面看到的一样是指数性的。“慢开始”恰恰是这样:一个缓慢的开始,但是它正在迅速扩张。

      • 压缩的窗口不能简单地翻倍 停止这么快的生长。
      • 在此设定一个慢启动阈值 。
      • 当压缩窗口通过这个门槛时,它会直线增长,而不是指数增长。

      在这里插入图片描述

      • 当 TCP 启动时, 慢启动阈值等于最大窗口值 。
      • 缓慢的起始阈值每次重复时减少一半,而压缩窗口则保留。

      我们只是为少数空投袋触发一次加班转播;对于大量空投的运输,我们认为网络堵塞。

      当TCP通信开始时,网络输送量就会加速;随着网络超负荷,它会立即下降。

      最终,TCP协议试图尽可能迅速地相互提供数据,同时避免作出会给网络带来太大压力的妥协。
      这个程序是由TCP管理的 几乎仿佛它恋爱了

      反应延迟时间(效率方法)

      在这里插入图片描述
      在这里插入图片描述

      如果接收数据的主机迅速返回到 ACK 响应中, 窗口可能相当简短 。

      • 如果接收端缓冲区为一次性收到的1M.500K数据;如果回复是即时的,返回窗口为500K;
      • 但实际上,处理终端处理可能很快,缓冲区的500K数据在10米内消耗。
      • 在这种情况下,接收端程序仍远未接近其自身的制约,即使窗口扩大,也有可能得到处理。
      • 如果接收器等待时间稍长一点来响应, 比如说200毫秒, 此时返回的窗口大小为 1M 。

      必须指出,窗口越大,网络输送量越高,传输效率就越高。 我们的目标是在保持网络完整性的同时,优化传输效率。
      所以,所有行李可能都延迟了?

      • (b) 数目有限:每个N包都得到答复。
      • 时间限制:一次答复超过最大延迟;

      具体数量和时间因操作系统而异;平均而言,N需要2毫秒,额外需要200毫秒。
      在这里插入图片描述

      后续行动(效率机制)

      在这里插入图片描述

      基于延迟的回答, 我们发现在很多情况下, 客户服务器在应用程序级别上也是“ 一对一 ” 。 这意味着客户会说“ 你怎么样? ”, 而服务器的反应是“ 很好, 谢谢 ” 。
      此时此刻,ACK和服务器 可能要回客户名"谢谢"

      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

      其他特性

      其他特性包括:以字节为基础的流
      其他特性:缓冲区
      其他特性:大小限制

      • 在内核建立缓冲带以传输和接收缓冲带的同时,建立 TCP 套接字。
      • 拨打写字时,数据最初写在发送缓冲地带。
      • 如果提供的字节过长,它们将分布在许多TCP数据包中。
      • 如果移交的字节数量不足,它将在缓冲区等待直至几乎满载,或在其他适当时间等待。
      • 在接收数据时,数据来自缓冲地带,来自网卡驱动器。
      • 程序然后可以利用呼叫读取功能从接收缓冲区获取数据。
      • 另一方面,如果连接TCP,数据可以在传送和接收缓冲区内查看或写成,称为全时工作。

      由于缓冲区的原因,TCP的读写过程不需要一对一的匹配,例如:

      • 写入100字节的数据时,一次写100字节,一次写100字节,一次写100字节;
      • 在阅读100字节的数据时,不必担心数据是如何写成的,无论是100字节一次,还是100字节一次。

      粘包问题
      在这里插入图片描述

      首先,标签问题中的“包装”是指应用层数据包。
      TPP协议从以下开始:没有“纸页长度”像UDP一样。然而,有一个有序号的字段。站在传输层的角度,TCP是一个正在传递的信息。他们根据序列号被分配到缓冲区。站在应用层的角度,你只看到一连串的字节因此,应用程序会注意到此字节的字符串 。我不知从何说起是一个包罗万象的层数据包。
      在这里插入图片描述

      在这里插入图片描述

      那么,我们如何防止粘糊糊的袋子发行呢?最后,它是一个描述两个包的区别的声明。

      保证所申报的包件总是按固定大小阅读;例如,上文按大小固定的请求结构,将从缓冲区开始时依面积(请求)依次阅读(请求);
      长套件的结束可以通过决定一个字段来决定包件在头部的位置上的总长度。
      包件长度的包件和包件之间也可以使用明确的分隔符(类人猿本身商定等级,只要分隔符与内容不冲突);
      在这里插入图片描述

      联合民主党协议有"棍子袋问题"吗?

      • 如果无法获取顶部交付数据,则联合民主党提交文件的长度保持不变,同时,联合民主党是一种向应用级别提供数据的服务,数据界限非常明确。
      • 在申请一级,联合民主党要么接收整个联合民主党的信息,要么不接受,没有“一半”的情况。

      TCP异常情况

      程序终止后将发布文件说明, 该文件说明仍可送交FIN。 此程序基本上是手动调用套接字。 类似 Close (), 它会产生四波波, 与常规锁定相同 。
      重开系统与终止程序相同。
      计算机失去电源/网络,但接收器认为连接仍然有效。当受助者写作的时候,接收器发现连接已被切断。我们将重新开始。即使没有写入操作,TCP创造了一个实时计时器 。如果另一方仍经常在场,将受到询问。如果对方不在,也会把连接释放。
      在这里插入图片描述

      此外,一些应用级协议也具有类似的监测方法,例如,在延伸的HTTP连接中,对彼此的地位进行例行审查。 例如,在 QQ 断开后,经常寻求重新加入。

      TCP小结

      TCP为什么如此困难? 它涉及确保可靠性,同时最大限度地提高绩效。
      可靠性:

      • 校验和
      • 序列号(按序到达)
      • 确认应答
      • 超时重发
      • 连接管理
      • 流量控制
      • 拥塞控制

      提高性能:

      • 滑动窗口
      • 快速重传
      • 延迟应答
      • 捎带应答

      其他:
      计时器( 转播计时器、 实时计时器、 Time_ WAIT计时器等)
      根据《TCP聚合协定》

      • HTTP
      • HTTPS
      • SSH
      • Telnet
      • FTP
      • SMTP
        当然,在您自己的 TCP 进程作者中也有自定义的应用级别协议。

      UDP协议

      UDP协议端格式
      在这里插入图片描述
      在这里插入图片描述

      • 16个UDP长度反映数据报告的总长度(UDP第一+UDP数据);
      • 如果校验总和包含错误, 它会被丢弃 。

      UDP的特点
      UDP传输程序与电子邮件程序相同。

      无连接
      知识产权和港口号在结论时直达,无需连接。

      不可靠
      没有建立任何安全机制,如果由于网络故障,无法将一段内容传送给另一方,则UDP协议层在发送者发送数据报告后不会将任何不正确的信息退回到应用级别。
      面向数据报
      无论向联合民主党提供了多少时间,它不会分割或合并。 联合民主党是按原样交付的。
      联合DP数据传输100字节:
      如果发件人一次发送100字节, 接收端同样必须一次收到100字节; 接收端必须一次收到10字节, 而不是10字节, 接收端必须一次收到10字节 。

      缓冲区

      UDP只接收缓冲地带,
      UDP实际上并不传送缓冲区,而是直接向内核提供数据,然后由内核将数据传送到网络层协议,以便随后传送。

      联合民主党提供一个接受数据的缓冲区,但这一缓冲区不能确保联合民主党的接收和发送顺序相同;如果缓冲区完整,则删除重新抵达联合民主党的数据。
      UDP的插座支持阅读和写作。 它被称为全时就业。

      大小受限
      联合民主党协议第一部分的最长期限为16个名额,这意味着联合民主党可以广播的最大数据量为64K(包括联合民主党的第一部分)。

      基于 UDP 的图层协议

      • NFS:网络文件系统
      • TFTP 代表简单的文件传输协议 。
      • DHCP 代表动态主机配置程序 。
      • BOOTP: 启动协议( 非盘点启动程序) 。
      • DNS 代表域名解析协议 。

      您也可以为 UDP 程序创建自己的应用程序级别协议 。

      扩展问题
      这是一个典型的采访问题:

      1. 如果要依靠传输层UDP协议来建立可靠的连接,UDP协议本身是互不相连、不可靠和以数据为导向的协议。
        如何设计转让?
      2. 联合民主党协议的篇幅有限,如果数据传输超过64K,该协议如何建立取决于传输层联合民主党协议?
        对上述两个问题的答复相似,可以来自TCP的可靠性机制,以便在申请一级达到类似的逻辑:
        例如:

      TCP/UDP对比

      在这里插入图片描述

      由于我们说TCP是一个可靠的联系,TCP是否比UDP更可取?TCP和UDP有不同的长处和局限性。
      单,绝对的进行比较

      • 在文件转移、关键状态更新等情况下,TCP用于可靠的传输;
      • 联合发展方案用于需要高速传输和实时需要的通信领域,如早期传播、视频传输等。

      最后,TCP和UDP是程序员的工具,无论如何、何时或是否根据具体要求加以评价。
      定。

      网络层重点协议

      在一个复杂的网络环境中,找到一条好的道路。
      IP协议
      协议头格式如下:
      在这里插入图片描述

      • 四位数版本号(版本):对于 IPv4, IP协议的指定版本为 4。
      • IP头长多少32比特, 即4个部门主管( 标题长度)? Lume* 4. 4比特的字节显示最大值为 15, 表示IP头最长长度为 60 字节 。
      • 有8种服务类型(服务类型):3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)、3个优先领域(放弃)4位TOS字段,以及一个保留字段(必须是零)。根据四个任期,延迟时间很小。最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。对于SSH/telnet 应用程序,必须尽量少拖延,同时使用ftp等工具。高生产率是关键。
      • 总计16个字节(顶部长度):实施伙伴数据报告总共计算了多少字节?
      • 如果将实施伙伴报告分为数据链一级,每部电影的ID相同。
      • 第一个储备包括三个标记字段。 (保留表示您目前无法使用该服务。 )但我不确定我会不会用它关于禁止分割区,第二个位置是1。如果该文章的长度此时超过MTU,消息由 IP 模块投递 。"更多碎片"是第三个迹象如果分片了的话,上一部分为1份。其他是0。与感叹点相同。
      • 13个分数抵消(框架抵消):与最初的 IP 提交之初不同。实际上,它在原手稿中标明了目前碎片的位置。*8 表示实际偏转的字节数。因此,这个故事是我们对2011年埃及抗议的特别报导的一部分。其他条目的长度必须为八倍( 否则它们不会是连续的 ) 。
      • 八次存活时间(活时间,TTL):最多的报告数量已到达目的地。 通常每次通过TTL=1的路线, 通常为64次, 直至零, 然后被丢弃 。
      • 8比特协议表明了高级别协议的种类。
      • 16个头部核查:使用化学品审查委员会评估头部是否受损。
      • 发件人和接收端有32位源地址和32位目的地地址。
      • 几个选项字段(不确定长度,最多40字节)

      数据链路层重点协议

      认识以太网

      • 以太网是一种技术标准,既包括数据链水平,也包括某些物理层。
      • 例如,以太网网络必须使用双重扼杀手段;传输速度为10M、100M、100M等。
      • 以太网是使用最广泛的局域网技术;它得到信号环网、无线局域网和其他技术的支持;

      以太网帧格式
      以下以 Tarnet 框架格式显示 :
      在这里插入图片描述

      • (a) 来源地址和目的地地址是净卡的硬件地址(又称MAC地址),其长48个字符,在发放时固定。
      • 框架协议类型字段包含与知识产权、ARP和RRP相关的三个数值。
      • CRC校准代码位于框架底部。

      贸易贸易图对知识产权协议的影响

      • 由于数据链一级MTU的局限性,大型的IP数据包被分包。
      • 将大的 IP 框除以小的软件包, 并给每个小的软件包贴上标签 。
      • 每个PIP包件都有相同的16位识别符号(ID)。
      • 每个包件IP协议头的三位数标记字段中的第二个位置为零,表示允许拆分,第三个是终点(无论最后一个包目前是否设定为1或0)。
      • 当袋子到达另一端时,它们将依次重新加入,并组装在一起,然后返回传输层。
      • 然而,IP楼层对重新传输数据不负责。

      在这里插入图片描述
      在这里插入图片描述
      MTU对联合民主党协议的影响
      让我们重温一下联合民主党的协议:

      • 当UDP携带1472(1500-20)(IP页头)-8(UDP页头)以上时,它会分为网络层的众多IP数据报告。
      • 如果在网络一级报告UDP数据,整个数据丢失的可能性就会大大增加。

      MOTU对TCP协议的影响

      让我们回到《TCP协议》:

      • TCP数据报告不能是无限的或受MTU的限制。 MMS(最大安全大小)是单一TCP数据报告的最大新闻长度。
      • 在建立连接时,TCP将与管理支助部协商。
      • 理想的情况是,MMS值与不将IP处理成碎片的最大长度相对应(尽管MTU仍将适用于数据链层)。
      • 双方都写下他们可以在发送SYN时支持 TCP 头部的 MSS 值 。
      • 双方在了解对方的MMS价值后,决定以一个较小的价值作为最后MMS。
      • MSS值为TCP第一部分(类型=2)的40字节形式;

      MSS与MTU之间的联系
      在这里插入图片描述

      ARP协议
      虽然我们是来介绍《美国退休人员协定》的,但应当指出,《美国退休人员协定》是中级协定,而不是数据链接层协定。
      连接数据连接层到网络层的协议 。
      ARP协议的作用

      • ARP协议在主机IP地址和MAC地址之间绘制了地图。
      • 在网络通信中,源主机程序知道主机的IP地址和端口号,但不知道目的地主机的硬件地址。
      • 软件包最初由网页卡接收,然后为高级协议处理;如果收到的软件包的硬件地址与服务器不匹配,则直接删除软件包。
      • 因此,在沟通之前,必须确定目的地东道方的实际地址。

      ARP议定书的工作流程
      在这里插入图片描述

      • 源主机提交了一个ARP请求,询问“主机IP地址的硬件地址是什么?” 并将请求广播给当地网络(在Tainet for:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF
      • 目的地主机收到广播 ARP 请求,确定 IP 地址与主机匹配, 并向源主机发送 ARP 响应包, 包括其硬件地址 。
      • 每个主机都保留一个ARP缓存,可以用作备用缓存。
        - 查看命令。 缓存中的列表项目有过期时间( 通常为 20 分钟), 如果在 20 分钟内没有再次使用表格项目, 表格项目将过期, 下个 ARP 请求将发出以获取目标主机的硬件地址 。

      总结

      应用层

      • 应用层面的作用:适合我们日常需求的网络程序位于应用层面。

      • 应用级方法可以量身定制,以满足具体要求。

      • 了解HTTP协议。

      • 学习DNS的基本原理及其过程。
        传输层

      • 传输层的作用:负责能够从发件人传送到接收端的数据。

      • 理解端口号的概念。

        本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类