网络
文章平均质量分 57
wellnw
Linux/openwrt/MTK/QCA/Realtek
展开
-
【Happy Eyeballs算法】Happy Eyeballs算法及curl支持--happy-eyeballs-timeout-ms或者代码实现
对于支持双栈的网络环境下,当访问一个网站时,会同时发起 AAAA 和 A 的 DNS 查询请求,并对获取的结果进行排列,优先 Ipv6 ,然后进行 Ipv6 的链接尝试,在大概 200ms 后如果链接不通,立即启用下一个 ip 的链接请求,一般就是 Ipv4 了。在这种场景下,就不要担心由于 Ipv6 的网络连通性比较差而导致站点无法访问了,即使在当前国内各运营商 Ipv6 连通性比较差的情况下,多的就是一个大概 200ms 的延迟,跟拒绝服务比起来,还算能接受。通过 DNS 的 AAAA 解析获取到了。原创 2023-04-23 17:02:25 · 1119 阅读 · 0 评论 -
Linux下网络地址转换函数inet_pton和inet_ntop使用举例
Linux下网络地址转换函数inet_pton和inet_ntop使用举例原创 2022-11-18 18:12:35 · 619 阅读 · 0 评论 -
【计算机网络自顶向下方法】网络层安全:IPsec和虚拟专用网
网关路由器将经典的IPv4转换成为IPsec数据报,然后将该IPsec数据报转发进因特网。该IPsec数据报实际上具有传统的IPv4首部,因此在公共因特网中的路由器处理该数据报,仿佛它对路由器而言是一个普通的IPv4数据报。IPsec数据报的载荷包括了一个IPsec首部,该首部被用于IPsec处理;此外,IPsec数据报的载荷是被加密的。当该IPsec数据报到达便携机时,便携机的操作系统解密载荷(并提供其他安全服务,如验证数据完整性),并将解密的载荷传递给上层协议(例如,给TCP或UDP) 。.原创 2022-06-18 10:48:21 · 396 阅读 · 0 评论 -
【计算机网络自顶向下方法】Web页面请求的历程
场景描述一名学生将他的便携机与学校的以太网交换机相 连,下载一个Web页面(如www. google, com)。步骤第一步:获取IP地址(DHCP、UDP、IP和以太网)首先将便携机与网络连接时,没有IP地址就不能做任何事情。所以,便携机所采取的一个网络相关的动作是运行DHCP协议, 以从本地DHCP服务器获得一个IP地址以及其他信息。1)便携机上的操作系统生成一个DHCP请求报文,并将这个报文放入具有目的端口 67 (DHCP服务器)和源端口...原创 2022-03-16 19:49:04 · 3997 阅读 · 0 评论 -
【计算机网络自顶向下方法】虚拟局域网(Virtula Local Network, VLAN)
局域网的缺点缺乏流量隔离尽管该等级结构把组流量局域化到一个单一交换机中,但广播流 (例如携带ARP和DHCP报文或那些目的地还没有被自学习交换机学习到的 帧)仍然必须跨越整个机构网络。限制这些广播流量的范围将改善局域网的性能。 也许更为重要的是,为了安全/隐私的目的也可能希望限制局域网广播流量。如果一个组包括公司的行政管理团队,另一个组包括运行着Wireshark分组嗅 探器的心怀不满的雇员,网络管理员也许非常希望行政流量无法到达该雇员的主 机。通过用路由器代替中心交换机,能够提供这种类型的隔离。我原创 2022-03-16 09:27:53 · 258 阅读 · 0 评论 -
【计算机网络自顶向下方法】链路层交换机
链路层交换机交换机的任务是接收入链路层帧并将它们转发出链路。交换机自身对子网中的主机和路由器是透明的(transparent),这就是说,某主机/路由器向另一个主机/路由器寻址一个帧(而不是向交换机寻址该帧),顺利地将该帧发送进局域网,并不知道某交换机将会接收该帧并将它转发到另一个节点。这些 帧到达该交换机的任何输岀接口之一的速率可能暂时会超过该接口的链路容量。为了解决 这个问题,交换机输出接口设有缓存,这非常类似于路由器接口为数据报设有缓存。交换机转发和过滤过滤...原创 2022-03-12 11:58:05 · 3333 阅读 · 0 评论 -
【计算机网络自顶向下方法】以太网帧结构
以太网帧传输考虑从一台主机向另一台主机发送一个 IP数据报,且这两台主机在相同的以太局域网上,发送适配器在一个以太网帧中封装 了一个IP数据报,并把该帧传递到物理层。接收适配器从物理层收到这个帧,提取岀IP 数据报,并将该IP数据报传递给网络层。以太网帧结构前同步码前同步码(8字节)。以太网帧以一个8字节的前同步码(Preamble)字段开始。 该前同步码的前7字节的值都是10101010;最后一个字节是10101011。前同步码 字段的前7字节用于“...原创 2022-03-12 11:20:17 · 3813 阅读 · 1 评论 -
【计算机网络自顶向下方法】地址解析协议(ARP)
MAC地址事实上,并不是主机或路由器具有链路层地址,而是它们的适配器(即网络接口)具 有链路层地址。因此,具有多个网络接口的主机或路由器将具有与之相关联的多个链路层 地址,就像它也具有与之相关联的多个IP地址一样。然而,重要的是注意到链路层交换 机并不具有与它们的接口(这些接口是与主机和路由器相连的)相关联的链路层地址。这 是因为链路层交换机的任务是在主机与路由器之间承载数据报;交换机透明地执行该项任 务,这就是说,主机或路由器不必明确地将帧寻址到其间的交换机。链路层地址有各种不同的称呼...原创 2022-03-04 09:03:33 · 1806 阅读 · 0 评论 -
【计算机网络自顶向下方法】主机和路由器接口除了网络层地址之外还有MAC地址原因(保持各层独立性)
保持各层独立首先, 局域网是为任意网络层协议而设计的,而不只是用于IP和因特网。如果适配器被指派 [P地址而不是“中性的” MAC地址的话,则适配器将不能够方便地支持其他网络层协 议其次,如果适配器使用网络层地址而不是MAC地址的 话,网络层地址必须存储在适配器的RAM中,并且在每次适配器移动(或加电)时要重新配置。另一种选择是在适配器中不使用任何地址,让每个适配器将它收到的每帧数据(通常是IP数据报)沿协议栈向上传递。然后网络层则能够核对网络地址层是否匹配。这种选择...原创 2022-03-02 08:55:24 · 392 阅读 · 0 评论 -
【计算机网络自顶向下方法】多路访问链路和协议介绍
网络链路类型点对点链路和广播链路点对点链路(point to point link)由链路一端的单个发送方和链路另一端的单个接收方组成。许多链路层协议都是为点对点链路设计的,如点对点协议(point-to-point PPP)和高级数据链路控制(high-level data link control,HDLC)就是两种这样的协议。广播链路(broadcast link)它能够让多个发送和接收节点都连接到相同的、单一的、共享的广播信道上。这...原创 2022-02-27 16:40:14 · 1428 阅读 · 0 评论 -
【计算机网络自顶向下方法】差错检测和纠正技术
传输数据中检测差错的技术比特级差错检测和纠正(bit・level error detection and correction) ,即对从一个节点发送到另一个物理上连接的邻近节点的链路层帧中的比特损伤进行检测和纠正, 它们通常是链路层提供的两种服务。在传输数据中检测差错的3种技术:奇偶校验(它用来描述差错检测和纠正背后隐含的基本思想)、检验和方法(它通常更多地应用于运输层)和循环冗余检测(它通常更多地应用在适配器中的链路层)。奇偶校验也许差错检测最简...原创 2022-02-26 12:06:32 · 1927 阅读 · 0 评论 -
【计算机网络自顶向下方法】为什么运输层使用检验和而链路层使用CRC呢?
为什么运输层使用检验和而链路层使用CRC呢?运输层通常是在主机中作为用户操作系统的一部分用软件实现的。因为运输层差错检测用软件实 现,采用简单而快速如检验和这样的差错检测方案是重要的。链路层的差错检测在适配器中用专用的硬件实现,它能够快速执行更复杂的CRC操作。...原创 2022-02-17 09:16:27 · 1278 阅读 · 0 评论 -
【计算机网络自顶向下方法】链路层是在何处实现的?
链路层的主体部分是在网络适配器(network adapter)中实现的,网络适配器有时也称为网络接口卡(Network Interface Card, NIC)。位于网络适配器核心的是链路层控制器,该控制器通常是一个实现了许多链路层服务(成帧、链路接入、差错检测等)的专用芯片。因此,链路层控制器的许多功能是用硬件实现的。在发送端,控制器取得了由协议栈较高层生成并存储在主机内存中的数据报,在链路层帧中封装该数据报(填写该帧的各个字段),然后遵循链路接入协议将该帧传进通信链...原创 2022-02-15 09:43:42 · 1068 阅读 · 0 评论 -
【计算机网络自顶向下方法】链路层协议能够提供的服务
成帧(framing)在每个网络层数据报经链路传送之前,几乎所有的链路层协议都要将其用链路层帧封装起来。一个帧由一个数据字段和若干首部字段组成,其中网络层数据报就插在数据字段中。帧的结构由链路层协议规定。链路接入媒体访问控制(Medium Access Control, MAC)协议规定了帧在链路上传输的规则。对于在链路的一端仅有一个发送方、链路的另一端仅有一个接收方的点对点链路,MAC协议比较简单(或者不存在),即无论何吋链路空闲,发送方都能够发送帧。更有趣的情况是当多个节点共...原创 2022-02-15 09:25:40 · 1138 阅读 · 0 评论 -
【计算机网络自顶向下方法】简单网络管理协议(Simple Network Management Protocol)版本 2 ( SNMPv2)
SNMPv2简单网络管理协议(Simple Network Management Protocol)版本 2 ( SNMPv2) [RFC 3416]是一个应用层协议,用于在管理服务器和代表管理服务器执行的代理之间传递网络 管理控制和信息报文。SNMP最常使用的是请求响应模式,其中SNMP管理服务器向 SNMP代理发送一个请求,代理接收到该请求后,执行某些动作,然后对该请求发送一个 回答。请求通常用于查询(检索)或修改(设置)与某被管设备关联的MIB对象值。 SNMP第二个常被使用的是代...原创 2022-02-14 09:09:28 · 758 阅读 · 0 评论 -
【计算机网络自顶向下方法】ICMP(因特网控制报文协议)
ICMP由[RFC 792]定义的因特网控制报文协议(ICMP),被主机和路由器用来彼此沟通 网络层的信息。ICMP最典型的用途是差错报告。ICMP通常被认为是IP的一部分,但从体系结构上讲它位于IP之上,因为ICMP报文 是承载在IP分组中的。这就是说,ICMP报文是作为IP有效载荷承载的,就像TCP与 UDP报文段作为IP有效载荷被承载那样。类似地,当一台主机收到一个指明上层协议为 ICMP的IP数据报时(上层协议编码为1),它分解出该数据报的内容给ICMP,就像分解 岀一个数据报的内容给TCP原创 2022-02-14 08:54:14 · 551 阅读 · 0 评论 -
【计算机网络自顶向下方法】确定最好的路由
确定最好的路由因特网中的路由器常常接收到很多不同的可能路径的可达性信息。一台路由器如何 在这些路径之间进行选择(并且再相应地配置它的转发表)呢?当路由器通过BGP连接 通告前缀时,它在前缀中包括一些BGP属性(BGP attribute) 。用BGP术语来说,前缀及 其属性称为路由(route)。两个较为重要的属性是AS-PATH和NEXT HOP。AS-PATH属 性包含了通告已经通过的AS的列表,如我们在前面的例子中所见。为了生成AS-PATH的 ...原创 2022-02-11 08:50:32 · 997 阅读 · 0 评论 -
【计算机网络自顶向下方法】为什么所使用的AS间和AS内部 路由选择协议是不同的?
为什 么所使用的AS间和AS内部 路由选择协议是不同的?策略在AS之间, 策略问题起主导作用。 一个给定AS产生的流量不能穿过另 一个特定的AS,这可能非常重要。类似地,一个给定AS也许想很好地控制它承 载的其他AS之间穿越的流量。我们已看到,BGP承载了路径属性,并提供路由 选择信息的受控分布,以便能做出这种基于策略的路由选择决策。在一个AS内 部,一切都是在相同的管理控制名义下进行的,因此策略问题在AS内部选择路 由中起着微不足道的作用。规模扩展一个路由选择算法及其数据结...原创 2022-02-10 09:06:55 · 2496 阅读 · 0 评论 -
【计算机网络自顶向下方法】ISP之间的路由选择:BGP
ISP之间的路由选择:BGPOSPF是一个AS内部路由选择协议。当在相同AS内的源和目的地之间进行分组选路时,分组遵循的路径完全由AS内路由选择协议所决定。然而,当分组跨越多个AS进行路由时,我们需要一个自治系统间路由选择协议(inter-autonomous system routing protocol)。因为AS间路由选择协议涉及多个AS之间的协调,所以AS通信必须运行相同的AS间路由选择协议。在因特网中,所有的AS运行相同的AS间路由选择协议,称为边界网关协议(Broder Gateway Pr原创 2022-02-10 08:48:00 · 1123 阅读 · 0 评论 -
【计算机网络自顶向下方法】开放最短路优先(OSPF)
因特网中自治系统内部的路由选择:OSPF自治系统(Autonomous System, AS)每个AS由一组通常处在相同管理控制下的路由器组成。通常在一个ISP中的路由器以及互联它们的链路构成一个AS。在相同AS中的路由器都运行相同的路由选择算法并且有彼此的信息。在一个自治系统内运行的路由选择算法叫作自治系统内部路由选择协议(intra-autonomous system routing protocol)。开放最短路优先(OSPF)OSPF是一种链路状态协议,它...原创 2022-02-09 08:45:27 · 2534 阅读 · 0 评论 -
【计算机网络自顶向下方法】LS与DV路由选择算法的比较
DV和LS算法采用互补的方法来解决路由选择计算问题。在DV算法中,每个节点仅与它的直接相连的邻居交谈,但它为其邻居提供了从它自己到网络中(它所知道的)所有其他节点的最低开销估计。LS算法需要全局信息。因此,当在每台路由器中实现时,我们通过快速比较它们各自的属性来总结所学的链路状态与距 离向量算法。记住N是节点(路由器)的集合,而E是边(链路)的集合。 •报文复杂性。我们已经看到LS算法要求每个节点都知道网络中每条链路的开销。 这就要求要发送O(|N| |E|)个报文。而且...原创 2022-02-08 17:23:26 · 1228 阅读 · 0 评论 -
【计算机网络自顶向下方法】DV算法的运行举例
应用场合是该图顶部有三个节点的简单网络。算 法的运行以同步的方式显示出来,其中所有节点同时从其邻居接收报文,计算其新距离向 量,如果距离向量发生了变化则通知其邻居。学习完这个例子后,你应当确信该算法以异 步方式也能正确运行,异步方式中可在任意时刻出现节点计算与更新的产生/接收。该图最左边一列显示了这3个节点各自的初始路由选择表(routing table)。例如,位 于左上角的表是节点咒的初始路由选择表。在一张特定的路由选择表中,每行是一个距离向量特别是每个节点的路由选择...原创 2022-02-08 09:38:02 · 1831 阅读 · 0 评论 -
【计算机网络自顶向下方法】路由选择算法及分类
路由选择算法其目的是从发送方到接收方的过程中确定一条通过路由网络的好的路径(等价于路由)。通常一条好的路径指具有最低开销的路径。最低开销路径找出源和目的地之间具有最低开销的一条路也即是最短路径,即在源和目的地之间的具有最少链路数量的路径。路由选择算法分类第一种分类:根据该算法是集中式还是分散式来划分集中式路由选择算法(centralized routing algorithm)用完整的、全局性的网络知识计算出从源到目的地之间的最低开销路...原创 2022-02-07 15:17:30 · 2525 阅读 · 0 评论 -
【计算机网络自顶向下方法】IPv6数据报格式
IPv6数据包格式IPv6数据包格式中的变化IPv6中引入的最重要的数据变化显示在其数据报格式中扩大的地址容量IPv6将IP地址长度从32比特增加到128比特。这就确保全世界将不会用尽IP地址。除了单播与多播地址以外,IPv6还引入了一种称为任播地址(anycast address)的新型地址,这种地址可以使用数据报交付给一组主机中的任意一个。简化高效的40字节首部许多IPv4字段已经被舍弃或者作为可选项。因而所形成的40字节定长首...原创 2022-01-27 09:25:19 · 2273 阅读 · 0 评论 -
【计算机网络自顶向下方法】网络地址转换例子(NAT)
例子说明如下所示:所有离开家庭路由器流向更大因特网的报文都拥有一个源IP地址138.76.29.7,且所有进入家庭的报文都拥有同一个目的IP地址138.76.29.7。从本质上讲,NAT使能路由器对外界隐藏了家庭网络的细节。NAT数据流说明 假设一个用户在家庭网络主机10.0.0.1,请求IP地址为128.119.40.186的某台web服务器(端口号80)上的一个Web页面。主机10.0.0.1为其指派了(任意)源端口号3345并将该数据报发送到LAN中。NAT路由器收到...原创 2022-01-27 08:47:39 · 682 阅读 · 0 评论 -
【计算机网络自顶向下方法】动态主机配置协议(Dynamic Host Configuration, DHCP)
动态主机配置协议(DHCP)DHCP允许主机自动获取(被分配)一个IP地址。网络管理员能够配置DHCP,以使某给定主机每次与网络连接时能够得到一个相同的IP地址,或某个主机将被分配一个临时的IP地址(temporary IP address),每次与网络连接时该地址也许时不同的。除了主机IP地址分配外,DHCP还允许一台主机得知其他信息,例如子网掩码、它的第一跳路由器地址(常称为默认网关)与它的本地DNS服务器地址。由于DHCP具有将主机连接进一个网络的网络相关方面的自动能力,故它又常被...原创 2022-01-26 11:54:12 · 2087 阅读 · 0 评论 -
【计算机网络自顶向下方法】IPv4数据报分片
IPv4数据报分片并不是所有链路层协议都能承载相同长度的网络层分组。有的协议能承载大数据报,而有的协议只能承载小分组。比如,以太网帧能够承载不超过1500字节的数据,而某些广域网链路的帧可承载不超过576字节的数据。一个链路层帧能承载的最大数据量叫作最大传输单元(Maximum Transmission Unit,MTU)。因为每个IP数据报封装在链路层帧中从一台路由器传输到下一台路由器,故链路层协议的MTU严格地限制着IP数据报的长度。对IP数据报长度具有严格限制并不是主要问题。问题在...原创 2022-01-25 17:25:32 · 1463 阅读 · 0 评论 -
【计算机网络自顶向下方法】IPv4数据报格式
IPv4数据报格式版本(号)这4比特规定了数据报的IP协议版本,通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分。不同的IP版本使用不同的数据报格式。IPv4的数据报格式如上图所示。首部长度因为一个IPv4数据报可包含一些可变数量的选项(这些选项包括在IPv4数据报首部中),故需要用这4比特来确定IP数据报中的载荷(例如在这个数据包中被封装的运输层报文段)实际开始的地方。大多数IP数据报不包含选项,所以一般的IP数据报具有20字节的首部。服务类型服务类型(TOS)比特包原创 2022-01-25 16:06:06 · 1489 阅读 · 0 评论 -
【计算机网络自顶向下方法】网络层的数据平面和控制平面、转发与路由选择的主要区别
网络层的数据平面和控制平面数据平面网络层数据平面的功能,即网络层中每台路由器的功能,该数据平面功能决定到达路由器输入链路之一的数据报(即网络层的分组)如何转发到该路由器的输出链路之一。传统的IP转发(其中转发基于数据报的目的地址)和通用的转发(其中可以使用数据报首部中的几个不同域的值执行转发和其他功能)控制平面网络层的控制平面的功能,即网络范围的逻辑,该控制平面功能控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式。涉及到路由选择算法,以及广泛用于今天因特网中...原创 2022-01-21 14:58:32 · 2666 阅读 · 0 评论 -
【计算机网络自顶向下方法】TCP拥塞控制算法
TCP拥塞控制算法算法包括三个主要部分:慢启动、拥塞避免、快速恢复。慢启动和拥塞避免是TCP的强制部分,两者的差异在于对收到的ACK做出反应时增加cwnd长度的方式。慢启动比拥塞避免能更快地增加cwnd的长度。快速恢复是推荐部分,对TCP发送发并非是必需的。慢启动当一条TCP连接开始时,cwnd的值通常初始置为一个MSS的最小值,这就使得初始发送速率大约为MSS/RTT。例如,如果MSS=500字节且RTT=200ms,则得到的初始发送速率大约只有20kbps。由...原创 2022-01-20 10:54:02 · 1293 阅读 · 0 评论 -
【计算机网络自顶向下方法】拥塞控制方法及TCP拥塞控制
拥塞控制方法端到端拥塞控制网络层没有为运输层拥塞控制提供显式支持。即使网络中存在拥塞,端系统也必须通过对网络行为的观察来推断。网络辅助的拥塞控制路由器向发送方提供关于网络中拥塞状态的显示反馈信息。TCP拥塞控制TCP必须使用端到端拥塞控制而不是使用网络辅助的拥塞控制,因为IP层不向端系统提供显示的网络拥塞反馈。TCP所采用的方法是让每一个发送方根据所感知到的网络拥塞程度来限制其能向连接发送流量的速率。如果一个TCP发...原创 2022-01-20 10:01:42 · 1057 阅读 · 0 评论 -
【计算机网络自顶向下方法】TCP客户端连接是如何关闭的?(不考虑异常情况)
TCP客户端关闭连接 参与一条TCP连接的两个进程中的任何一个都能终止该连接。当连接结束后,主机中的资源(即缓存和变量)将被释放。假设某个客户端打算关闭连接,客户应用程序发送一个关闭连接的命令。这会引起客户TCP向服务器进程发送一个特殊的TCP报文段。这个特殊的报文段让其首部中的一个标志位即FIN比特被设置为1。当服务器接收到该报文段后,就向发送方回一个确认报文段。然后服务器发送它自己的终止报文段,其FIN比特被置为1。最后,该客户对这个服务器的终止报文...原创 2022-01-18 17:52:34 · 836 阅读 · 0 评论 -
【计算机网络自顶向下方法】一条TCP连接是如何建立的?
一条TCP连接是如何建立的?假设运行在一台主机(客户)上的一个进程想要与另一台主机(服务器)上的一个进程建立一条连接。客户应用进程首先通知客户TCP,它想建立一个与服务器上某个进程之间的连接。客户中的TCP会用以下方式与服务器中的TCP建立一条TCP连接:第一步:客户端的TCP首先向服务器端的TCP发送一个特殊的TCP报文段。该报文段中不包括应用层数据。但是在报文段的首部中的一个标志位(即SYN比特)被置为1。因此,这个特殊报文段被称为SYN报文段。...原创 2022-01-18 17:43:33 · 670 阅读 · 0 评论 -
【计算机网络自顶向下方法】TCP SYN洪泛攻击(SYN flood attack)
TCP SYN泛洪攻击 TCP连接管理协议为经典的DoS攻击即SYN泛洪攻击(SYN flood attack)提供了环境。在这种攻击中,攻击者发送大量的TCP SYN报文段,而不完成第三次握手的步骤。随着这种SYN报文段增加,服务器不断为这些半开连接分配资源(但从未使用),导致服务器的连接资源被消耗殆尽。...原创 2022-01-18 17:35:14 · 1779 阅读 · 0 评论 -
【计算机网络自顶向下方法】流量控制(接收窗口rwnd)
流量控制一条TCP连接的每一侧主机都为该连接设置了接收缓存。当该TCP连接接收到正确、按序的字节后,它就将数据放入接收缓存。相应的应用进程会从该缓存中读取数据,但不必是数据刚一到达就立即读取。事实上,接收方应用也许正忙于其他任务,甚至要过很长时间后才去读取该数据。如果某应用读取数据相对较缓慢,而发送方发送得太多、太快,发送的数据就会很容易地使该连接的接收缓存溢出。TCP为它的应用程序提供了流量控制服务(flow-control service)以消除发送方使接收方缓存溢...原创 2022-01-18 10:08:34 · 2319 阅读 · 0 评论 -
【计算机网络自顶向下方法】TCP接收方ACK生成策略
事件 TCP接收方动作 具有所期望序号的按序报文段到达。所有在期望序号以及以前的数据都已被确认 延迟的ACK,对另外一个按序报文段的到达最多等待500ms 如果下一个按序报文段在这个时间间隔内没有到达,则发送一个ACK 具有所期望序号的按序报文段到达。另一个按序报文段等待ACK传输 立即发送单个累积ACK,以确认两个按序报文段 比期望序号大的失序报文段到达。检测出间隔 立即发送冗余ACK,指示下一个期待字节的序号(其为间隔的低端的序号) 能部分或者完全...原创 2022-01-17 09:50:21 · 864 阅读 · 0 评论 -
【计算机网络自顶向下方法】接收方为什么会发送冗余ACK?
当TCP接收方收到一个具有这样序号的报文段时,即其序号大于下一个所期望的、按序的报文段,它检测到了数据流中的一个间隔,这就是说有报文段丢失。这个间隔可能是由于网络中报文段丢失或者重新排序造成的。因为TCP不适用否定确认,所以接收方不能向发送方回一个显示的否定确认。相反,它只是对已经接收到的最后一个按序字节数据进行重复确认(即产生一个冗余ACK)即可。 ...原创 2022-01-17 09:46:59 · 670 阅读 · 0 评论 -
【计算机网络自顶向下方法】TCP可靠数据传输(超时间隔、快速重传、回退N步or选择重传)
可靠数据传输因特网的网络层服务(IP服务)是不可靠。IP不保证数据报的交付,不保证数据报的按序交付,也不保证数据报中数据的完整性。对于IP服务,数据报能够溢出路由器缓存而永远不能到达目的地,数据报也可能是乱序到达,而且数据报中的比特可能损坏(由0变为1或者相反)。由于运输层报文段是被IP数据报携带着在网络中传输的,所以运输层的报文段也会遇到这些问题。TCP在IP不可靠的尽力而为服务之上创建了一种可靠数据传输服务(reliable data transfer servic...原创 2022-01-17 09:45:37 · 1700 阅读 · 0 评论 -
【计算机网络自顶向下方法】往返时间评估(EstimatedRTT和DevRTT)和超时间隔(TimeoutInterval )
往返时间评估超时间隔必须大于该连接的往返时间(RTT),即从一个报文段发出到它被确认的时间,否则会造成不必要的重传。报文段的样本RTT(表示为SampleRTT)就是从某报文段被发出(即交给IP)到对该报文段的确认被收到之间的时间量。大多数TCP的实现仅在某个时刻做一次SampleRTT测量,而不是为每个发送的报文段测量一个SampleRTT。也即是说,在任意时刻,仅为一个已发送的但目前尚未被确认的报文段估计SampleRTT,从而产生一个接近每个RTT的新SampleRTT值。另外,...原创 2022-01-10 09:36:14 · 4885 阅读 · 0 评论 -
【计算机网络自顶向下方法】序号和确认号的一个学习案例(Telnet)
Telnet Telnet是一个用于远程登录的流行应用层协议。它运行在TCP之上,被设计成可在任意一对主机之间工作,它是一个交互式应用。Telnet可以很好的阐述TCP的序号与确认号。但是由于Telnet连接中发送的数据是没有加密的,所以易于被窃听攻击一个经TCP的简单Telnet应用的确认号和序号如上所示:假设客户和服务器的其实序号分别是42和79,一个报文段的序号就是该报文段数据字段首字节的序号。因此,客户发送的第一个报文段的序号为42,...原创 2022-01-04 11:17:41 · 1610 阅读 · 20 评论