熟悉的开头
作用
让应用(AP)到应用AP之间进行网络通信的相关内容。屏蔽相关的下面相关链路层的相关信息,只能够看见端口的基本概率。(是存在在逻辑上面的相关的通道)而且提供了两种协议TCP和UDP协议
端口号
进程使用PID(进程标识符)。
不同的进程的进程PID不同。不同系统的PID的格式不同。
所以进行统一编号,应用体系进行标识。
所以采用了TCP/IP体系采用了关于端口的东西来表示不同的应用程序!不同计算机的端口没有相互联系。
端口分配
使用了16字节数,来命名端口号。
0 - 1023熟悉端口,分配给了TCP/IP协议的相关应用协议。
1024 - 49151没有熟悉的应用端口,必须要按照规定的手续登记使用,以防重复。
49152 - 65535应用程序使用的端口号,不使用会被释放。
应用复用
UDP协议和TCP协议都会被封装成为IP数据报。(其实就是向下封装,和向上解封装)。
UDP/TCP协议
UDP协议
用户数据报协议。
1,随时可以进行数据连接
2,UDP像短信,不需要建立链接都可以
3,UDP传输的为报文,直接进行传输,不会被分割。
4,对于数据丢失,不会进行检测
TCP协议
传输控制协议
1,进行建立连接,而且要释放连接(逻辑连接)。
2,需要进行链接建立,想接电话,需要双方都同时在线,并且同意接受!
3,直接将数据进行分割传输。应用进程需要组装,可以一得到相应的应用层数据。
4,发送数据丢失,要重新发送。
TCP的流量控制
和滑动数据块相同。(退回N帧协议也是相同)这里不进行描述这部分内容。
TCP拥塞控制
网络超过里他可以承受的内容范围!网络的性能会被影响!当网络的承受能力过高,不会进行数据的传输,这是叫做死锁。
假设条件
1,数据单方面
2,接收方拥有足够的缓存空间
3,以MSS(最大报文)为单位
建立拥堵窗口,窗口在动态变化。同时建立发送窗口(基本上为最大值)。
慢开始
当拥堵窗口小于,发送窗口的时候。开始使用慢开始。
增加的过程使用的是倍速级增长。直达拥堵窗口与发送窗口的关系发送改变。
拥堵避免
当拥堵窗口大于,发送窗口的时候。开始使用拥堵避免算法。
开始的时候拥堵窗口增加一,慢慢的增加。知道发生超时重传
发送方的数字变成拥堵窗口变成1,发送窗口变成之前的一半。重新开始慢开始算法!
——————————————————————————————————————————————
下面这个的新的数据算法!
快重传
发送方没有接受到接收方的确认信息,直接发送另外一个数据,甚至更多的数据(一般是3个)!
如果相应的接受方没有接受的安装正常顺序的报文(标号为4),就会重复发送上一个报文的确认信息(比如标号为2)!3发送失去!
同时发送方还在进行其他时间的发送。如果发送方接受到3个重复的确认(2的确认信息)
就会重传3的相关内容!
接收方接受的了3号报文,立即发送之前最后接受的表报文的确认信息!表明在这个报文之前的所有报文都被接受!
快恢复
如果接受到了👆上面的重新确认报文 ,开始快恢复算法。拥堵窗口和发送窗口变成之前的一半。然后执行拥堵避免算法
TCP超时重传
RTT0:TCP数据报发送时间与返回时间的差。
因为数据发送因为网络等客观条件发生变化,时间也会发生变化。所以TCP超时重传的时间不好进行确认!
使用加权平均进行RTTs数据的值进行判断:RTTs = (1 - E) * 之前的RTTTs + e *新的RTT样本。所以超时重传时间应该略大与这个值!
前使用RTO = RTTs + 4 *RTT计算超时重传的时间。
RTT的测量
因为发生了超时重传,所以不采用这个内容进行加权平均。RTO不会重新进行计算。如果发生超时重传,RTO变成之前的两倍!
TCP可靠传输
通过滑动窗口进行可靠传输来实现具体的过程!基本的和退回N帧协议使用的方法基本相同!