300. 关于TCP/IP,必须知道的10点信息。 本文件汇编了在TCP/IP软件包中必须加以教育的10个问题的清单,涉及访谈频率高以及程序员的基本知识。

      最后更新:2021-12-08 11:52:44 手机定位技术交流文章

      图片

      TCP/IP10问题

      一、TCP/IP议定书范本

      因特网的基本议定书是TCP/IP议定书范本(传送议定书/因特网议定书),其中包括构成因特网基础的若干网络议定书。

      以TCP/IP为基础的参考模型将协议分为四层:链条、网络、传输和应用,下图说明了TCP/IP模型与OSI模型层之间的关系。

      图片

      TCP/ IP 组从等级的上到下捆绑。 顶端是应用层, 并且有 http, ftp 等, 我们熟悉协议 。 第二层是传输层, 这是著名的 TCP 和 UDP 协议所在的地方 。 第三层是网络层, IP 协议已经到位, 通过在数据中添加 IP 地址和其他数据来设定传输目标 。

      图片

      虽然TCP/IP协议通信程序与数据输入和退出程序实际上完全相同,但下图清楚地说明了TCP/IP协议中每一层的作用。进入仓库时,数据发送者不断封存每一层的开始和结束,并增加所传送信息的一部分,以保证能够传送到目的地。在楼梯上,数据接收者不断清除每一层的开始和结束。

      图片

      上文的图表描述了HTTP协定的情况。

      二、数据链路层

      物理层负责物理设备的0位和1位以上电流和低电压的交接,以及灯光的熄灭。
      数据链层将0和1个序列分解成数据框,从一个节点发送到另一个相邻节点,由MAC(MAC、实际地址、一个主要机会有一个MAC地址)单独确定。

      图片

      • (b) 密封成框架:网络一级数据报告,包括来源和目的地MAC地址的顶部和底部密封成框架。

      • 透明传输: 转写字母,零位元填充。

      • 它很少在一个出错率非常低的链条中使用,但无线链接WLAN能够进行可靠的传输。

      • 检测错误(CRC):收件人检测错误,如果发现错误,则丢弃框架。

      三、网络层

      1.IP协议

      所有TCP、UDP、IMP和IGMP数据均以IP数据格式传送。应该指出,IP不是一个可靠的协议,这意味着IP协议没有提供一种在数据未通报时处理的方法,而这种方式被视为高层协议:TCP或UDP将做什么。

      1.1 IP地址

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

      32个IP地址被分隔成网络和地址地点,减少了路由器日志的数量,并有一个网络地址,将同一网络地址的终端数量限制在同一范围内,因此路由器表格只需保持网络地址的方向,就可以找到相应的终端。

      1.2 IP协议头

      图片

      本段仅描述 8 TTL 字段。 本段表示数据集将销毁多少条路径 。 每次IP 数据包通过路由器, 数据包的TTL 值会降低一个, 当数据包的TTL 点击为零时, 数据包的TTL 值会立即被丢弃 。


      这一变量的最大值可能为255,这意味着一个包件可在路由器中废弃255次,视系统而定,通常32次或64次。

      2. ARP和RRP合同

      ARP是一种合同,允许您根据IP地址获得MAC地址。

      ARP( 地址分析) 协议提供了一种变通办法 。 主机不知道该 IP 地址的界面。 当主机传输 IP 包时, 它首先检查自己的 ARP 高速缓存( IP- ) 。
      MAC 地址对等表格的缓存)

      如果查询的 IP- MAC 值不存在, 主机会向查询 IP 地址的网络发送一个 ARP 软件包, 接收软件包的所有主机直接检查IP 地址。 如果接收主机确定它符合资格, 包含自己的 MAC 地址的 ARP 软件包可以传输给发送主机 。

      当收音机主机收到 ARP 包时, 它自动刷新 ARP 缓存 。
      广播主机将利用更新的ARP缓存数据,准备数据链层供传播(如MAC的反表)。

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

      3. ICMP协议

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

      当传输 IP 数据包时发生错误时, 例如无法到达主机, 无法访问路径等, ICMP 协议将封存错误的信件, 并发回主机 。
      因此,基于实施伙伴级别以上的协议被称为潜在的安全理由。

      四、ping

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

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

      图片

      使用 IMCMP 软件包来识别另一个主机的可用性。 它基于零 ICMP 的型号代码 。
      请求主机还原了8的IPCMP代码。

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

      五. 追踪路线

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

      Traceroute 原则非常有趣。 当它从目的地主机接收 IP 时, 它首先会将 TTL=1 UDP 数据包发送给目的地的主机, 当第一个路由器收到此数据包时, 它会自动将 TTL 减少一个, 当 TTL 达到零时, 路由器会将其丢弃并同时生成 。
      当主机获得此数据发布时,将额外的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
      (系统、域名系统)是互联网上一个分布式的数据库,在域名和IP地址之间绘制地图,可以使用户更方便地使用互联网,而不必背弃机器可以直接阅读的IP数量。最终检索主机名的过程被称为主机名所涉IP地址的域名分辨率(或主机名分辨率)。

      八. TCP连接的建立和终止

      1.三次握手

      在TCP/IP协议中,TCP协议提供了可靠的连接服务,通过三次握手启动,这三次握手是为了在双方之间同步和交换序列号和确认号。
      TCP 窗口的大小 。

      图片

      第一个握手方式是建立连接。 客户提交了连接请求信息, 以定位 SYN 1, 命令
      数字为 x, 客户端在服务器确认前进入 SYN_ SEND 状态 。

      第二手握手:服务器接收客户端的SYN信息,其中要求确认SYN报告,并将Acnowlaging number改为x+1(序列号+1);同时,服务器必须发送自己的SYN请求信和位置SYN至1。
      服务器将上述所有信息存储在一个条目中(即当服务器进入 SYN_RECV 状态时,它将SYN+ACK 条目传送给客户端 。

      第三手握:客户从服务器接收SYN+ACK信号,然后是致谢。
      将数字设置为y+1,并将ACK信息传送到服务器,结果客户端和服务器都进入了既定状态,并完成了3次TCP握手。

      为什么要三次握手?

      发生错误是为了防止未实现的连接请求段被意外地重新传送到服务端 。

      举了一个具体的例子,在第一个连接请求没有丢失的情况下,“取消连接请求”,而是在网络节点长期停留,在连接发布后延迟到达服务器。 这将是一个长期失效的通道。 但是,当服务器收到中断连接请求时,人们错误地假定这是客户再次发出的新的连接请求。 向客户发出了确认信,同意建立连接。 假设不使用“三手握”方法,一旦服务器发出确认书,将立即建立新的连接。 因为客户目前没有发出建立连接的请求,它将不理会服务器的确认书,也不会将数据发送到服务器。 但是,服务器认为新的连接已经建立,并且一直在等待clit的数据。 结果是,服务器的许多资源被浪费了。 使用“三手握”方法可以防止这些现象发生。 例如,客户将无法确认服务器的连接结果。

      2.四次挥手

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

      图片

      第一个部分如下:主机1 (可以是客户端,也可以是服务器), 设置序列 。
      Alogorithm 将 FIN 消息传送给主机 2; 此时, 主机 1 进入 FIN_ WAIT_ 1 状态, 表明主机 1 没有数据可以发送到主机 2 。

      (a) 第二次分解:主机2收到了主机1发来的FIN信息,并向主机1发送了一封ACK信息,即序列号加1的确认号码;主机1输入了FIN_WAIT_2状态;主机2告知主机1,我“同意”你关闭请求。

      (a) 第三次分手:主机2向主机1发出FIN信息,请求终止连接,主机2输入LAST_ACK。

      第四次分解:主机1从主机2得到了 FIN 信息, 然后输入了 Time_ WAIT 状态; 主机2 在从主机1 接收 ACK 信息后关闭了连接; 此时,主机1 在等待 2MSL 后没有得到回应, 核实服务器端是否定期关闭, 并且主机1 也可以同样关闭连接 。

      为什么要四次分手?

      TCP协议是连接的、可靠的、以字节为基础的运输层通信协议。 TCP是一种全时复入模式,这意味着当主机1发送FIN时,它仅仅意味着没有数据可以发送和主机1通知主机2,所有数据都将交付;然而,在目前,主机1仍然可以接受主机2的数据;当主机2对ACC作出反应时,它说它知道没有数据可以发送给主机1,但主机2

      我们为什么要等2MSL?

      MSL: 最大时间长度,这是在放弃之前在网络中存在任何说明的最长时间段。
      原因有二:

      • 确定TCP协议的全时工作连接安全关闭。

      • 确保从网络中删除这一连接的重复数据部分。

      首先,如果主机1直接关闭,主机2由于IP协议或其他网络原因不可靠,没有收到主机1ACK的确定答复。 第二主机在加班后将继续发送FIN,由于主机1已经关闭,不可能找到与重新发行的FIN的连接。 因此,主机1没有立即输入CLOSED,而是保持时间WAIT,这保证了

      第二点:如果主机1指示关闭主机2,然后启动与主机2的新连接,我们无法保证这一新连接与新关闭连接的端口号不同。 也就是说, 新的和旧连接的端口号可能是一样的。 一般来说没有问题, 但有特殊情况: 假设新连接与关闭的旧连接端口号相同, 如果以前连接的某些数据仍留在网络中, 延迟数据只有在新连接创建后才能到达主机2, 由于新连接的端口号与旧连接相同, TCP 协议认为延迟的数据是新的, 从而将数据包与真正的新连接混淆。 所以 TCP 连接要等待时间- WAIT 状态的MSL 两次, 这将确保连接的所有数据都从网络中删除。

      九、TCP流量控制

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

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

      设置 A 向 B 发送数据。 连接建立后, B 告知 A, “ 我的接收窗口是 Rwnd = 400 。 ”
      因此,发件人的发件人的发件窗口不能超过收件人接收窗口的价值。请注意, TCP 窗口单位是字节,不是报告字段。假设每份报告的长度为100比特,数据报告序号的起始值定为1。

      图片

      如图所示, B 实施了三个流量控制 。 窗口第一次降为 Rwnd = 300, 第一次降为 rwnd = 300, 第二次降为 rwnd = 100, 最后一次降为 rwnd = 0, 主机 B 重新发布新窗口值之前, 发送者被暂停 。 ACK = 1 已设置在 B 发送给 A 的所有三份报告中, 数字字段只有在 ACK = 1 时验证才具有意义 。

      TCP 设置每个连接的连续计时器( 持久性计时器) 。 只要 TCP 连接方收到对方零窗口的通知, 就会使用连续计时器。 当连续计时器指定的时间过期时, 就会发送零窗口控制电文( 包含 1 字节数据 ), 而接收此电文的当事人会重新设置连续计时器 。

      十、TCP拥塞控制

      一. 缓发和避免抽搐

      发件人保持 cwnd( 默认窗口) 打开 。
      凝聚窗口的大小取决于网络凝聚和动态变化的程度。发件人使自己的发件人窗口能够凝聚窗口。

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

      慢开始算法:

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

      当您开始发送信件时, 通常您必须在 cwnd 窗口中插入 。
      设置最大报告段落 MSS 值。 收到新段落确认后, 浓度窗口将被添加到最多一个 MMS 的值中。 使用此方法的 cwnd 逐步建立发送器压缩窗口
      这将降低向网络注入集群的速度。

      图片

      压缩窗口 cwnd 每次传输方向盘通过, 压缩窗口 cwnd 就会加倍 。 传输方向盘通过的时间实际上是 RTT 返回的时间 。
      另一方面,“传输轮”则更侧重于传送经授权由cwnd在压缩窗口中连续传送的信息片段,并获得对发送的最后字节的确认。

      此外,“慢”并不意味着 cwnd 增长缓慢,而是在TCP 开始发送信息时设定 cwnd=1, 使发件人能够首先发送一个段落(测试网络的拥堵),然后逐渐提高 cwnd。

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

      • 当 cwnd < ssthresh 时,使用上述的慢开始算法。

      • 当 cwnd > ssthresh 时,停止使用慢开始算法而改用拥塞避免算法。

      • 当 cwnd = ssthresh 时, 您可以通过使用慢启动方法和冷凝控制来避免算法 。

      拥塞避免

      与每次返回时间RTT将压缩窗口翻一番相比,在发件人的 cwnd 到 1 上加上 cwnd 逐渐提高 cwnd 。
      这种压缩窗口 cwnd 的线性增长缓慢, 远远慢于慢速启动窗口 。

      图片

      在缓慢的启动和震荡避免阶段,只要发件人判断网络正在发生震荡(根据缺乏确认),就会对缓慢的启动门进行配置,以便在发生震荡时传送。
      窗口值的半个值( 但不小于 2), 然后重置压缩窗口 cwnd 到 1 并运行慢启动程序

      目标是尽快限制网络主机组的数目,使拥堵路由器有足够的时间处理积压的排队工作。

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

      图片

      2.快重传和快恢复

      快重传

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

      图片

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

      由于M4是错误发送的信息,接收方无法确认它,根据可信赖传输的概念,接收方要么什么都不做,要么在适当的时候发送M2确认。

      但是,根据快速再传输技术的快速再传输技术,接收方必须及时提供重复的M2确认,以便:
      发件人早在第M3段时就意识到接收方没有收到M3段,发件人随后发送了M5和M6,接收方收到这两件材料后,还将多次确认M2。
      接收方发送了4次M2确认,最后3次重复确认。

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

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

      快恢复

      快速恢复方法与快速再传输同时使用,由两个主要部分组成:

      • 当发件人获得连续三次重复确认时,使用“减少倍数”机制将缓慢的起步门螺丝切成两半。

      • 慢启动和慢启动之间的区别在于,与其采用慢启动方法(即 cwnd holding window 不再设定为一个窗口 ), cwnd 值是慢启动门限制 sthresh 降低后值的一半, 紧凑避免算法 (“ 添加” ) 导致凝结窗口的线性稳步上升 。

      图片

      版权为原作者所有,如果有违反规定的情况,请联系我们,要求删除版权。

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

          热门文章

          文章分类