TCP/IP协议
一、基本概念理解
1.网络设备通过运行网络协议
与其他的网络设备进行交流;
2.网络协议是一个软件,是以系统组件的方式安装在电脑的操作系统里的;
3.计算机网络的主要功能:传递信息
,信息的载体是各种类型的数据包
(类似于邮寄信件时信息的载体是信纸和信封);
4.计算级传递信息和邮寄信件过程类比
二、分层网络模型
1.分层网络协议模型的基本定义(两类接口,一类和下层接口,另一类和对等层接口)
2.OSI分层网络模型是理论上的,TCP/IP实现了分层的协议模型——每个层次对应一组网络协议完成一组特定的功能,该组网络协议被下层复用和解复用
,TCP/IP协议越往上层越复杂;
3.网络的本质是端对端通信,两端不一定会直接“连接”在一起,因此需要一些中间设备的“连接”,把连接这些中间设备的线缆
上跑的协议定义为链路层协议
(所谓链路即指始发于一个设备,通过一条线,终止于另一个设备,一条链路即称为一跳);
4.TCP的作用是传输控制,也就是控制端到端的传输,如流量控制,拥塞控制等,IP协议设计为分组转发协议,每一跳都要经过一个中间节点;
5.TCP/IP模型从下往上,功能增加,需要实现的设备减少,然而设备的复杂性却在增加;
三、TCP协议三次握手
1.TCP协议(全双工协议
)设计时需保证有连接
,可靠传输
,数据按序到达
2.tcp是一个可靠的传输机制,可靠在于每次收到一个数据都会相应的收到一个确认包之后才会将缓冲区的内容给删除掉,否则过一段时间就会重传。
3.3次握手
:建立一条连接和4次挥手
:拆除一条连接
(1)3次握手——分配资源,初始化序列号(初始化传输可靠性以及数据顺序性必要的信息):指在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互
-
第一次握手:客户端发送连接请求到服务端——服务端收到信息可与客户端相连,但此时客户端并不知道服务端是否已经接收到连接请求
-
第二次握手:服务端响应已收到连接请求——此时客户端已确定可和服务端连接上
-
第三次握手:客户端回复服务端已接收到响应消息,确认可以开始发送数据——此时服务端已确定响应信息客户端有收到
(2)4次挥手——终止数据传输,并回收资源
(3)三次握手的好处:避免服务端一直等待,浪费资源
,例如客户端发送了一个连接请求报文段,但在某个网络节点滞留时间过长早已失效,假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。
四、完整的http请求过程
1.解析域名
2.发起TCP协议三次握手
3.建立TCP连接后发起http请求
4.服务器响应请求并返回结果
5.浏览器得到html标签代码
6.浏览器解析html代码中的资源,例如js,css,img等
7.浏览器对页面渲染并呈现给用户