TCP 与 UDP

1、 TCP(Transmission Control Protocol 传输控制协议):是一种面向链接的、可靠的、基于字节流的传输层通讯协议,使用三次握手协议创建链接、四次挥手断开链接。面向链接意味着两个使用TCP的应用(一般是一个客户端和一个服务器)彼此在交换数据包以前必须先创建一个TCP链接。在一个TCP链接中,仅有两方进行通讯,广播和多播不能使用TCP。TCP的做用是保证数据通讯的可靠性和完整性,防止丢包。TCP把链接做为最基本的对象,每一条TCP链接都有两个端口,咱们把这两个端口叫做套接字(socket),端口号拼接到IP地址即构成套接字。html

      UDP(User Datagram Protocol 用户数据报协议)是OSI(Open System Interconnection 开放式系统互联)参考模型中一种无链接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP协议主要做用是将网络数据流量压缩成数据包的形式。 浏览器

2、TCP、UDP协议的区别:缓存

    UDP在传送数据以前不须要先创建链接,远地主机在收到UDP报文后,不须要给出任何确认。虽然UDP不提供可靠交付,但在某些状况下UDP确是一种最有效的工做方式(通常用于即时通讯),好比QQ语音,QQ视频、直播等。服务器

     TCP提供面向链接的服务。在传送数据前必须先创建链接,数据传送结束后要释放链接。TCP不提供广播或多播服务。因为TCP要提供可靠的,面向链接的运输服务(TCP的可靠体如今TCP在传递数据以前,会有三次握手来创建链接,并且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后还会断开链接用来节约资源),这难以免增长了许多开销,如确认、流量控制、计时器以及链接管理等。这不只使协议数据单元的首部增大不少,还要占用许多处理及资源。TCP通常用于文件传输、发送和接收邮件、远程登陆等场景。网络

3、打开一个网页,整个过程会使用哪些协议。socket

    1.浏览器查找当前URL的DNS缓存记录spa

    2.DNS解析URL对应的IP视频

    3.根据IP创建TCP链接(三次握手)htm

    4.HTTP发起请求对象

    5.服务器处理请求,浏览器接收HTTP响应

    6.返回的HTML响应,浏览器解析渲染页面

    7.关闭TCP链接(四次挥手)

    整体来讲分为:1.DNS解析  2.TCP链接   3.发送HTTP请求  4.服务器处理请求并返回HTTP报文  5.浏览器解析渲染页面  6.链接结束      

    详细网址:  https://www.cnblogs.com/daijinxue/p/6640153.html 

DNS解析具体过程:

首先查询浏览器的DNS缓存,若是有就返回对应IP; 若是没有的话,查询系统的缓存,这里会使用底层的系统调用进行查询; 若是找不到,查询路由器的缓存; 若是找不到就查找ISP对应的缓存记录; 若是找不到,就对根域名解析服务器发起查询请求(通常本地域名服务器会缓存顶级域名服务器的地址,因此根域名解析服务器请求比较少),返回对应的IP地址。  

相关文章
相关标签/搜索