程序员必备基础知识-TCP/IP协议详解

      最后更新:2022-05-18 07:46:49 手机定位技术交流文章

      TCP/IP协定所述的基本方案拟订专门知识

      Linux分享官
      Linux分享官
      374人批准了该项目。

      一、TCP/IP基础

      实际上,所谓的议定书是各群体之间制定的一项条例,其目的是确保这一群体中的人能够正常地互动。 例如,考虑计算机和网络。
      各种硬件和操作系统之间的相互作用都需要有一条规则。

      协议有几个方面,包括从电缆规格到IP地址的选择技巧、寻找外部用户的方法、当事方之间的通信顺序、介绍所要执行的程序的网页等等。

      这结合了称为TCP/IP的与互联网有关的议定书。也有说法认为,TCP/IP协议包括TCP和IP协议。还有一种说法认为,TCP/IP是一种知识产权议定书通信方法。联邦同盟的学术名言

      二、TCP/IP议定书范本

      在设计数据包时,TCP/IP遵循封装和部门政策。该程序正在通过所谓的封装传输数据。每层都添加一些最早的信息。这些信息用于与同一级别的接收者进行通信。例如,由于数据从应用到以太网过程,显示从一层到下一层数据处理的地图说明如下:

      协议仓储进入程序

      上图清楚地说明了TCP/IP协议每一层次的作用。此外,TCP/IP议定书通信程序涉及数据输入和退出过程。入栈的过程,在每层楼上,数据发射机继续封住头部和尾部。包括一些发送的数据检查是否可将其转移到预定目的地。出栈的过程,每个楼层的第一层和尾部仍被数据接收器清除。获取最后传输信息

      以上图示是HTTP协议的一个例子,协议具体规定:
      三、数据链路层
      物理层负责物理设备的0位和1位以上电流和低电压的交接,以及灯光的熄灭。数据链层将0和1个序列分解成数据框,从一个节点发送到相邻节点,由MAC(MAC,物理地址)单独识别。一个MAC地址是给主人的 机会分配的

      (b) 密封成框架:网络一级数据报告,包括来源和目的地MAC地址的顶部和底部密封成框架。
      透明传输: 转写字母,零位元填充。
      它很少在出错率非常低的链条中使用,但无线链接WLAN能够进行可靠的传输。
      检测错误(CRC):收件人检测错误,如果发现错误,则丢弃框架。
      四、网络层
      1.IP协议
      知识产权协议对TCP/IP协议很重要。所有的TCP,UDP,IMCP,IGMP 数据以 IP 数据格式发送 。要注意的是,IP不是值得信赖的协议 。这是说,IP协议没有处理尚未提供的数据的方法。TCP或UDP所要达到的目标被称为一项上级协议。

      1.1 IP地址
      MAC 地址用于确定数据链层上的各种节点,而IP 地址用于确定IP一级上的不同节点。

      有32个IP地址与网址和地址分开。因此,在路由器清单上登记的路由器数目将减少。有了网络地址,具有相同互联网地址的终端数量可限制在相同范围内。因此,路线清单只需保留网址地址的一条指示即可。因此,我们可以找到匹配终端。

      输入以下 IP 地址 :
      B类的 IP 地址 :
      C类的 IP 地址 :
      1.2 IP协议头

      本段仅描述 8 TTL 字段。 本段表示数据集将销毁多少条路径 。 每次IP 数据包通过路由器, 数据包的TTL 值会被一个下降, 当数据包的TTL 点击为零时, 它会立即被丢弃 。
      这一变量的最大值可能为255,这意味着一个包件可在路由器中废弃255次,视系统而定,通常32次或64次。

      2. ARP和RRP合同
      ARP是获得基于IP地址的MAC地址的合同。

      ARP( 地址分析) 协议是一个解构协议, 主机不知道该 IP 连接到哪个界面。 当主机传输IP 包时, 它首先检查自己的 ARP 高速缓存( 即IP- MAC 地址匹配表格的缓存 ) 。

      如果查询的 IP-MAC 值不存在,因此,东道主向网络发送了ARP软件包。这个软件包提供了必须检查的IP地址。获得此软件包的所有主机直接查询IP地址 。如果收听无线电节目包的主持人之一发现他或她符合要求,确定他或她是否符合收听无线电节目包的主持人的要求是可行的,确定他或她是否符合要求是可行的。最后,建立一个美国电台和电视台的节目包,配有自己的MAC地址,发送给美国电台和电视台的节目主播。

      当收音机主机收到ARP软件包时,它更新了自己的ARP缓存(其中包括IP-MAC通信表),广播主机将利用更新的ARP缓存数据准备数据链层供传播。

      相反,RARP协定的工作没有重复。

      1. ICMP协议
        IP协议不是一个值得信赖的协议,因为它并不保证数据将被传输,而确保数据自然由其他模块提供的工作应当由其他模块完成。主要模块之一是《IPCMP议定书》。IPCMP不是高级别协议,但知识产权协议提供的规定不是可信赖的协议,因为它并不保证数据将被传输,而确保数据自然由其他模块提供的工作应当由其他模块完成。重要的模块之一是《IPCMP协议》。《IPCMP》不是高级别协议,而是《IP协议》。

      当发送 IP 数据包时发生错误时, 例如, 主机无法到达, 路径无法达到, 等, ICMP 协议将封存错误的信息, 并将其发回主机 。 给主机一个解决错误的机会, 这就是为什么基于 IP 级别以上的协议可能是安全的原因 。

      五、ping
      Ping是IPCMP最广为人知的用途,也是TCP/IP协议的一部分,使用“ping”命令可以核实网络是否连接,并帮助我们分析和确定网络问题。

      当我们的一个网站关闭时, 它通常在这个网站周围滚动。 Ping 会带着一些重要的信息回来。 总体信息如下:

      Ping来自声纳定位,这确实是该过程的目的,它利用IPC软件包来识别另一个主机的可用性。 逻辑是要求有 0 型代码的IPC 和有 8 型代码的IPC 所需的主机答案。

      用户可以通过使用用于估计间隔和交付了多少包的端口软件来确定网络的一般状态。 正如我们所看到的, 端口为传输和TTL数据提供了时间 。

      六. 追踪路线
      跟踪路由是确定主机与目的地之间路线的有用和容易的工具。

      Traceroute 概念是相当有趣的。收到目的地主机IP地址后先向目标主机发送 TTL = 1 UDP 数据包 。沿着第一个接收此软件包的路由器,TTL 自动降低一个 。一旦TTL是0,这个包被路由器丢弃了同时,东道方收到一份无法获取的国际CMP数据报告。收到数据后,东道主将向目标发送另一个TTL=2 UDP数据包。然后启动第二个路由器,将IPCMP数据传送到主机。所以,回到目的地的宿主。这样,Traceroute 获得所有路由器 IP 地址 。

      七、TCP/UDP
      TCP/UDP既是转让层协议,但具有不同的特性和应用情况,如下表所示。

      面向报文
      向媒体的传输取决于向UDP提供申请级别的时间长短,UDP一次发送相同的信息。 因此,应用程序必须选择消息的正确大小。 如果文本过长, IP层必须分割以降低效率。 如果过短, 信息会太小 。

      面向字节流
      应用程序和 TCP 在字节流的情况下, 应用程序和 TCP 在一个时间( 变量大小) 与一个数据块互动, TCP 将应用程序视为一个没有结构的字节序列。 TCP 有缓冲, 如果数据块太长, 应用时, TCP 可以将其分割并发送 。

      在交通拥堵控制方面,TCP侧重于交通控制,详见下文。

      TCP和UDP议定书的一些应用

      你什么时候应该使用TCP?
      当网络连接质量是必要的时,例如,当所有数据都准确地传达给另一方时,这经常用于一些需要可靠性的应用,如HTTP、HTTP、HTTP、FTP、POP、SMTP等等。

      何时使用UDP?
      当网络连接质量低时,网络必须尽快进行沟通,因此可以使用联合民主党。

      八、DNS
      DNS(Domain Name System,域名系统),因特网是一个分布式数据库,为计算机分配域名和IP地址。用户增加了上网的机会。而不是背弃计算机可以直接读取的IP数。通过主机名,域名解析( 或主机名解析) 指的是最终获取与主机名匹配的 IP 地址的过程 。联合民主党协议是DNS协议的基础。使用端口号53。

      九、TCP连接的建立和终止
      1.三次握手
      TCP建立了联系。无论以什么方式 对方传输的数据之前,必须首先在双方之间建立联系。根据TCP/IP议定书协议,TCP协议保证提供连贯一致的连接服务。使用了三次握手来确定连接。这三个握手会旨在同步序列号和确认号,并交流TCP窗口大小信息。

      客户发送连接段落请求, 设定 SYN 到 1 和 sequience number 到 x; 客户然后进入 SYN_ SEND 状态, 等待服务器确认 。

      服务器在第二次握手时得到了 SYN 信息 。服务器从一个客户端收到SYN信息,然后在Facebook上分享。此 SYN 文本必须确认 。将致谢号更改为 x+1(序列号+1),同时更改序列号。我必须亲自提交SYN信息请求。将SYN位置为1,服务器存储了一份报告(即SYN+ACK)中提到的所有上述信息,服务器将所有信息记录在一份报告(即SYN+ACK)中。一并发送给客户端,此时,服务器进入 SYN_RECV 模式。

      第三手握:客户从服务器获得SYN+ACK信号。然后将鸣谢号码改为y+1。服务器接收 ACK 短信 。这个故事是我们对2011年埃及抗议的特别报导的一部分。客户和服务器都位于既定状态。TCP 三次握手已经完成。

      为什么要三次握手?
      发生错误是为了防止未实现的连接请求段被意外地重新传送到服务端 。

      显示一个“已终止连接请求”的具体例子,其中客户第一次请求连接时没有丢失。在网络节点里已经很长一段时间了。这导致服务器在连接释放后晚些才到达。这将是一个过时的通道。不幸的是,在收到错误的连接请求后,服务器获得了许可请求。错误地认为客户提出了新的连接请求。最后,阴蒂收到一封确认信。同意建立连接。假设没有"三握手"因此,一旦服务器提供确认,新的连接就建立了。由于客户没有要求建立连接,这就是为什么我们忽略服务器的确认。将不会有数据传输到服务器 。前提是建立了新的运输联系。我们一直在等客户送来数据这样,服务器的大部分资源被浪费了。采用“三握手”战略可以避免发生这种情况。例如刚才那种情况,客户端不发送服务器确认 。我不知道我该怎么办, 但我不知道我该怎么办。我们知道客户没有要求连接 我不知道我该怎么办

      2.四次挥手
      当数据传输完成,客户端和服务器通过三次握手建立了 TCP 连接时, TCP 连接一定是断开的。 TCP 连接中出现了奇特的“ 四起分手 ” 。

      然后,主机1(它能创建客户)也可以做一个服务器这个故事是我们对2011年埃及抗议的特别报导的一部分。向主机 2 发送 FIN 消息; 在此点,主机1已达到FIN_WAIT_1条件,表明主机1没有数据可转发给主机2。
      第二次拆分时,主机2收到主机1发来的FIN电文,答复如下:向主机发送了一个 ACK 信息 。承认号码等于安全号码加1;主机1进入FIN_WAIT_2状态;主机2通知主机1。我“同意”你要求结案的请求;

      (c) 第三次分手:主机2向主机1发送了FIN信息,请求终止连接,而主机1处于LAST_ACK状态。

      这是第四次分手:主机1收到来自主机2的FIN短信, 我从未听说过。这篇文章是全球之声在线特稿的一部分。主机1随后进入时代WAIT模式,主机2从主机1收到主机1的ACK信息时从主机1收到了ACK信息。就关闭连接;此时,在等待 2MSL 后, 主机 1 没有得到回应 。2011年叙利亚抗议活动特别报导,那好,主机 1 可能断开连接 。

      为什么要四次分手?
      TPP议定书是一个相互联系的、可靠的、以字节为基础的运输层通信议定书。TCP是一种全时就业模式。这就意味着,当主机 1 传送 FIN 消息时,只是主机1无法传输更多数据主机1告诉主机2,一切事情都被传出去,尽管如此,主机 1 目前仍然可以接收主机 2 的数据; 当主机 2 返回 ACK 区域时, 主机 2 的数据不再允许 。它声称已经知道主机1没有数据可供发送。但是,主机2仍然可以将数据传送给主机1;此外,当主机2发送FIN时,它也可以将数据传送给主机1。目前没有要发送到主机 2 的额外数据 。就会告诉主机1,我没有其他信息要发送然后他们会很高兴 打破这个TCP连接。

      我们为什么要等2MSL?
      最大故事长度, 这是所有故事在被抛弃之前 留在网络中的时间最长的一段时间。
      原因有二:

      确定TCP协议的全时工作连接安全关闭。
      确保从网络中删除这一连接的重复数据部分。
      首先 如果主机一号直接送到封闭区因此,由于知识产权议定书不可信,或出于其他与网络有关的原因,结果,主机2没有得到主机1的最后答案ACK。之后,主机2将继续发送FIN。因为目前主机一号已经关闭与重新印发的金融情报处无关。所以,主机 1 不立即输入关闭数据 。这都是为了保持时间的流逝。当FIN再次被收买的时候,这是确保他们得到ACK的唯一方法最后一个切断连接的人

      第二,如果主机1直接送到封闭区然后建立了与主机2的新连接。我们不能确保这一新连接的港口号不同于最近结束连接的港口号。例如,新旧连接的港口号可能是一样的。没有一般性的问题。但是,有一些例外:如果新的连接港号与已经关闭的旧连接港号相同,则新连接有问题。如果上一个连接的部分数据仍然在网络中,则无法找到数据 。建立新连接后,延迟的数据到达主机2。因为新连接的端口号与前一个端口号相同,TCP协议将延迟数据作为新的连接处理。对于与数据包的真正新连接存在误解。因此,TCP连接必须等待两倍的时间,直到MSL处于时代WAIT状态。这确保网络上没有关于这一联系的数据。

      十、TCP流量控制
      如果发送者提交数据的速度太快,接收者可能无法接收数据,从而造成数据丢失,交通管理的目的是使发送者的发送速度不要过快,使接收者能够接收数据。

      使用滑动窗口方法,您可以简单地在 TCP 连接上调节发送方的流量 。

      设A向B发送数据。在连接建立时,"我的接待窗口是Rwnd=400" B对A说因此,发件人的发件人的发件窗口不能大于收件人的接收窗口。请注意,TCP 窗口单位用字节计量。不是报文段。每个员额假定有100字节。数据报告的序号最初定为1。第一部分经核实的ACK是ACK的大案子经确认的字段值在较低情况下。

      图中可以看出,B负责三个交通管制。第一次,将窗口设为 Rwnd = 300。第二次设定为 Rwnd = 100,最后但同样重要的是,Rwnd = 0发送者无法再次发送数据 。这样发件人就会被搁置, 直到主机 B 给出新的窗口值 。B向A提交的三篇文章有ACK=1。数字字段只有在 ACK=1 校验时才相关。

      每个 TCP 连接有一个连续计时器(持久性计时器)。只要TCP连接的一方收到另一方的零窗口通知,另一方也可收到零窗口通知。就启动持续计时器。如果定时器的设定继续过期发送零窗口控制电文(带有一字节的数据)。通信的接收人然后重置连续计时器。

      十一. TCP堵塞管理
      一. 缓发和避免抽搐
      发件人保留了 cwnd (ccess window) 状态变量。 凝结窗口的大小取决于网络的凝结程度和变化速度。 发件人允许自己的发件人窗口将窗口嵌入 。

      发件人对压缩窗口的控制概念是,只要网络不受到震动,压缩窗口就会扩大,让更多的分组被发送出去。 但是,只要网络被震动,压缩窗口就会减少,以减少注入网络的集群数量。

      慢开始算法:
      如果在主机开始提供数据时将大量的数据字节迅速注入网络,则有网络堵塞的危险,因为网络负荷未知。
      因此,实现这一点的最好办法是发现传输窗口的稳步上升,即压缩窗口的体积逐渐增加,从小到大。

      一般来说,这是第一次发报,也是第一次发报。将 cwnd 压缩窗口设为最大报告段落 MSS 值。他在得到新文章确认后写道:向压缩窗口的值添加一个 MMS 。这种办法逐渐增加了发送者的 cwnd 窗口。可以降低向网络注入集群的速度。

      每个传输车轮经过,两次挤压窗户传输方向盘旋转所需的时间是 RTT 返回时间 。然而,“车轮”表明,允许Cwnd从压缩窗口传送的信息是连续发送的。最后一个字节的确认,
      而且,“慢”并不意味着 cwnd 增长缓慢,而是当 TCP 开始发送信息时设定 cwnd=1, 使发送者能够首先发送一个段落(测试网络的拥堵), 然后逐渐提升 cwnd 。

      还需要一个缓慢的启动门 shresh 状态变量, 以尽量减少由过量 cwnd 增长造成的网络堵塞。 慢的启动门限制 sshresh 使用如下:

      当 cwnd < ssthresh 时,使用上述的慢开始算法。
      当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。
      当 cwnd = ssthresh 时, 您可以通过使用慢启动方法和冷凝控制来避免算法 。
      拥塞避免
      压缩窗口 cwnd 不是翻倍, 而是缓慢提高压缩窗口 cwnd, 也就是说, 发件人的压缩窗口 cwnd 加上每返回时间 1 。 这种压缩窗口 cwnd 以线性值增长, 速度比缓慢的启动窗口要慢得多 。

      无论是在缓慢的开始阶段,还是预防抽搐阶段,都有许多工作要做。只要发件人发现网络正在震动(根据没有收到确认的事实),就能找到摆脱困境的解决办法。如果出现拥堵,慢速起步门定在发送窗口值的一半(但不少于2个)。然后将压缩窗口 cwnd 重置为一个 。执行慢开始算法。

      目标是迅速减少连接网络的集群数目,以便堵塞路由器有足够的时间处理积压的队列。

      以上描述的封闭程序在下面的图像中描述。 传输窗口现在与压缩窗口的大小相同。

      2.快重传和快恢复
      快重传
      快速跟踪技术不是等待自己发送数据,而是迫使接收方在收到一段混乱的段落后立即发出多次确认(通知发送方,电文未送达对方)。

      收货人收到M1和M2,并提交了确认书,认为收货人没有收到M3,但收到了M4。

      虽然M4是收到的错误电文,但显然接收方无法确认,根据可信赖的传输概念,接收方要么不做,要么在适当的时候发出M2确认。

      然而,快速改道算法指出接收方应及时发送M2对等确认。如果电文段M3未到达接收方,则会通知发送方。M5和M6随后由发件人发送。在收到这两份报告后,M2确认函将一次又一次地发出。这样,接收器将四份M2确认书退回发件人。最后三项得到复制。

      快速跟踪技术还要求发件人在收到三份重复确认书后,而不是等待M3规定的定时器过期,再重新发送另一方未收到的报告的第M3段。

      因为发送者在可行的情况下尽快重新发送未经证实的信息, 快速再传送可能会将网络总吞吐量增加20%左右。

      快恢复
      快速恢复算法与快速再传输结合使用,由两个主要部分组成:

      当发件人收到三次连续减少的重复确认时,“乘数减少”机制被用来将延迟的起动门阈值减半。
      与慢启动算法不同,慢启动算法目前尚未实施(即压缩窗口的 cwnd 不设为 1 ) 。当sthresh被减半时, 将 cwnd 值设定为慢速启动门值的一半 。随后启动了避免抽搐算法(“附加”算法)。压缩窗口数量的逐渐直线增长。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/25147.html

          热门文章

          文章分类