1、TCP/IP 模型,OSI七层模型

- 应传网链
- 应【表、会】 传 网 链 【理】
- 我的速记,传音反向,网恋。谁和谁呢?表妹慧和你。
- 也就是应用层、传输层、网络层、链路层
- 应用层、表示层、会话层 传输层 网络层 链路层 物理层
2、网络传输消息中的数据
- 包 帧 片 段 消息。反着来。
- 应/传/网/链/物理
- 包是全能术语
- 帧在数据链路层
- 片在网络层IP
- 段传顺层TCP
- 消息应用层

3、TCP/IP协议族

4、TCP概述
- Transmission Control Protocal传输控制协议
- 面向连接
- 可靠性
- RTT/RTO 往返时延 超时重传
- 数据顺序
- 流量控制
- 全双工
5、TCP连接中的三次握手

- 第一次握手:【客户端请求服务端】,验证自己能发出,服务器能否收到。服务器收到请求,表示
服务接收能力ok,服务端同时也要告诉客户端的发送没有问题,也要验证自己的发送没有问题。
- 第二次握手: 【服务器应答客户端,并请求建立连接】。客户端收到之后,
客户端接收能力ok,客户端发送能力也ok,客户端要告诉服务端,客户端的发送能力ok,
- 第三次握手:【客户端针对服务器的的请求确认应答】。服务器收到请求,
服务端接收能力ok。
- TCP是面对连接的,所以需要双方都确认连接的建立
6、TCP3次握手的漏洞-SYN洪泛攻击
- 定义:发假请求,让服务端上的
半开连接队列被占满。从而阻止其它用户进行访问。
- 原理:假ip发第一次握手,而第二次握手永远发布到真实客户端,第三次握手永远不会有,服务端再等待这种半开的连接中 耗尽资源。
- 解决方案:
7、TCP中的四次挥手

- 定义:断开一个TCP连接时,需要客户端和服务端总共发4个包以确认连接的断开
- 过程:
- 1、客户端发送断开连接的请求
- 2、服务端接受到断开请求,发送我知道了。
- 3、服务端接受到断开请求,发送我也要和你断开。
- 4、客户端接收到断开请求,发送,好呀,一起断。
- 为什么时4次挥手?
- 因为TCP是全双工,所以双方都确认关闭请求。特殊情况下可以把第二次和第三次合并,但是中间如果有未发完的数据就不能合并,先发送我知道了,把剩下的数据发送完之后,服务器再发送关闭请求。
- 为什么需要TIME-WAIT状态?
- 因为需要等待服务器接受发送的关闭请求,如果立马挂了,这个端口可能被其它应用占了,接收方成了其它应用。就有问题了
8、HTTP协议
- 超文本传输协议
- 一次完整http请求过程
- 1、DNS
- 2、tcp3次握手
- 3、client发起http请求
- 4、server响应http请求
- 5、client解析html,请求html中资源
- 6、client渲染
- 7、tcp4次挥手
9、DNS劫持和http劫持
-DNS劫持,原本要访问的ip的改变。
-http劫持,是客户端和服务端直接传递信息的改变