计算机网络运输层和应用层

本文深入探讨计算机网络的运输层和应用层。在运输层,重点讲解了TCP的可靠传输实现,包括滑动窗口、流量控制和拥塞控制策略,如慢开始、快重传和快恢复。同时,介绍了TCP连接的建立与释放的三次握手和四次挥手过程。在应用层,重点关注域名系统DNS的工作原理,包括域名结构、域名服务器类型和DNS查询的递归与迭代方式。
摘要由CSDN通过智能技术生成

一,计算机网络运输层

一、TCP 可靠传输的实现

1、TCP的滑动窗口以字节为单位

2、窗口越大,发送方就可以在收到确认之前发送更多的数据,传输效率高,但是接收方必须来的及接收。

3、 窗口的分类:发送窗口,可用窗口,未确认窗口

4、 A 的发送窗口并不总是和B 的接收窗口一样大(因为有一定的时间滞后)。

5、TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。

6、缓存和窗口的关系:缓存一般大于窗口

7、发送缓存与接收缓存的作用

发送缓存用来暂时存放:

发送应用程序传送给发送方TCP 准备发送的数据;

TCP 已发送出但尚未收到确认的数据。

接收缓存用来暂时存放:

按序到达的、但尚未被接收应用程序读取的数据;

不按序到达的数据。

8、超时重传时间的选择: RTO RTTS + 4 RTTD

平均往返时间

新的RTTS (1 ) (旧的RTTS) (新的RTT 样本)

0 1推荐=0.125

RTT 的偏差的加权平均值

新的RTTD = (1 ) (旧的RTTD) + RTTS新的RTT 样本

推荐=0.25

9、如何判定一个确认报文段是对原来的报文段1 的确认,还是对重传的报文段2 的确认?

采用Karn算法:在计算平均往返时间RTT 时,只要报文段重传了,就不采用其往返时间样本。

修正的Karn算法:报文段每重传一次,就把RTO 增大一些:

10、选择确认sack是解决:接收方收到了和前面的字节流不连续的两个字节块,怎样让发送方只发送没有到达的数据段

11、使用SACK时要将TCP首部中的SACK位置1,然后再选项字段填入未接受到的断块的边界值,每个边界值占4个字节,确定一个断块要用两个边界值,所以选项字段最多只能指明4个字节块的信息。另外还要一个选项指明是SACK选项,一个指明SACK占用的字节数
二、TCP 的流量控制:利用滑动窗口实现流量控制

1、流量控制(flow control)就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。

2、丢失报文导致互等死锁的解决办法:持续计时器

TCP 为每一个连接设有一个持续计时器。

只要TCP 连接的一方收到对方的零窗口通知,就启动持续计时器。

若持续计时器设置的时间到期,就发送一个零窗口探测报文段(仅携带1 字节的数据),而对方就在确认这个探测报文段时给出了现在的
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值