什么网站可以做项目,网页设计实训报告范文,网上购物网站开发英文文献,wordpress主题百度网盘目录
一、谈一谈对OSI七层模型和TCP/IP四层模型的理解#xff1f;
二、谈一谈TCP协议的三次握手过程#xff1f;
三、TCP协议为什么要三次握手#xff1f;两次、四次不行吗#xff1f;
四、谈一谈TCP协议的四次挥手过程#xff1f;
五、什么是流量控制#xff1f;
…目录
一、谈一谈对OSI七层模型和TCP/IP四层模型的理解
二、谈一谈TCP协议的三次握手过程
三、TCP协议为什么要三次握手两次、四次不行吗
四、谈一谈TCP协议的四次挥手过程
五、什么是流量控制
六、什么是滑动窗口
七、什么是拥塞控制
八、TCP和UDP有什么区别 一、谈一谈对OSI七层模型和TCP/IP四层模型的理解
首先分层的原因是为了将计算机网络分为多层结构每一层都有每一层的作用与规则能够更好的进行网络连接。就好比发快递从快递员从你手里拿到快递再到快递送到快递的网点进行分拣、运输到目的地的处理中心、最后到接收人收到快递这个过程。
OSI七层模型是对计算机网络的一种理想化模型分别为
物理层是通过网线、光缆这种物理方式将电脑连接起来通过比特流传输。
数据链路层是将比特流封装成数据帧对0、1进行分组。
网络层是决定数据在网络中的游走路径。
传输层是通过tcp或udp协议来为两台主机提供数据传输服务。
会话层是负责管理应用程序之间的会话也就是会话的建立、维护和重连。
表示层是为了是数据能够被其他计算机所能理解转换成的另一种格式比如文字、视频、图片等。
应用层为最高层是最终呈现给用户的界面。
而TCP/IP四层模型是实际上的模型分层也是对七层模型的简化版为应用层、传输层、网络层、数据链路层。
其中应用层常见的协议有DNS域名协议、HTTP协议、邮件传输协议SMTP、POP3、IMAP4等、FTP传输协议等。
传输层常见的协议为TCP协议与UDP协议。 二、谈一谈TCP协议的三次握手过程
第一次握手由客户端向服务端发送一个TCP数据包其中首部中SYN1ACK0表示这是一个请求连接数据包。
第二握手由服务端向客户端发送其中SYN1ACK1表示服务端同意连接。
第三次握手是由客户端再次向服务端发送其中SYN0ACK1。表示双方都同意连接并且确认收到服务端的确认数据包。 三、TCP协议为什么要三次握手两次、四次不行吗
三次握手是为了避免重复连接并且通过三次连接可以获得一个可靠的序列号seq。
如果只有两次握手的话服务端并没有收到客户端的确认数据包、并不知到客户端是否收到服务端的确认数据包而且无法获得初始化的序列号seq。
如果四次的话又会有些浪费资源。 四、谈一谈TCP协议的四次挥手过程
第一次挥手由客户端向服务端发送首部中FIN1ACK0表示这是一个请求断开的与服务端的连接。
第二次挥手是由服务端向客户端发送其中FIN0ACK1表示确认收到客户端的发送的请求断开报文。此时客户端对服务端的连接就已经释放了客户端只能接收服务端的数据包不能发送。而服务端并没有释放既可以接收也可以释放。
第三次挥手还是由服务端向客户端发送其中FIN1ACK1表示服务端已经没有要向客户端发送的数据了并释放与客户端之间的连接。此时服务端不能向客户端发送数据了但能接收。
第四次挥手是由客户端收到对服务端的连接释放报文后向服务端发送其中ACK1FIN0表示确认收到收到释放报文。同意服务端释放连接。 五、什么是流量控制
流量控制是指接收方对于发送方发送速率的一种控制。
因为每一方都有一块固定大小的缓存空间而接收方需要要求发送方不能发送超过接收方缓存容量的数据。接收方来不及处理发送方的数据就会提示对方降低发送速率防止数据包丢失。
而TCP是利用滑动窗口来进行流量控制的。在确认报文中有一个窗口字段就是设置发送方的窗口大小从而影响发送速率。 六、什么是滑动窗口
因为如果每发送一个数据都要等收到对方的确认收到后才发送下一个数据的话这样的通信效率是很慢的。而TCP协议就引入了窗口的概念。滑动窗口就是TCP协议用于实现流量控制的一种机制。
在发送发和接收方都会维护着各自的缓冲区这个缓存区就叫窗口。窗口大小是由接收方首部中窗口这个字段来决定的。
在发送方的窗口中分别有四个区域已经收到确认的数据、发送但没有被确认的数据、未发送但在缓存范围内的数据、未发送但超出缓存范围的区域窗口会随着发送数据被确认而向着未发送的区域滑动。
而接收方的窗口分为成功接收并确认的数据、未收到但可以确认的数据、未收到但超出窗口范围的数据。接收方也会随着收到数据并确认后窗口向着未收到移动。接收方可以通过改变窗口大小来控制发送的速率从而实现流量控制。 七、什么是拥塞控制
发送方需要维护一个叫拥塞窗口的状态量来决定可以同时发送多少数据包。而TCP主要通过四个算法来进行拥塞控制
慢开始拥塞窗口从1开始已指数的方式增长。
拥塞避免是指当拥塞窗口的值大于慢开始门限(ssthresh)时会进入拥塞避免拥塞窗口的增长会从指数增长改为每次只加一的线性增长。
快重传是指在发送拥塞开始后已经开始出现丢包而处理丢包的方式为超时重传发送后的时间已经到达RTO还没收到确认数据包时会先将慢开始门限的值改为拥塞窗口值的一半然后将拥塞窗口的值改为1重新进入慢开始。
快恢复是指如果进行快重传后收到3个重复的确认数据包会将慢开始门限改为原来的一半然后继续执行拥塞避免。 八、TCP和UDP有什么区别
TCP是面向连接的仅支持一对一通信并且是可靠性传输而UDP是无需连接支持一对一、一对多、多对一、多对多通信不保证可靠性。但是传输效率要比TCP高。首部需要8个字节而TCP的首部为20-60字节。 注本篇文章都是我自己的理解可能用词和语句不够严谨如有错误请评论指正谢谢持续更新中......