网络基础知识
一、网络分层模型
OSI七层模型
- 应用层: 为应用程序提供服务
- 表示层: 数据格式转化、数据加密
- 会话层: 建立、管理和维护会话
- 传输层: 建立、管理和维护端对端的连接
- 网络层: IP选址和路由选择
- 链路层: 提供介质访问和联络管理
- 物理层: 物理传输
TCP/IP四层模型
应用层
- 提供应用程序网络通信服务
- 不同应用之间通信
- 负责处理特定应用程序的细节,为应用程序提供网络服务。
- 超文本传输协议(HTTP)
- 简单邮件传输协议(SMTP)
- 文件传输协议(FTP)
- 域名系统(DNS)
- 远程终端协议(Telnet)
传输层
- 不同进程通信
- 负责在网络中的两个系统之间提供端到端的通信
- 传输控制协议(TCP)
- TCP提供可靠的、面向连接的通信
- 三次握手/建立连接
- 四次挥手/关闭连接
-
用户数据报协议(UDP)
UDP是一种无连接的、不可靠的通信方式
-
数据报文传输协议(DCCP)
-
实时传输协议(SCTP)
-
QUIC
网络层
- 主机之间通讯
- 负责在多个网络之间传输数据包
- 互联网控制消息协议(ICMP)
- ARP地址解析协议
- RARP反向地址解析协议
- 互联网协议(IP),包括IPv4和IPv6
物理层
- 与物理网络媒体直接交互
- 负责将数据包转换成可以通过物理网络传输的比特流
- 点对点协议PPP
- 以太网Ethernet
- HDLC高级数据链路控制
- Wi_Fi
二、常见网络协议
HTTP
- 发展历史
- HTTP/0.9
只支持纯文本
- HTTP/1 无状态、无连接
只支持纯文本
- HTTP/1.1
只支持纯文本
- HTTP/2
只支持纯文本
- HTTP/3
只支持纯文本
- 报文结构
- 请求方法
- 请求地址
- 请求头
- 请求内容
- 状态码
- 200-299成功状态码
- 300-399重定向状态码
- 400-499客户端错误码
- 500-599服务器错误码
- 开源的HTTP客户端框架
OkHttp
SSL+TLS
- 加密
- 对称加密
- 非对称加密
- 数字证书CA
由可信第三方证书颁发机构的签名
- 安全套接层SSL
存在一些已知的安全漏洞,被TLS替代了
- 安全传输层TLS 安全性上有显著改进,特别是在密钥交换、加密算法和消息认证方面
加密流程
DNS
网域名称系统,域名 和 IP 相互映射的分布式数据库
-
解析过程 输入域名 本地DNS缓存检查 递归查询 权威DNS服务器查询 返回解析结果
-
攻击手段
- DNS劫持
- DNS欺骗
- DDoS攻击
VPN
虚拟专用网络,在不安全的网络环境中提供安全的通信通道 工作原理
Socket
两种类型 流式套接字 数据报套接字
编程语言
Android中运用