精华内容
下载资源
问答
  • 2022-02-22 20:31:28
    1. 应用数据被分割成 TCP 认为最适合发送的数据块。
    2. TCP 给发送的每一个包进行编号,接收方对数据包进行排序,把有序数据传送给应用层。
    3. 校验和: TCP 将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报文段和不确认收到此报文段。
    4. TCP 的接收端会丢弃重复的数据。
    5. 流量控制: TCP 连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。TCP 使用的流量控制协议是可变大小的滑动窗口协议。 (TCP 利用滑动窗口实现流量控制)
    6. 拥塞控制: 当网络拥塞时,减少数据的发送。
    7. ARQ协议: 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
    8. 超时重传: 当 TCP 发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。

    滑动窗口和流量控制

    TCP 利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率,保证接收方来得及接收。 接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为 0,则发送方不能发送数据。

    拥塞控制

    在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏。这种情况就叫拥塞。拥塞控制就是为了防止过多的数据注入到网络中,这样就可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机,所有的路由器,以及与降低网络传输性能有关的所有因素。相反,流量控制往往是点对点通信量的控制,是个端到端的问题。流量控制所要做到的就是抑制发送端发送数据的速率,以便使接收端来得及接收。

    • 为了进行拥塞控制,TCP 发送方要维持一个 拥塞窗口(cwnd)
      的状态变量。拥塞控制窗口的大小取决于网络的拥塞程度,并且动态变化。发送方让自己的发送窗口取为拥塞窗口和接收方的接受窗口中较小的一个。

    TCP的拥塞控制采用了四种算法,即 慢开始拥塞避免快重传快恢复。在网络层也可以使路由器采用适当的分组丢弃策略(如主动队列管理 AQM),以减少网络拥塞的发生。

    • 慢开始: 慢开始算法的思路是当主机开始发送数据时,如果立即把大量数据字节注入到网络,那么可能会引起网络阻塞,因为现在还不知道网络的符合情况。经验表明,较好的方法是先探测一下,即由小到大逐渐增大发送窗口,也就是由小到大逐渐增大拥塞窗口数值。cwnd初始值为1,每经过一个传播轮次,cwnd加倍。
    • 拥塞避免: 拥塞避免算法的思路是让拥塞窗口cwnd缓慢增大,即每经过一个往返时间RTT就把发送放的cwnd加1.
    • 快重传与快恢复:
      在 TCP/IP 中,快速重传和恢复(fast retransmit and recovery,FRR)是一种拥塞控制算法,它能快速恢复丢失的数据包。没有 FRR,如果数据包丢失了,TCP 将会使用定时器来要求传输暂停。在暂停的这段时间内,没有新的或复制的数据包被发送。有了 FRR,如果接收机接收到一个不按顺序的数据段,它会立即给发送机发送一个重复确认。如果发送机接收到三个重复确认,它会假定确认件指出的数据段丢失了,并立即重传这些丢失的数据段。有了 FRR,就不会因为重传时要求的暂停被耽误。  当有单独的数据包丢失时,快速重传和恢复(FRR)能最有效地工作。当有多个数据信息包在某一段很短的时间内丢失时,它则不能很有效地工作。

    ARQ协议

    自动重传请求(Automatic Repeat-reQuest,ARQ)是OSI模型中数据链路层和传输层的错误纠正协议之一。它通过使用确认和超时这两个机制,在不可靠服务的基础上实现可靠的信息传输。如果发送方在发送后一段时间之内没有收到确认帧,它通常会重新发送。ARQ包括停止等待ARQ协议连续ARQ协议

    停止等待ARQ协议

    停止等待协议是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认(回复ACK)。如果过了一段时间(超时时间后),还是没有收到 ACK 确认,说明没有发送成功,需要重新发送,直到收到确认后再发下一个分组。

    在停止等待协议中,若接收方收到重复分组,就丢弃该分组,但同时还要发送确认。

    优缺点:

    • 优点: 简单
    • 缺点: 信道利用率低,等待时间长

    1) 无差错情况:

    发送方发送分组,接收方在规定时间内收到,并且回复确认.发送方再次发送。

    2) 出现差错情况(超时重传):

    停止等待协议中超时重传是指只要超过一段时间仍然没有收到确认,就重传前面发送过的分组(认为刚才发送过的分组丢失了)。因此每发送完一个分组需要设置一个超时计时器,其重传时间应比数据在分组传输的平均往返时间更长一些。这种自动重传方式常称为 自动重传请求 ARQ 。另外在停止等待协议中若收到重复分组,就丢弃该分组,但同时还要发送确认。连续 ARQ 协议 可提高信道利用率。发送维持一个发送窗口,凡位于发送窗口内的分组可连续发送出去,而不需要等待对方确认。接收方一般采用累积确认,对按序到达的最后一个分组发送确认,表明到这个分组位置的所有分组都已经正确收到了。

    3) 确认丢失和确认迟到

    • 确认丢失 :确认消息在传输过程丢失。当A发送M1消息,B收到后,B向A发送了一个M1确认消息,但却在传输过程中丢失。而A并不知道,在超时计时过后,A重传M1消息,B再次收到该消息后采取以下两点措施:1. 丢弃这个重复的M1消息,不向上层交付。 2. 向A发送确认消息。(不会认为已经发送过了,就不再发送。A能重传,就证明B的确认消息丢失)。
    • 确认迟到 :确认消息在传输过程中迟到。A发送M1消息,B收到并发送确认。在超时时间内没有收到确认消息,A重传M1消息,B仍然收到并继续发送确认消息(B收到了2份M1)。此时A收到了B第二次发送的确认消息。接着发送其他数据。过了一会,A收到了B第一次发送的对M1的确认消息(A也收到了2份确认消息)。处理如下:1. A收到重复的确认后,直接丢弃。2. B收到重复的M1后,也直接丢弃重复的M1。

    连续ARQ协议

    连续 ARQ 协议可提高信道利用率。发送方维持一个发送窗口,凡位于发送窗口内的分组可以连续发送出去,而不需要等待对方确认。接收方一般采用累计确认,对按序到达的最后一个分组发送确认,表明到这个分组为止的所有分组都已经正确收到了。

    优缺点:

    • 优点: 信道利用率高,容易实现,即使确认丢失,也不必重传。
    • 缺点: 不能向发送方反映出接收方已经正确收到的所有分组的信息。 比如:发送方发送了 5条 消息,中间第三条丢失(3号),这时接收方只能对前两个发送确认。发送方无法知道后三个分组的下落,而只好把后三个全部重传一次。这也叫 Go-Back-N(回退 N),表示需要退回来重传已经发送过的 N 个消息。
    更多相关内容
  • TCP的不可靠传输

    千次阅读 2022-05-11 21:50:50
    数据传输只有两个协议可选(这里抬杠),TCP或UDP,对于那些某些数据可以丢失某些却必须送达的传输业务而言,就要在UDP上重写一个协议,可理解为松散可靠传输。实现这种协议工作量小,收益却不大。 so,人们往往...

    一个常见的面试题:UDP如何实现可靠传输。

    既然有TCP了,干嘛用UDP重新实现一遍,就算非要卷,能比QUIC更好吗?显然,这问题没意义。

    还有另一个问题,TCP如何实现不可靠传输。

    数据传输只有两个协议可选(这里不抬杠),TCP或UDP,对于那些某些数据可以丢失某些却必须送达的传输业务而言,就要在UDP上重写一个协议,可理解为松散可靠传输。实现这种协议工作量不小,收益却不大。

    so,人们往往选择复用TCP,当然也继承了TCP的缺陷,如队头拥塞,而这是大多数卡顿,传输低效的根源。换句话说,TCP根本就无法实现柔性降级有损传输。

    人们有几百种激进重传方案来“优化”TCP,企图快速消除队头拥塞,却没人想到对丢包宽容,而将重传作为兜底的能力,仅对那些不允许丢弃的数据重传。

    为什么不迭代TCP增加松散传输能力呢?

    为TCP赋予一个新的能力,而不是重新实现一个新协议,这是我的想法。不要总拿TCP升级麻烦说事,相比重新实现部署新协议,升级协议更划算。

    从端到端原则看分层模型,越上层离端越近,端到端原则倾向于写更多端代码,让业务逻辑发散,底层的传输能力应尽力收敛,避免冗余。

    若重新实现松散可靠传输,其中可靠传输部分和TCP就是冗余的,冗余将带来维护成本。

    要组合小功能,不要实现大逻辑。

    这方面的一个反例是QUIC,QUIC重新实现了可靠传输,是典型推倒重来的案例。所有需要可靠传输的业务不得不在TCP和QUIC二选一,一旦选择一个,意味着将彻底放弃另一个的迭代收益。即便全部选择QUIC,TCP存量与QUIC加起来的维护成本依然不可小觑。

    该说的都说了,大致意思和前面那篇一致,不要再加一个层了,而是迭代逻辑:
    TCP与移动性

    对于松散可靠传输,具体做法不难:

    • 应用自己决定数据是否可丢弃。
    • 将应用的决定落实到TCP头的flag。
    • 新增option追踪可丢弃数据序列号和长度。
    • 接收端根据flag决定是否对gap回复ACK。

    下图展示的更具体些:
    在这里插入图片描述

    这个迭代并非仅实现松散可靠传输,还有新玩法,它将足够的传输策略的控制权交给了应用。

    应用可自己做FEC,在丢包率高或延时敏感时尽可能将数据标记为可丢弃,TCP便可在弱网中尽力传输了。在丢包率低或延迟不敏感时,可加大重传力度而减少FEC。根据D2标志位依然可以像往常一样进行速率采样进行拥塞控制。

    万事切换自如。

    迭代TCP而不实现新协议还有个很重要原因,中间节点对TCP更友好。此类中间节点包括状态防火墙,NAT网关等中间节点实现复杂功能虽违背端到端原则,但现实中它们存在即合理,若大规模部署QUIC,是否升级中间设备就是必须考虑的事,迭代TCP只需在端到端修改协议实现,这件事本身反而揭露了端到端原则的本质。

    昨晚跟同事聊关于面试题的选择,聊到了几个可玩性比较好的面试题,比如问socket调用3个参数的意义,比如select第一个参数最大值为什么是1024(先问是不是,再问为什么),比如80行代码实现贪吃蛇,比如单链表逆转或者单词逆序,再比如如何UDP实现可靠传输,不过最后这个问题不好玩,好玩的是另一个,如何用TCP实现不可靠传输。居家办公,时间灵活,作文以记之。
    浙江温州皮鞋湿,下雨进水不会胖。

    展开全文
  • UDP可靠传输协议(QUIC)

    千次阅读 2021-11-20 20:08:47
    可靠性机制 ACK机制 重传机制 ARQ协议的三种模式 (1) 即停等式ARQ : 等待ACK, 规定事件内没有收到对面ACK,则重传该帧 (2) 回退n帧ARQ : 等待对面ACK,每个包存在生命周期,生命结束之前没有收到ACK,则回退...

    UDP与TCP对比

    在这里插入图片描述
    在这里插入图片描述TCP可能出现粘包分包
    UDP不可能,且一帧数据必须一次性读完,否则将丢失未读部分

    可靠性机制

    ACK机制

    也就回应机制,每次收到一个包都回给予一次ack,让发送方知道对方已经接收到

    重传机制

    ARQ协议的三种模式
    (1) 即停等式ARQ : 等待ACK, 规定事件内没有收到对面ACK,则重传该帧
    在这里插入图片描述

    (2) 回退n帧ARQ : 不等待对面ACK,每个包存在生命周期,生命结束之前没有收到ACK,则回退到该该包重新发包(错误帧之后的包已经发送过,任然需要重新发送
    在这里插入图片描述

    (3) 选择性重传ARQ : 不等待对面ACK,每个包存在生命周期,生命结束之前没有收到ACK,不需要回退到该该包重新发包, 仅需重发该包
    在这里插入图片描述

    流控控制

    控制发送方发送速率,以防止收件方读取数据不及时,造成缓存满后丢弃数据包
    (1) 收件方告知发送方缓存剩余空间,以便于发件方控制发送速率
    (2) 如果发件方因为对方缓存已满而停止发送,则需要收件方适时通知发件方开发送
    4. 拥塞控制
    (1) 慢启动 :网络拥塞之后,尝试从少数包开始发送,逐渐按指数增长发送包,直到包数恢复到正常数量(因为带宽越来越大,该方案已废弃)
    (2) 快恢复 : 网络拥塞之后,尝试从半数的包开始发送,逐次增多

    序号机制

    重排机制

    窗口机制

    UDP可靠性设计

    UDP窗口流控

    KCP(出于实时性考虑)

    1. RTO翻倍
      TCP超时计算为RTO时间不断翻倍
      KCP中超时计算为RTO时间不断乘以1.5(经验值,试验证明该值较好)

    2. 重传机制
      TCP使用回退N帧ARQ机制(全部重传)
      KCP使用选择性重传ARQ机制

    3. 快速重传
      出现跳包现象(接收方收到的包是不连续的,多个中间包缺失),此时不考虑RTO,优化丢包时候的传输效率

    4. ACK延迟
      TCP为了更好的利用宽带,延迟发送ACK,如此RRT时间较大
      KCP中可以设置是否延迟

    5. ACK、UNA
      5.1 解释UNA: 比如UNA 3,则表示告知sender,包0、1、2都已经收到,这个时候sender将释放掉包0、1、2,后续如果需要重传,这三个包也不会进入重传队列,
      5.2 KCP是ACK+UNA机制
      5.3 TCP是二选一

    6. 非退让流控
      TCP使用公平退让法则(发送窗口大小决定因素:发送缓存大小,接收端剩余缓存大小,丢包退让,慢启动),
      KCP可以配置跳过丢包退让以及慢启动,使得及时性更加强大

    7. 代码路径:https://github.com/skywind3000/kcp
      上面对于KCP讲解不太清除的可以前往github上学习,再readme中对于优化的性能部分做了很详细的讲解。
      在这里插入图片描述

    在这里插入图片描述8. KCP代码架构
    在这里插入图片描述

    QUIC

    简述

    1. 快速UDP网络连接
    2. Google提出的实验性网络传输协议
    3. 位于OSI网络模型传输层
    4. 用户态基于UDP实现的传输层
    5. 旨在解决TCP协议的缺陷并最终替代TCP协议,减少数据传输,降低连接建立延迟时间,加快网页传输速度
    6. 文档连接:https://quicwg.org/base-drafts/rfc9000.html

    优点

    1. 灵活的拥塞控制机制(可自我实现,也可以决定是否使用)
    2. 无队头阻塞(每个stream分别独立,不互相影响)
    3. 可轻易实现数据迁移(切换网络环境后,不需要重新连接,继续之前的连接通道继续传输数据)
    4. 包头需要身份验证,包内数据加密,安全性方面比TLS有过之而无不及
    5. FEC向前纠错

    缺点

    1. 放入内核影响大,所有系统都要更新
    2. 路由器、防火墙、还有很多中间设备都需要改

    报文格式

    其中Connection ID为连接号,可以减少三次握手四次挥手的次数
    在这里插入图片描述在这里插入图片描述Frame Type:

    1. bit01: stream ID长度
    2. bit234: offset长度
    3. bit5 : 有无Data Length字段
    4. bit6: 指示该stream通道上 是否已结束发送数据,是否处于半关闭状态
    5. bit7: 标识该帧是否为stream帧

    Stream ID 一个UDP通道上可以存在多个Stream流, 每个流中的报文的完整性相互独立,以此减少异常时候,回退的帧数

    建立低时延

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

    展开全文
  • 几种常用的网络传输协议

    千次阅读 2019-10-07 10:36:08
    保持SNMP的独立性,依赖于具体的计算机、网关和网络传输协议。在最近的改进中,又加入了保证SNMP体系本身安全性的目标。  OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway...

    一、OSI模型

    名称            层次                功能

    物理层          1               实现计算机系统与网络间的物理连接(网线)

    数据链路层   2               进行数据打包与解包,形成信息帧

    网络层          3               提供数据通过的路由(路由器、交换机)

    传输层          4               提供传输顺序信息与响应(TCP、UDP)

    会话层          5               建立和中止连接(避免用户去调用TCP和UDP)

    表示层          6               数据转换、确认数据格式(linux和window等系的差异)

    应用层          7               提供用户程序接口(HTTP、FTP等)

    二、协议层次

    网络中常用协议以及层次关系

    1、 进程/应用层的协议

    平时最广泛的协议,这一层的每个协议都由客程序和服务程序两部分组成。程序通过服务器与客户机交互来工作。常见协议有:Telnet、FTP、SMTP、HTTP、DNS等。

    Telnet:对应Windows系统中的telnet指令,可以用于在本地调用另一台电脑上的程序

    FTP:文件传输协议

    SMTP:简单邮件传输协议,是在网络上传输邮件的标准。

    HTTP:超文本传输协议,广泛应用于网页请求。

    DNS:域名解析协议.

    2、 传输层协议

    建立并且维护连接,用于保证主机间数据传输的安全性。这一层主要有两个协议:

    TCP(Transmission Control Protocol:传输控制协议;面向连接,可靠传输

    UDP(User Datagram Protocol):用户数据报协议;面向无连接,不可靠传输

    3、 Internet层协议

    负责数据的传输,在不同网络和系统间寻找路由,分段和重组数据报文,另外还有设备寻址。网络层包括如下协议:

    IP(Internet Protocol):Internet协议,负责TCP/IP主机间提供数据报服务,进行数据封装并产生协议头,TCP与UDP协议的基础。

    ICMP(Internet Control Message Protocol):Internet控制报文协议。ICMP协议其实是IP协议的的附属协议,IP协议用它来与其它主机或路由器交换错误报文和其它的一些网络情况,在ICMP包中携带了控制信息和故障恢复信息。

    ARP(Address Resolution Protocol)协议:地址解析协议。

    RARP(Reverse Address Resolution Protocol):逆向地址解析协议。

    OSI 全称(Open System Interconnection)网络的OSI七层结构
    (1)物理层——Physical 
    这是整个OSI参考模型的最底层,它的任务就是提供网络的物理连接。所以,物理层是建立在物理介质上(而不是逻辑上的协议和会话),它提供的是机械和电气接口。主要包括电缆、物理端口和附属设备,如双绞线、同轴电缆、接线设备(如网卡等)、RJ-45接口、串口和并口等在网络中都是工作在这个层次的。 
    物理层提供的服务包括:物理连接、物理服务数据单元顺序化(接收物理实体收到的比特顺序,与发送物理实体所发送的比特顺序相同)和数据电路标识。

    (2)数据链路层——DataLink 
    数据链路层是建立在物理传输能力的基础上,以帧为单位传输数据,它的主要任务就是进行数据封装和数据链接的建立。封装的数据信息中,地址段含有发送节点和接收节点的地址,控制段用来表示数据连接帧的类型,数据段包含实际要传输的数据,差错控制段用来检测传输中帧出现的错误。 
    数据链路层可使用的协议有SLIP、PPP、X.25和帧中继等。常见的集线器和低档的交换机网络设备都是工作在这个层次上,Modem之类的拨号设备也是。工作在这个层次上的交换机俗称“第二层交换机”。 
    具体讲,数据链路层的功能包括:数据链路连接的建立与释放、构成数据链路数据单元、数据链路连接的分裂、定界与同步、顺序和流量控制和差错的检测和恢复等方面。简单的说就是规定了几个位或几个字节表示一个数据.

    (3)网络层——Network 
    网络层属于OSI中的较高层次了,从它的名字可以看出,它解决的是网络与网络之间,即网际的通信问题,而不是同一网段内部的事。网络层的主要功能即是提供路由,即选择到达目标主机的最佳路径,并沿该路径传送数据包。除此之外,网络层还要能够消除网络拥挤,具有流量控制和拥挤控制的能力。网络边界中的路由器就工作在这个层次上,现在较高档的交换机也可直接工作在这个层次上,因此它们也提供了路由功能,俗称“第三层交换机”。 
    网络层的功能包括:建立和拆除网络连接、路径选择和中继、网络连接多路复用、分段和组块、服务选择和流量控制。

    (4)传输层——Transport 
    传输层解决的是数据在网络之间的传输质量问题,它属于较高层次。传输层用于提高网络层服务质量,提供可靠的端到端的数据传输,如常说的QoS就是这一层的主要服务。这一层主要涉及的是网络传输协议,它提供的是一套网络数据传输标准,如TCP协议。 
    传输层的功能包括:映像传输地址到网络地址、多路复用与分割、传输连接的建立与释放、分段与重新组装、组块与分块。 
    根据传输层所提供服务的主要性质,传输层服务可分为以下三大类: 
    A类:网络连接具有可接受的差错率和可接受的故障通知率(网络连接断开和复位发生的比率),A类服务是可靠的网络服务,一般指虚电路服务。 
    C类:网络连接具有不可接受的差错率,C类的服务质量最差,提供数据报服务或无线电分组交换网均属此类。 
    B类:网络连接具有可接受的差错率和不可接受的故障通知率,B类服务介于A类与C类之间,在广域网和互联网多是提供B类服务。

    网络服务质量的划分是以用户要求为依据的。若用户要求比较高,则一个网络可能归于C型,反之,则一个网络可能归于B型甚至A型。例如,对于某个电子邮件系统来说,每周丢失一个分组的网络也许可算作A型;而同一个网络对银行系统来说则只能算作C型了。

    (5)会话层——Senssion 
    会话层利用传输层来提供会话服务,会话可能是一个用户通过网络登录到一个主机,或一个正在建立的用于传输文件的会话。 
    会话层的功能主要有:会话连接到传输连接的映射、数据传送、会话连接的恢复和释放、会话管理、令牌管理和活动管理。

    (6)表示层——Presentation 
    表示层用于数据管理的表示方式,如用于文本文件的ASCII和EBCDIC,用于表示数字的1S或2S补码表示形式。如果通信双方用不同的数据表示方法,他们就不能互相理解。表示层就是用于屏蔽这种不同之处。 
    表示层的功能主要有:数据语法转换、语法表示、表示连接管理、数据加密和数据压缩。

    (7)应用层——Application 
    这是OSI参考模型的最高层,它解决的也是最高层次,即程序应用过程中的问题,它直接面对用户的具体应用。应用层包含用户应用程序执行通信任务所需要的协议和功能,如电子邮件和文件传输等,在这一层中TCP/IP协议中的FTP、SMTP、POP等协议得到了充分应用。 
    SNMP(Simple Network Management Protocol,简单网络管理协议)的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB:体系结构,改进后的协议就是著名的SNMP。SNMP的目标是管理互联网Internet上众多厂家生产的软硬件平台,因此SNMP受Internet标准网络管理框架的影响也很大。现在SNMP已经出到第三个版本的协议,其功能较以前已经大大地加强和改进了。

    SNMP的体系结构是围绕着以下四个概念和目标进行设计的:保持管理代理(agent)的软件成本尽可能低;最大限度地保持远程管理的功能,以便充分利用Internet的网络资源;体系结构必须有扩充的余地;保持SNMP的独立性,不依赖于具体的计算机、网关和网络传输协议。在最近的改进中,又加入了保证SNMP体系本身安全性的目标。 
    OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议。
    RIP(Routing information Protocol)是应用较早、使用较普遍的内部网关协议(Interior Gateway Protocol,简称IGP),适用于小型同类网络,是典型的距离向量(distance-vector)协议。文档见RFC1058、RFC1723。 
    RIP通过广播UDP报文来交换路由信息,每30秒发送一次路由信息更新。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个包到达目标所必须经过的路由器的数目。如果到相同目标有二个不等速或不同带宽的路由器,但跳跃计数相同,则RIP认为两个路由是等距离的。RIP最多支持的跳数为15,即在源和目的网间所要经过的最多路由器的数目为15,跳数16表示不可达
    CSMA/CD(Carrier Sense Multiple Access/Collision Detect)
    即载波监听多路访问/冲突检测方法

    展开全文
  • 本文讲解了计算机网络中如何实现可靠传输的工作协议
  • 网络传输协议】SRT即SecureReliableTransport流媒体网络传输协议1、背景2、SRT协议 1、背景 安全可靠传输协议(Secure Reliable Transport)简称SRT,是一种基于UDT协议的开源互联网传输协议,Haivision和Wowza合作...
  • 这一周做了一个计算机网络的实验,名字叫 可靠数据传输协议-GBN协议的设计与实现 感觉自己做的很认真,实现的效果也不错,就把自己的过程与结果记录一下 对于这个实验,实验要求上说实现SR协议是加分项,而SR协议又是以...
  • 【计算机网络自顶向下方法】手把手带你设计一个可靠且高效的数据传输协议
  • 相当于TCP的稳定性来说,UDP因为其数据传输不可靠性,所以用在某些特定的场合,如直播、广播消息、视频音频流处理等太需要校验数据完整性的场合。 UDP相对TCP协议而言,其特点就是简洁,它删除了在TCP协议中为了...
  • 可靠:通信的双方能保证发送的数据一定能够按正确的大小,正确的顺序原样的到达另一方,如果数据能到达或者有其他的问题,发送方一定可以及时的得到通知 连接:通讯双方存在虚电路连接 可靠:指发送方的上层协议/...
  • 网络传输协议介绍

    千次阅读 2019-04-22 14:01:40
    网络传输中为什么需要协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑 在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的 口音,让他们无法...
  • 可靠数据传输原理详细图解

    千次阅读 2021-11-11 15:38:35
    可靠数据传输原理概述rdt1.0rdt2rdt2.0rdt2.1rdt2.2rdt3.0流水线可靠数据传输协议为什么使用流水线流水线对可靠数据传输协议带来的影响流水线协议中恢复差错的两种方法回退N步协议(GBN协议、滑动窗口协议)选择重传...
  • 但是UDP协议是面向无连接的,它只提供最大努力的服务,也就是说UDP协议不带有在发送端进行数据报分组,在接收端再对收到的报文进行重新 排序和组装的功能。这样一来,当一个数据报从发送端出发后,系统是不对报文...
  • 快速可靠网络传输协议 KCP

    千次阅读 2016-06-07 16:39:56
    KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并负责底层协议(如UDP)的收发,需要使用者自己定义下层数据包的发送方式,...
  • rdt 可靠数据传输协议

    万次阅读 多人点赞 2018-05-20 11:22:54
    计算机网络的设计基本方案是复杂化,多功能化应用...为了保证数据传输的可靠性,我们选择在运输层采用复杂的rdt(可靠数据传输协议),以完成网络可靠性。 原理图如下所示: rdt协议经历了rdt1.0,rdt2.0,rd...
  • KCP网络传输协议

    千次阅读 2021-10-24 09:34:44
    KCP - A Fast and Reliable ARQ Protocol,KCP 快速可靠网络传输协议 KCP力求在保证可靠性的情况下提高传输速度。kcp采取一系列措施尽量提高网络传输速率,在网络实时性和可靠性要求比较高的场景下,可以考虑kcp...
  • 一、所实现停等协议简介 我设计的程序实现的是rdt3.0版本的停等协议,发送端将数据包以0、1交替的顺序发送数据包,当发送0数据包之后开始计时,只有接收到ack0才能继续发送1数据包,如果在没有接收到ack0的时候已经...
  • 几种常用网络传输协议

    千次阅读 2018-12-07 16:19:00
    一、OSI模型 名称 层次 功能 物理层 1 实现计算机系统与网络间的物理连接 数据链路层 2 进行数据打包与解包,形成信息帧 网络层 3 提供数据通过的路由 传输层 4...
  • 计算机网络学习:封装成帧、差错检测和可靠传输

    千次阅读 多人点赞 2021-04-05 16:33:20
    数据链路层的封装成帧、差错检测和可靠传输可靠传输原理中很奇妙地发现,在不可靠的信道上加上合适的可靠协议(SW、GBN或者SR),就可以向上提供可靠的服务。在数据链路层要实现可靠传输为上层提供服务。
  • TCP协议如何保证可靠传输

    千次阅读 多人点赞 2021-11-19 23:26:38
    本文介绍TCP协议如何保证可靠传输。 本内容也是Java后端面试常见的问题。 概述 TCP协议保证数据传输可靠性的方式主要有: 大小控制 应用数据被分割成 TCP 认为最适合发送的数据块。 序列号 TCP 给发送的每一个包...
  • ICMP 直接使用 IP 数据包传输,但 ICMP 并被视为 IP 协议的子协议。常见的联 网状态诊断工具比如 ping、traceroute 都依赖于 ICMP 协议。描述 ICMP 的标准文档是 RFC792。 2:TCP(Transmission Control Protocol,...
  • 传输协议介绍

    千次阅读 2022-03-10 23:03:20
    传输协议介绍**传输层**TCP报文段 传输层 定义协议的端口号,以及流控和差错校验;主要包含TCP和UDP协议 TCP协议 面向连接网络协议,指通讯双方需先建立连接,才能通讯,通讯完之后断开连接。类似于语音通话 无连接...
  • 可靠传输的实现机制——停-等协议

    千次阅读 2021-04-24 18:16:35
    这三种可靠传输的机制的基本原理并仅仅局限于数据链路层,可以应用到计算机网络体系结构的各层协议中 停止-等待协议 我们想象的理想情况 发送方发送数据,接收方在收到数据后,进行差错检测,没有差错就发送...
  • 26-tcp可靠传输——停止等待协议

    千次阅读 2018-04-30 18:39:39
      通过前面的学习可知,网络传输数据时是尽最大努力传输到目的地,并保障数据的可靠传输,对于网络拥塞,延迟,数据丢失等问题没有采取有效的措施。因此我们需要一种数据可靠传输的通信方式,即tcp来实现发送...
  • 传输层有两个协议,一个是TCP(可靠传输协议),一个是UDP(不可靠传输协议)。 根据五层模型,传输层接收的是网络层数据,也就是说TCP接收的数据(报文段)是由IP传送的,而IP只能提供不可靠传输服务,所以传输层在加...
  • 网络基础:TCP协议-如何保证传输可靠

    万次阅读 多人点赞 2018-05-24 13:04:51
    TCP协议传输的特点主要就是面向字节流、传输可靠、面向连接。这篇博客,我们就重点讨论一下TCP协议如何确保传输可靠性的。 确保传输可靠性的方式 TCP协议保证数据传输可靠性的方式主要有: 校验和 序列号 ...
  • 网络层和传输层各种协议

    千次阅读 2021-08-18 20:55:18
    网络层 ICMP协议 作用:用来测试网络连通性并给予一定的反馈 定义:Internet控制报文协议,是错误侦测与回馈机制 组成:ping tracert 协议号 PC命令: TCP——6 UDP——17 ping -t持续不断的ping,查看有...
  • 传输层 --- 可靠数据传输

    千次阅读 2022-03-28 11:03:22
    可靠数据传输一.可靠数据传输概述1.可靠传输的原理2.可靠数据传输协议基本结构:接口3.有限状态机描述方法二.rdt1.0:完全可靠信道上的可靠数据传输三.rdt2.0:...(3)不可靠信道的特点决定了可靠数据传输协议的复杂
  • 网络视频传输协议

    千次阅读 2018-01-04 08:58:11
    网络视频传输协议--RTP/RTCP/RTSP/SIP/SDP 之间关系 1、 RTP Real-time Transport Protocol,是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。...
  • IP协议之所以是不可靠的是因为IP网络存在冲突丢包及传输错误甚至被恶意篡改的情况;虽然IP协议不可靠的,但其服务的上层协议为了规避这些不可靠的因素,有些协议就会自己设计机制从而保证自己传输的内容可靠;TCP...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 230,311
精华内容 92,124
关键字:

不可靠网络传输协议的是