1. OSI七层和TCP/IP四层
OSI/RM:开放系统互联基本参考模型(open system interconnection reference model),为了各种计算机在世界范围内互连成网的标准框架,国际标准化组织ISO于1977年成立了专门机构研究该问题。
OSI七层/TCPIP四层/五层协议(综合OSI和TCP/IP的优点):
物理层:物理层上传送的数据单位是比特,发送方发送1/0时,接收方应当受到1/0而不是0/1,因此物理层要考虑用多大的电压表示1/0,以及接收方如何识别发送方发出的比特;物理层还要确定连接电缆的插头有几根引脚以及如何连接;定义物理设备标准,例如网线的接口类型、光线的接口类型、各种传输介质的传输速率等。他的主要作用是传入比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们通常所说的数模转换与模数转换)。这一层的数据叫做比特流。
数据链路层:定义了如何让数据格式化进行传输,将网络层下来的数据报组装成帧,还提供了错误检测和纠正,以保证数据的可靠传输。
网络层:在位于不同地理位置的网络中的两个主机之间提供连接和路径选择。将运输层产生的报文段或者用户数据包封装成包;Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
运输层:定义了一些传输数据的协议和端口号(WWW端口80等),主要是将从下层的接收的数据进行分段和传输,到达目的地后再进行传输。常常把这一层数据叫做段。
应用层:应用进程间通信与交互的规则,如HTTP协议(万维网应用)、SMTP(电子邮件)、FTP(文件传输)等,数据单位为报文
2.TCP,UDP,HTTP的报文格式(1个字节=8位)
TCP、UDP是在运输层的协议,HTTP是在应用层的协议
UDP报文格式:两个部分,UDP数据字段和首部字段(8个字节源端口2、目的端口2、长度2、校验和2),12 字节的伪首部是为了计算检验和临时添加的。
TCP报文格式:两个部分,TCP报文段数据部分和首部(源端口2、目的端口2、序号4、确认号4、数据偏移4位、保留6位、URG/ACK/PSH/RST/SYN/FIN6位标志位、窗口大小2、校验和2、紧急指针2、选项),首部的前20字节是确定的,选项长度可变,最长可达40字节
HTTP协议:定义了浏览器如何向万维网服务器请求万维网文档,以及服务器如何将文档传送给浏览器的,是面向事务的应用层协议
HTTP报文格式:有两种报文,请求报文和响应报文
请求报文和响应报文都是由三个部分组成:
开始行:区分是请求还是响应,请求是:URL+CRLF回车换行,响应是:状态行
首部行:说明浏览器、服务器、报文主题的信息
实体主体:请求中一般不用,响应中可能不用
3.TCP,UDP的区别:
- TCP:传输控制协议TCP,面向连接,传输效率低,可靠性强,点对点,用于传输可靠性要求高,数据量大的数据
- UDP:用户数据报协议UDP,与TCP特性恰恰相反,面向报文,无连接的(不需要数据双方建立连接),尽最大努力交付,没有拥塞控制(实时视频会议、IP电话等允许丢失一些数据,以恒定的速率发送数据),支持一对一、一对多、多对一、多对多,用于传输可靠性要求不高、数据量小的数据,如QQ聊天数据就是通过这种方式传输的
为什么TCP是安全的:
TCP三次握手四次挥手
4. HTTP的长连接是怎么做的
原文:https://www.cnblogs.com/zhoujingye/p/12562821.html