计算机网络(二)英特网
Chapter 1: Internet
基础概念
网络:由节点和边组成的结构
计算机网络:由主机节点(主机)和数据交换结点(数据的转发,如路由器交换机)构成的网络,边称为数据链路。
还可分为网络边缘(主机),网络核心(数据交换),接入(连接网络边缘和网络核心)
P2P(peer):分布式处理,客户端也可以是服务端
吞吐量:在源主机和目标主机之间的有效传输速率
网络核心
电路交换:独享资源,保证性能(计算机之间的通信有突发性,使用该方法则浪费的片较多)
分组交换:不独占资源,数据分组,存储转发(存在排队延迟和丢失,维护队列,超过长度则丢弃分组)
网络资源(如带宽)分成片:时分,频分,波分,码分
分组延时
节点处理延时:检查bit级差错,检查分组首部和决定将分组导向何处
排队延时:在输出链路上等待传输的时间
传输延时:将分组发送到链路上的时间
传播延时:在链路上的传输时间
分组丢失
传输队列满,分组丢弃
层次结构
服务(service):低层实体向上层实体提供它们之间的通信的能力
原语(primitive):上层使用下层服务的形式
面向连接的服务:建立连接,通信,拆除连接(特点:保序)
无连接的服务:两个对等层实体在通信前不需要建立连接,不预留资源,不需要通信双方都是活跃(特点:不可靠,可能重复,可能失序)
计算机网络层次结构
基础划分
物理层:将帧转换为物理信号,在物理介质上传输(位)
数据链路层:使数据在相邻节点(同一子网内的主机)传输(帧)
网络层:使数据在端(主机)到端(主机)进行传输(分组packet,如果为无连接,称为数据报)
传输层:使数据在进程到进程进行传输,将网络层不可靠服务处理为可靠服务(报文段)
应用层:网络应用(报文)
网络OSI模型
应用层:负责给应用程序提供统一的接口
表示层:负责把数据转换成兼容另一个系统能识别的格式(HTML解析等)
会话层:负责建立、管理和终止表示层实体之间的通信会话(Cookie等)
输入网址后发生了什么
- 解析URL:确定Web服务器名和文件名
- 查询IP地址:通过DNS服务器
- 建立客户端与服务器的连接:TCP三次握手(若为HTTPS则还有SSL/TLS四次握手)
- 客户端发送 HTTP 请求:获取网址对应资源
- 服务器返回 HTTP 请求
- 浏览器渲染页面
IPV4与IPV6的区别
| 特性 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 位(4 字节) | 128 位(16 字节) |
| 地址表示 | 点分十进制,如:192.168.0.1 | 十六进制冒号分隔格式,如:2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
| 地址类别 | 公有地址和私有地址(如:192.168.x.x) | 公有地址(无私有地址概念) |
| 网络层协议 | 支持 NAT(网络地址转换) | 不支持 NAT(避免使用 NAT) |
| 报头大小 | 20 字节(最小) | 40 字节(固定大小) |
| 路由效率 | 路由表较大,处理效率较低 | 路由表较小,处理效率更高 |
| 报头字段 | 12 个字段(包含数据包长度、源地址、目的地址等) | 8 个字段(简化了报头字段,去掉了一些不常用字段) |
| 协议类型 | 使用 ARP(地址解析协议)来解析 MAC 地址 | 使用 NDP(邻居发现协议)来解析 MAC 地址 |
| 安全性 | 原生不支持安全性,通常需要通过 IPSec 实现 | 原生支持 IPSec,增强了安全性 |
| 广播 | 支持广播(广播会向网络上的所有设备发送数据) | 不支持广播,使用组播(Multicast)代替广播 |
| 配置方式 | 可以手动配置或使用 DHCP(动态主机配置协议) | 支持自动配置(无状态地址自动配置) |
| 性能 | 在网络负载较高时,处理速度较慢 | 更高效,优化了传输过程中的处理速度 |
HTTP 与 HTTPS
区别
- HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。
- HTTP 连接建立相对简单, TCP 三次握手之后便可进行 HTTP 的报文传输。而 HTTPS 在 TCP 三次握手之后,还需进行 SSL/TLS 的握手过程,才可进入加密报文传输。
- 两者的默认端口不一样,HTTP 默认端口号是 80,HTTPS 默认端口号是 443。
- HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。
HTTPS核心(数字证书)
背景(传统数字签名算法)
发送方A对发送数据计算出哈希值H后通过A的私钥对数字签名加密后,发送给B。B通过发送数据计算出相同的哈希值H,后通过A的公钥对数字签名解密得值C,比对C与H是否相等
但其局限在于攻击方可以通过伪造一组公私钥,把公钥发给B,然后自己申明为A发送数字签名。这就需要引入第三方机构数字证书
数字证书
通过数字证书把服务器的公钥和CA认证信息绑定,通过CA公钥认证数字证书的安全性,解密出服务器的公钥
