TCP,HTTP,Websocket 网络协议

前言

提示:当然是为了面试啊!,分享记录网络协议

网络分层

网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统
TCP,HTTP,Websocket 网络协议_第1张图片

每一层负责不同的功能,从底层向上分别是:

  1. 链路层
    有时也称作数据链路层或网络接口层,
    通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。
    它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。

  2. 网络层
    有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。
    在TCP/IP协议族中,网络层协议包括
    I P协议(网际协议),
    I C M P协议(I n t e r n e t互联网控制报文协议),
    以及I G M P协议(I n t e r n e t组管理协议)。

  3. 运输层

主要为两台主机上的应用程序提供端到端的通信。在 T C P / I P协议族中,有两个互不相同的传输协议:
T C P(Transmission Control Protocol)和U D P(User Data Protocol)。
T C P为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。
而另一方面,U D P则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来提供。
这两种运输层协议分别在不同的应用程序中有不同的用途,这一点将在后面看到。

  1. 应用层

负责处理特定的应用程序细节。几乎各种不同的 T C P / I P实现都会提供下面这些
通用的应用程序:
• Telnet 远程登录。
• FTP 文件传输协议。
• SMTP 简单邮件传送协议。
• SNMP 简单网络管理协议。


提示:以下是本篇文章正文内容,下面案例可供参考

1.HTTP与TCP的关系

TCP,HTTP,Websocket 网络协议_第2张图片

2.Websocket和TCP的关系

TCP,HTTP,Websocket 网络协议_第3张图片

3.WebSocket与HTTP

  • 相同点:建立在TCP之上,同http一样通过TCP来传输数据

  • 不同点:HTTP协议为单向协议,即浏览器只能向服务器请求资源,服务器才能将数据传送给浏览器,而服务器不能主动向浏览器传递数据。分为长连接和短连接,短连接是每次http请求时都需要三次握手才能发送自己的请求,每个request对应一个response;长连接是短时间内保持连接,保持TCP不断开,指的是TCP连接。

总结

1.WebSocket和http都是属于应用层协议,tcp是传输层协议。
2.WebSocket和http都是基于tcp协议的应用层协议。
3.WebSocket协议使用http报文握手,建立WebSocket连接通讯。

拓展

拓展TCP/IP协议(用来传输数据)

  1. socket是对TCP/IP协议的封装,本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP;

  2. 四层:分别为应用层(Telnet、FTP和Email等)、运输层(TCP、UDP)、网络层(IP、ICMP、IGMP等)和链路层(设备驱动程序);

  3. 三次握手完毕后,客户端与服务器才正式开始传送数据;

  4. 四次挥手后断开连接;

  5. 套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认;

  6. TCP:面向连接,通过三次握手建立连接,通讯完成时要拆除连接,只能端到端传输;

  7. UDP:无连接,可实现广播发送;

  8. TCP/IP通信数据流
    TCP,HTTP,Websocket 网络协议_第4张图片

你可能感兴趣的:(websocket,tcp/ip,http)