计算机网络课程笔记——传输层下

  1. TCP如何进行流量控制? 可能存在什么问题?

  1. 设置接收缓冲区, 实时通告流量缓冲空间

  1. 糊涂窗口综合征. 当接收方处理数据十分缓慢时, 接收方通告0窗口, 有效数据传输效率特别低。每个传输的报文,携带的有效数据太少,都是“大头娃娃”。

  1. 消除办法: 发送方, 报文段一定长度再发送(Nagle算法)

  1. 消除办法: 接收方, 阻止发送窗口滑动, 当流量缓存空间很小时, 就一直发送0窗口.

  1. TCP为什么采用三次握手建立链接? 四次挥手断开连接? 建链断链的序号如何变化?

本质上是因为要在不可靠的信道上建立可靠的链接。

  1. Server知道client的初始状态, server的初始状态client知道, 且server知道client已经知道server的初始状态.分别对应三次握手阶段。

为什么三次握手?

只有采用三次握手可以减少服务端的资源浪费。解释如下:例如,客户端向服务端发送请求同步报文A,因为网络阻塞等原因,服务端没有收到同步报文A,所以没有发送同步确认报文。过了一段时间,客户端没有收到服务端的确认报文,重新向服务端发送请求同步报文B,服务端接收到报文B后,向客户端发送同步确认报文,客户端接收到确认报文后,向服务端发送确认报文,建立连接。数据传输完毕后,连接断开。客户端进入close状态,此时服务端收到之前的报文A,向客户端返回同步确认报文。如果使用两次握手,服务端回应后不确认客户端的状态,连接建立成功。服务端会长时间等待客户端发送数据,连接长期保持,会造成资源浪费。当多个客户端产生这种情况,服务器就会等待多个客户端的响应,连接数量过多,之后的客户端请求,服务器无法响应。造成服务器处于瘫痪状态。 只有使用三次握手,当服务端收到确认报文后,保证当前时刻,客户端可以发送数据时,才能建立有意义的连接。当客户端一段时间不发送数据时,服务器应自动断开连接,来节省自身连接的客户端数量,减少资源的浪费。

https://www.cnblogs.com/realjimmy/p/12930797.html

为什么四次挥手?

假设是客户端发起终止连接。

客户端发送fin包,服务器告诉客户端收到fin,并将剩余未发送完的数据发给客户端。发完后,服务器发送finack包,客户端接受后发送ack并进入延时等待,防止ack在信道中丢失,导致服务器迟迟无法关闭。(服务器没收到ack会重新发送finack,这样客户端就能重新发ack并刷新延时计时器)。

以下内容为均为课上记录,课下没来得及整理


  1. 网络拥塞控制有哪些策略?

  1. 流量感知路由

  1. 准入控制

  1. 流量调节

  1. 抑制分组

  1. 背压

  1. 负载脱落(即丢包): 也设计一种判定策略, 扔新数据or旧数据, 根据数据类型决策, 如视频数据, 丢旧数据

  1. 如何改进TCP拥塞控制过程以便提高TCP协议吞吐量?(小组讨论, 开放问题)

  1. 动态调节窗口大小

  1. TCP拥塞控制改进?

(为什窗口要膨胀?)

(为什么出现三次重复确认?)缓存已有三个段提前到达接受端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值