zoukankan      html  css  js  c++  java
  • 回顾:计算机网络之传输协议

    今天面试真是超级难受。之前面试的公司问的都是项目,我准备的东西也就偏向项目了一点。然而,今天面试的面试官特别倾向于基础。结果,快排没写出来,一个简单的算法题,解题的思路跟面试官提示的不大一样。准备接下来花一段时间好好复习回顾下以前学的计算机网络、数据结构、数据库、操作系统的内容。


    TCP是面向连接的可靠数据传输服务,还有拥塞控制机制。简单地说,当双方之间网络阻塞时,TCP可以抑制发送进程。

    UDP不面向连接,也没有拥塞控制,所以速度比TCP快,当然可靠性无法保证。

    在选择了协议以后,应用还需要考虑目的主机的地址(用IP地址说明)和主机上的什么进程,后一个问题是用端口解决的。即不同类型的web程序,其端口不同。

    应用层协议规定应用程序之间如何相互传递报文。最著名的就是HTTP协议(超文本传输协议)

    HTTP用TCP作为其支撑运输层协议,由于其服务器并不存储客户端信息,HTTP也是一个无状态协议。此外HTTP默认使用持久连接。我们知道如果一个请求或相应建立在TCP上,就有这样的问题:是每个请求都用一个新的TCP还是用一个TCP管理所有请求,这两种手段分别称作非持久连接和持久连接。因为非持久连接对于服务器端来说压力巨大,一般默认为持久连接,当一个链接在一段时间内没有被使用,服务器就会终止这个TCP连接。 


    三次握手和四次握手:

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。

    三次握手分别为 SYN、SYN+ACK、ACK

    客户端发送连接请求报文(SYN,第一次),服务端接受连接后回复ACK报文,并为这次连接分配资源(第二次)。客户端接收到ACK报文后也向服务端发生ACK报文(第三次),并分配资源,这样TCP连接就建立了。

    断开连接四次握手分别为:FIN、ACK、FIN、ACK

     
  • 相关阅读:
    qt鼠标事件总结(坐标,跟踪,点击判断)
    从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml
    前端篇: 前端演进史
    找一款防文件或文件夹误删除,移动,修改的软件
    yyyy
    盘点我用过的那些网盘(那些年,我们一起玩的网盘)
    Win8/8.1/10获得完整管理员权限的方法
    [置顶] IT老男人读《因为痛,所以叫青春》
    dddd
    用JUNCTION映射文件夹内容 解决多系统跑同一个虚拟机而共享文件夹路径不同的问题
  • 原文地址:https://www.cnblogs.com/rever/p/6835436.html
Copyright © 2011-2022 走看看