作者:博瑞装饰王龙骏 | 来源:互联网 | 2023-09-12 21:46
先看下协议的四层架构:
应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等
传输层:两种协议提供的功能不同。
tcp:提供应用程序间的通信。其功能包括:一、格式化信息流,即分包加密等;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
udp:把称作数据的分组以数据报的格式从一个主机发送到另一个主机,但并不保证该数据报能到达另一端。任何必需的可靠性必需由应用层来提供。
网络层:1判断是否需要分片,当传输层是tcp时,无需分片,因为tcp会对大的数据分段;但是如果是udp则会先分片;
2选择合适的传输路线将数据包发送给对方。
链路层:包括操作系统中的设备驱动程序和计算机中对应的网络接口卡,他们一起处理与电缆的物理接口细节。数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
网络层的协议包括IP协议,ICMP协议(Internet互联网控制报文协议)、以及IGMP协议(Internet组管理协议)
ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。主要被IP使用,但也有直接使用此协议的,例如Ping和traceroute
IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机上。
协议七层架构
区分tcp和http
TCP是传输层,而http是应用层,知道了 http是要基于TCP连接基础上的,简单的说,TCP就是单纯建立连接,不涉及任何我们需要请求的实际数据,简单的传输。http是用来收发数据,即实际应用上来的。
http的请求和响应报文格式如下:
tcp的报文格式: