通讯协议

01 深入理解通讯协议

2019-11-11  本文已影响0人  攻城狮哦哦也

1 网络模型

图片.png

2 TCP/IP协议

2.1 TCP协议

2.1.1 TCP的3次握手协议

图片.png
三次握手
建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。
为什么需要3次握手?
TCP是面对连接的,所以需要双方都确认连接的建立。

TCP的3次握手的漏洞
SYN洪泛攻击

2.1.2 TCP的4次挥手协议

图片.png

四次挥手
定义
断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。
为什么需要四次挥手?
TCP是双全工(即客户端和服务器端可以相互发送和接收请求),所以需要双方都确认关闭连接。
过程

2.1.3 TCP的通讯原理

图片.png

Socket套接字
TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)。
TCP缓冲区
每个TCP的Socket的内核中都有一个发送缓冲区和一个接收缓冲区。
阻塞模式
接收端缓冲区为空,接收端调用read方法的线程阻塞。
发送端缓冲区满了或者不够大,发送端调用write方法的线程阻塞。
TCP的可靠性与高效率
有了缓冲区之后我们怎么传输才能确保高效与可靠?
答:滑动窗口协议

TCP中的滑动窗口协议——可靠和高效的结合

图片.png

滑动窗口

目的

2.2 HTTP

图片.png

2.2.1 HTTP:***超文本传输协议,主要定义了客户端和服务端数据传输的方式。

web客户端和服务器
资源
html/文本、word、avi电影、其他资源
媒体类型
MIME类型:text/html、 image/jpeg
URI和URL
web服务器资源的名字和用于描述一个网络上资源的地址

2.2.2 HTTP协议的报文组成

状态码 类别 原因
1xx 提示信息 接收的请求正在处理
2xx 成功 请求正常处理完毕
3xx 重定向 需要进行附加操作以完成请求
4xx 客户端错误 服务器无法处理请求
5xx 服务器端的错误 服务器处理请求出错

请求报文

2.3 UDP协议

UDP

2.4 总结

图片.png
上一篇 下一篇

猜你喜欢

热点阅读