有哪些公司的网站做的比较好,门户网站建设公司案例,网络营销推广建议,企业网站建设方案书蒋yj老师yyds#xff01; 答案自制#xff0c;仅供参考#xff0c;欢迎质疑讨论 问题一览 传输层思考题P2P和E2E的区别使用socket的c/s模式通信#xff0c;流控如何反映到编程模型三次握手解决什么问题举一个两次握手失败的例子为什么链路层是两次握手而非三次#xff1f;… 蒋yj老师yyds 答案自制仅供参考欢迎质疑讨论 问题一览 传输层思考题P2P和E2E的区别使用socket的c/s模式通信流控如何反映到编程模型三次握手解决什么问题举一个两次握手失败的例子为什么链路层是两次握手而非三次两军问题在TCP实践中怎么解决传输层怎么处理流控传输层拥塞控制算法的四个基本目标的含义AIMD解决什么问题TCP中如何调节某个TCP连接的发送速率并体现AIMD思想了解TCP拥塞控制算法的区别TCP Tahoe和TCP Reno的区别TCP选项NACK和SACK是如何提高效率的链路层丢包率10%会对TCP有什么影响现代互联网TCP可以做到效率接近90%吗两台主机间所有连接线路的链路层误码率均为0%TCP就不会出现重传了吗理解TCP报头各个字段的用途TCP报头Window最大取值65535是不是意味着接收窗口最大只能说65535字节Nagle解决了什么问题优缺点Clark解决了什么问题TCP超时定时器是如何动态确定的当接收方缓冲区满TCP通过什么机制通知发方别发了 传输层思考题 P2P和E2E的区别
相邻 or 有子网
使用socket的c/s模式通信流控如何反映到编程模型
编程时cs双方自己定义了buffer
三次握手解决什么问题
子网丢/重/乱的问题
举一个两次握手失败的例子
链路上突然出现A对B握手的一个Seg之前遗留的B回复A此时B已经建立连接而A对此事毫不知情这就产生了一个half-open的连接
为什么链路层是两次握手而非三次
因为链路层是p2p的不会重复和乱序
两军问题在TCP实践中怎么解决
对于先断开的一方收到对方的FIN后发送ACK并等待一个TIME WAIT在这个时间之内如果对方继续发来FIN那么继续回ACK。超时则关闭。对于后断开的一方如果没收到ACK就一直发送。如果产生了半开那么经过一个固定时长自动关闭。
传输层怎么处理流控
AIMD
传输层拥塞控制算法的四个基本目标的含义
预防高效公平收敛
AIMD解决什么问题
快速找到公平点
TCP中如何调节某个TCP连接的发送速率并体现AIMD思想
慢启动算法 了解TCP拥塞控制算法的区别
ACK Clock 确认时钟通过使用一个确认时钟 TCP平滑输出流量和避免不必要的路由器队列。Slow Start 慢启动每个RTT内发送的数据包数目指数增长使用确认时钟将发送端的传输速率与网络路径相匹配Add Increase当slow start后超过了slow start threshold TCP 就从慢速启动切换到线性增加每个RTT内收一ACK发出一包最后一个ACK连发两包。Muilt Decrease: 当收到三个重复ACK后cwin减半快恢复Fast retransmission当收到三个重复ACK后门限减半慢启动Fast recovery门限减半cwin减半具体做法确认时钟
TCP Tahoe和TCP Reno的区别 Tahoe用的fast retransmission Reno用的fast recovery
TCP选项NACK和SACK是如何提高效率的
SACK (Selective ACKnowledgement) 选择确认该确认列出了3个己接收的字节范围。有了这个信息发送端在实现拥塞窗口时可以更直接地确定哪些数据包需要重传并跟踪那些还在途中的数据包。NACK
链路层丢包率10%会对TCP有什么影响
TCP会认为子网拥塞从而把发送速度降到很慢
现代互联网TCP可以做到效率接近90%吗
能《计算机网络(第5版)》 Tanenbaum Wetherall 著 严伟 潘爱民 译 Page 456
两台主机间所有连接线路的链路层误码率均为0%TCP就不会出现重传了吗
路由器可能发生拥塞也有可能选择不合适的路由导致超时
理解TCP报头各个字段的用途 实验二中做了分析此处略
TCP报头Window最大取值65535是不是意味着接收窗口最大只能说65535字节
不是选项 Options 字段提供了一些可选项。P431 Nagle解决了什么问题优缺点
用粘包的方式避免T层每次只传很少的字节导致各层开销占比很大优点减小开销占比实现了self-clocking: ACK返回的越快数据传输地也就越快使得单位时间内发送的报文段的数目更少缺点某些消息不及时传送对于应用层来说响应变慢
Clark解决了什么问题
愚蠢窗口Silly Window Syndrome
TCP超时定时器是如何动态确定的 注意是超时定时器 几个公式由Jacobson贡献第三个式子的系数4是 J 大佬认定的没有为什么 S R T T α S R T T 旧 ( 1 − α ) R T T 本次 SRTT \alpha SRTT_旧 (1-\alpha) RTT_{本次} SRTTαSRTT旧(1−α)RTT本次 R T T V A R β R T T V A R 旧 ( 1 − β ) ∣ S R T T − R T T 本次 ∣ RTTVAR \beta RTTVAR_旧 (1-\beta)|SRTT-RTT_{本次}| RTTVARβRTTVAR旧(1−β)∣SRTT−RTT本次∣ R T O S R T T 4 × R T T V A R RTO SRTT 4 × RTTVAR RTOSRTT4×RTTVAR
当接收方缓冲区满TCP通过什么机制通知发方别发了
捎带window size
如果随后收方缓冲区空闲收方如何通知
窗口更新段窗口更新报文段是一个不包含数据的纯ACK(只有ACK标志位被置位), 用于通告发送端可以继续发送数据纯ACK不会被重传, TCP必须采取相应措施来处理这些丢包
如果这个通知丢失会导致发方长久等待吗 TCP对此主要有两个设计来避免死锁 发送端可以发送1字节的段以便强制接收端重新宣告下一个期望的字节和窗口大小。这种 数据包称为窗口探测window probe 。 持续计时器persistence timer 的设计。当持续计时器超时后发送端给接收端发送一个探询消息。接收端对探询消息的响应是将窗口大小告诉发送端。如果它仍然为0 则重置持续计时器并开始下一轮循环。如果它非0 则现在可以发送数据了。