
计算机网络
ThunderWay
北京工业大学计算机研究生就读
展开
-
TCP协议如何保证可靠传输
1. 应⽤数据被分割成 TCP 认为最适合发送的数据块。 2. TCP 给发送的每⼀个包进⾏编号,接收⽅对数据包进⾏排序,把有序数据传送给应⽤层。 3. 校验和: TCP 将保持它⾸部和数据的检验和。这是⼀个端到端的检验和,⽬的是检测数据在传 输过程中的任何变化。如果收到段的检验和有差错,TCP 将丢弃这个报⽂段和不确认收到此报⽂ 段。 4. TCP 的接收端会丢弃重复的数据。 5. 流量控制: TCP 连接的每⼀⽅都有固定⼤⼩的缓冲空间,TCP的接收端只允许发送端发送接收端 缓原创 2020-10-27 10:41:07 · 249 阅读 · 0 评论 -
滑动窗⼝和流量控制
TCP利用滑动窗口实现流量控制。流量控制是为了控制发送方发送速率。接收方发送的确认报文中的窗口字段可以控制发送方窗口大小,从而影响发送方的发送速率。将窗口字段设置为0,则发送方不能发送数据。...原创 2020-10-20 20:25:37 · 276 阅读 · 0 评论 -
四次挥手为什么客户端最后还要等待2MSL?
MSL就是指最大的报文生存时间。第一,保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看我已经发送了FIN+ACK报文请求断开了,客户端还没有给我回应,应该是我发送的请求断开报文它没有收到,于是服务器重新发了一次,客户端就能在这2MSL时间段内收到重传的报文,接着给出回应报文,并且会重启2MSL计时器。第二,客户端发送完最后一个确认报文后,在这个2MSL时间中,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失,这样新的连接中不会出现旧链接的请求原创 2020-10-20 19:38:15 · 1027 阅读 · 0 评论 -
URI和URL的区别?
URI:是统一资源标识符,可以唯一标识一个资源。URL:是统一资源定位符,可以提供该资源的路径。它可以用来标识这个资源,并且定位这个资源。URI的作用像身份证号,URL的作用更像家庭住址。URL是一种具体的URI,它不仅可以唯一标识资源,还可以定位该资源的信息。...原创 2020-08-23 21:45:18 · 145 阅读 · 0 评论 -
TCP、UDP协议的区别?
UDP:在传输数据之前不需要先建立连接、远处的主机在收到UDP报文之后,不需要给出任何确认。UDP不提供可靠交付,但某些情况下UDP是一种最有效的工作方式(一般用于即时通信),如qq语音、qq视频、直播。TCP:在传输数据之前需要建立可靠的连接,数据传输结束之后释放连接。由于TCP要提供可靠的、面向连接的传输服务,这难免增加了许多开销。一般用于文件传输、发送和接收邮件等场景。...原创 2020-08-23 21:14:33 · 185 阅读 · 0 评论 -
为什么是四次挥手?
双方关闭需要经过双方都同意,所以首先是客户端发送FIN给服务器,服务器收到后会回复一个ACK响应,接着服务器发送一个FIN给客户端,客户端收到后回复一个ACK响应,进入TIME_WAIT状态,2msl后自动关闭。...原创 2020-08-20 22:01:50 · 387 阅读 · 0 评论 -
如果已经建立了连接,但是客户端出现故障怎么办?
TCP设有一个保活计时器,服务器每收到一次客户端的请求后,都会重新复位这个计时器,时长通常设置为2个小时,如果两个小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后没间隔75秒发送一次,如果一连发了10个探测报文仍然没响应,服务器就认为客户端出了问题,关闭连接。...原创 2020-08-20 21:39:35 · 1082 阅读 · 0 评论 -
为什么需要三次握手,两次不行吗?
假设客户端请求连接,发送服务器SYN同步数据包等待服务器确认,服务器收到后,如果是两次握手,假设服务器在第二次握手的时候给客户端发送数据,数据从服务器发出,服务器认为连接已建立,但是在发送数据的过程中数据丢失,客户端认为连接没有建立,会重传,假设每次数据都丢失,客户端会一直发送syn,服务器就会产生多个无效的连接,占用资源,服务器可能挂掉,这个现象就是“syn的洪水冲击”。第三次握手是为了防止:如果客户端迟迟没有收到服务器返回确认报文,这时会放弃连接,重启一条连接请求。...原创 2020-08-20 21:36:45 · 760 阅读 · 0 评论