一:TCP
一:TCP核心的特性
6:拥塞控制
中间如果某个环节,转发能力特别差,此时A的发送速度就不会超过这里的阙值.
那么,具体怎样衡量中间设备的转发能力呢?
此处,并不会针对中间设备进行量化.而是将中间设备看成一个整体.采取实验的方式,动态调整产生一个合适的窗口大小.
1):使用较小的窗口传输,如果传输通畅,就调大窗口
2):使用一个较大的窗口传输,如果出现传输丢包(出现拥堵),就调小窗口
图例所示:
实际发送到窗口值=min(拥塞窗口(解决中间层的窗口大小),流量控制窗口值(解决接收方的窗口大小))
7:延迟应答
图例所示:
8:捎带应答
捎带应答,将ack+响应,如下图所示:
9:面向字节流
1:粘包问题
如上图所示,就会产生粘包问题,即接收方接收到的应用层数据报cccbbbaaa无法进行分割,此时,就有可能导致接收到的应用层数据报为1个或者1.5个
该如何解决?====>此时,就需要合理的应用层协议
1:应用层协议中,引入分隔符,区分包之间的边界
2:应用层协议中,引入"包长度",也能区分包之间的边界
10: TCP异常情况的处理
1:进程崩溃
2:主机关机
3:主机掉电(拔电源)
4:网线断开
二:TCP和UDP对比
TCP优势在于可靠性传输
UDP优势在于效率
经典面试题:如何基于UDP实现可靠性传输===>本质还是tcp特性(在应用层完成)
三:网络层
1:IP协议
1):4位版本号
2): 4位首部长度
3):8位服务类型
4):发送方和接收方的拆包和组包
发送方:
接收方
5):8位生存时间TTL
6):8位协议
7):首部校验和
------------------------------------------------未完待续-------------------------------------------------------------