![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络协议
文章平均质量分 94
1024星球
Less is more.
展开
-
网络协议系列十八 - 网络爬虫/HTTP缓存/IPv6
本文仅仅是常见协议的扫盲,具体技术点可参考其他相关文档。一、VPNVPN(Virtual Private Network),虚拟私人网络。它可以在公共网络上建立专用网络,进行加密通讯。1.1. 作用提高上网的安全性(加密数据)保护公司内部资料隐藏上网者的身份(VPN Server转发数据)突破网站的地域限制有些网站针对不同地区的用户展示不同的内容突破网络封锁(科学上网)因为有GWF(Great Firewall of China,中国长城防火墙)的限制,有些网站在国内上不原创 2021-06-25 09:54:52 · 862 阅读 · 0 评论 -
网络协议系列十七 - WebSocket/FTP
WebSocket、FTP、RESTful、SMTP、IMAP、POP等协议很多人可能仅仅听说过,但没有了解过。一、ARP/RARP/ICMPARP(Address Resolution Protocol),地址解析协议。通过IP地址获取MAC地址。RARP(Reverse Address Resolution Protocol),逆地址解析协议。使用与ARP相同的报头结构作用与ARP相反,用于将MAC地址转换为IP地址后来被BOOTP、DHCP所取代ICMP(Internet C原创 2021-06-25 09:50:07 · 790 阅读 · 0 评论 -
网络协议系列十六 - HTTP2/HTTP3
HTTP2、HTTP3各个版本之间的关联。一、HTTP协议的不足(HTTP/1.1)同一时间,一个连接只能对应一个请求(注意:不是建立多个连接,是多个请求只能在一个连接内队列等待)。针对同一个域名,大多数浏览器允许同时最多6个并发连接。只允许客户端主动发起请求(请求应答模式,即一个请求只能对应一个响应)。同一个会话的多次请求中,头信息会被重复传输。通常会给每个传输增加500~800字节的开销。如果使用Cookie,增加的开销有时会达到上千字节。1.1. SPDYSPDY(spe原创 2021-06-24 09:52:59 · 886 阅读 · 0 评论 -
网络协议系列十五 - HTTPS
HTTPS由网景公司于1994年首次提出。HTTPS是在HTTP的基础上使用SSL/TLS来加密报文,对窃听和中间人攻击提供合理的防护。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8CwE4hWY-1624499299124)(https://blog.idbeny.com/jv2po.png@normal)]一、HTTPSHTTPS(HyperText Transfer Protocol Secure),超文本传输安全协议。常称为HTTP over TLS、HTT原创 2021-06-24 09:50:09 · 724 阅读 · 1 评论 -
网络协议系列十四 - (非)对称加密/数字签名/证书
很多开发人员经常听说加解密,但对其中原理不太了解,今天我们就一起探讨一下常用的加密原理。一、对称加密在对称加密中(也叫对称密码),加密和解密使用的是同一个密钥。常见的对称加密算法:DES3DESAES1.1. DES(Data Encryption Standard)DES是一种将64bit明文加密成64bit密文的对称加密算法,密钥长度是56bit。规格上来说,密钥长度是64bit,但每隔7bit会设置一个用于错误检查的bit,因此密钥长度实质上是56bit。由于DES每次原创 2021-06-21 09:30:58 · 460 阅读 · 0 评论 -
网络协议系列十一 - 应用层
对于HTTP大家都不陌生,但发起HTTP请求的过程都发生了什么呢?一、应用层常见协议超文本传输协议:HTTP、HTTPS文件传输:FTP电子邮件:SMTP、POP3、IMAP动态主机配置:DHCP域名系统:DNS1.1. 域名(Domain Name)由于IP地址不方便记忆,并且不能表达组织的名称和性质,人们设计出了域名(比如baidu.com)。但实际上,为了能够访问到具体的主机,最终还是得知道目标主机的IP地址。为什么不直接用域名?IP地址固定4个字节,域名随随便便都至少10几个字原创 2021-06-18 10:10:29 · 508 阅读 · 0 评论 -
网络协议系列十 - 传输层-TCP连接
TCP经典面试题:三次握手四次挥手。一、序号、确认号发送HTTP请求前先建立连接(三次握手):发送方发送数据时,并不是每次发送TCP段都需要发送确认信号的,上图中每段都发送确认信号只是为了让我们更好的理解发送流程。序号是发送方为了让接收方知道当前发送的是哪一块数据。真正的序号并不是从1开始的(相对值),而是一个很大的值(原始值),只不过为了方便记忆及学习,wireshark已经计算处理。序号是在建立连接时已经确定的。ACK号是接收方告诉发送方下一次发送数据从哪一个字节开始。序号原始值为什原创 2021-06-16 09:12:00 · 172 阅读 · 0 评论 -
网络协议系列九 - 传输层-TCP之流量控制和拥塞控制
如果接收方的缓存区满了,发送方还在疯狂发送数据,接收方只能把收到的数据包丢掉,大量的丢包会极大浪费网络资源,所以要进行流量控制。一、流量控制流量控制:让发送方的发送速率不要太快,让接收方来得及接收处理。原理:通过确认报文中窗口字段来控制发送方的发送速率;发送方的发送窗口大小不能超过接收方给出的窗口大小;当发送方收到接收窗口的大小为0时,发送方就会停止发送数据。有一种特殊情况,一开始,接收方给发送方发送了0窗口的报文段。后面,接收方又有了一些存储空间,给发送方发送的非0窗口的报文段丢失了。此时发原创 2021-06-16 09:10:48 · 1486 阅读 · 0 评论 -
网络协议系列八 - 传输层-TCP之可靠传输
TCP比UDP复杂,也是一个难点,在面试过程中也是会被大概率提问的。一、TCPTCP(Transmission Control Protocol):传输控制协议。TCP的几个要点:可靠传输、流量控制、拥塞控制、连接管理(建立和释放连接)。也正因为这几点使得首部变得很复杂。1.1. 数据偏移(Reserved)占4位,取值范围是0x0101 ~ 0x1111。乘以4就是首部长度(Header Length)。所以取值范围是5 ~ 60字节,由于首部固定部分占用20字节,所以可选部分至多占用4原创 2021-06-15 09:25:17 · 737 阅读 · 0 评论 -
网络协议系列七 - 传输层-UDP
传输层有两个协议是每一个程序员必然知道的:UDP、TCP。一、传输层(Transport)TCP和UDP的区别:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JvlOcP1G-1623720028115)(http://blog.idbeny.com/e2hys.png@normal)]1.1. 连接性TCP是面向连接,也就是说TCP传输必须先要建立连接才能通信,建立连接就是我们熟知的“三次握手”。TCP在数据传输完毕后需要断开连接,因为服务器会有端口不断的监听本原创 2021-06-15 09:21:20 · 274 阅读 · 0 评论 -
网络协议系列六 - 网络层
网络层在OSI中的比重很大,几乎所有的网络请求库都会涉及到。一、网络层(Network)网络层数据包(IP数据包:Packet)由首部、数据2部分组成。数据:很多时候是由传输层传递下来的数据段(Segment)。1.1. 版本(Version)占4位(0b0100:IPv4,0b0110:IPv6)。1.2. 首部长度(Header Length)占4位,标识该IP头部有多少个32bit字(4字节),因为4位最大能表示15,所以IP头部最长是60字节。最小值:0b0101(5 * 4原创 2021-06-11 11:36:07 · 564 阅读 · 3 评论 -
网络协议系列五 - 物理层/数据链路层
OSI七层模型中的物理层和数据链路层处于模型最底部,可以说是网络协议的基层。一、物理层(Physical)物理层定义了接口标准、线缆标准、传输速率、传输方式等(比如路由器定义的接口是做什么的、水晶头怎么排布、光缆线的作用等)。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1LDeOKLA-1623382316679)(http://blog.idbeny.com/bq7lc.jpeg@normal)]1.1. 模拟信号、数字信号模拟信号(Analog Sig原创 2021-06-11 11:33:16 · 1285 阅读 · 1 评论 -
网络协议系列四 - 路由/名词解释
在不同网段之间转发数据,需要有路由器的支持。一、路由默认情况下,路由器只知道跟它直连的网段,非直连的网段需要通过静态路由、动态路由告诉它。1.1. 静态路由管理员手动添加路由信息适用于小规模网络类型C代表直连(connected)类型S代表静态(static)路由器查找路由器(下一跳):路由器0和路由器1的接口IP地址必须在同一个网段才能通信,并且IP地址不能和已连设备的IP冲突。静态路由配置时,一般情况下是配置网段。如果想指定设备IP,可以设置网络(网段)为指定IP,原创 2021-06-09 09:34:53 · 1241 阅读 · 0 评论 -
网络协议系列三 - MAC地址/IP地址/子网掩码
MAC/IP/子网掩码在网络中非常重要,只要有网络的地方必然都会涉及这三个概念。一、MAC每一个网卡都有一个6字节(48bit)的MAC地址(Media Access Control)。全球唯一,固化在了网卡的ROM中,由IEEE802标准规定前3个字节:OUI(Organizationally Unique Identifier),组织唯一标识符,由IEEE的注册管理机构分配给厂商后三个字节:网络接口标识符,由厂商自行分配OUI查询http://standards-oui.原创 2021-06-09 09:34:24 · 4726 阅读 · 0 评论 -
网络协议系列二 - 集线器/网桥/交换机/路由器
本文假设你具备HTML+CSS+JS+Java基础(知道基本语法及如何使用即可)。一、新建Java项目并部署我们自己搭建一个简单的登录页面和服务,以此了解客户端和服务端之间的数据交互流程。提示:路径、类名、资源名尽量不要出现中文或者特殊字符。1.1. 服务端(Java)新建空项目工程命名(工程名其实就是工程根目录文件夹名称)新建模块(一个工程是由多个模块组成的)在刚刚创建的模块src下新建一个java类(src是存放模块代码的)运行上.原创 2021-06-08 10:13:00 · 553 阅读 · 1 评论 -
网络协议系列一 - 基本认识
互联网的出现,彻底改变了人们的生活方式,足不出户就可以购物、聊天、看电影、买车票等。思考:数据是如何从一个设备传递到另一个设备的?这一切都是由网络协议来规定的。没有网络协议,就没有今天的互联网/物联网。一、搭建环境要想真正了解网络之间数据如何传输?协议的约束条件?就需要一套能够发起网络请求和处理请求的环境。1.1. 客户端使用浏览器即可(会基本的HTML+CSS+JS即可)。1.2. 服务端以Java为例。1.2.1. 必装工具JDK:https://www.oracle.co原创 2021-06-08 10:05:46 · 190 阅读 · 0 评论