目录

计算机网络(二)英特网

Chapter 1: Internet

基础概念

网络:由节点和边组成的结构

计算机网络:由主机节点(主机)和数据交换结点(数据的转发,如路由器交换机)构成的网络,边称为数据链路。

还可分为网络边缘(主机),网络核心(数据交换),接入(连接网络边缘和网络核心)

P2P(peer):分布式处理,客户端也可以是服务端

吞吐量:在源主机和目标主机之间的有效传输速率

网络核心

电路交换:独享资源,保证性能(计算机之间的通信有突发性,使用该方法则浪费的片较多)

分组交换:不独占资源,数据分组,存储转发(存在排队延迟和丢失,维护队列,超过长度则丢弃分组)

网络资源(如带宽)分成片:时分,频分,波分,码分

分组延时

节点处理延时:检查bit级差错,检查分组首部和决定将分组导向何处

排队延时:在输出链路上等待传输的时间

传输延时:将分组发送到链路上的时间

传播延时:在链路上的传输时间

分组丢失

传输队列满,分组丢弃

层次结构

服务(service):低层实体向上层实体提供它们之间的通信的能力

原语(primitive):上层使用下层服务的形式

面向连接的服务:建立连接,通信,拆除连接(特点:保序)

无连接的服务:两个对等层实体在通信前不需要建立连接,不预留资源,不需要通信双方都是活跃(特点:不可靠,可能重复,可能失序)

计算机网络层次结构

基础划分

物理层:将帧转换为物理信号,在物理介质上传输(位)

数据链路层:使数据在相邻节点(同一子网内的主机)传输(帧)

网络层:使数据在端(主机)到端(主机)进行传输(分组packet,如果为无连接,称为数据报)

传输层:使数据在进程到进程进行传输,将网络层不可靠服务处理为可靠服务(报文段)

应用层:网络应用(报文)

网络OSI模型

应用层:负责给应用程序提供统一的接口

表示层:负责把数据转换成兼容另一个系统能识别的格式(HTML解析等)

会话层:负责建立、管理和终止表示层实体之间的通信会话(Cookie等)

输入网址后发生了什么

  1. 解析URL:确定Web服务器名和文件名
  2. 查询IP地址:通过DNS服务器
  3. 建立客户端与服务器的连接:TCP三次握手(若为HTTPS则还有SSL/TLS四次握手)
  4. 客户端发送 HTTP 请求:获取网址对应资源
  5. 服务器返回 HTTP 请求
  6. 浏览器渲染页面

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 默认端口号是 80HTTPS 默认端口号是 443
  • HTTPS 协议需要向 CA(证书权威机构)申请数字证书,来保证服务器的身份是可信的。

HTTPS核心(数字证书)

背景(传统数字签名算法)

发送方A对发送数据计算出哈希值H后通过A的私钥对数字签名加密后,发送给B。B通过发送数据计算出相同的哈希值H,后通过A的公钥对数字签名解密得值C比对C与H是否相等

但其局限在于攻击方可以通过伪造一组公私钥,把公钥发给B,然后自己申明为A发送数字签名。这就需要引入第三方机构数字证书

数字证书

通过数字证书把服务器的公钥和CA认证信息绑定,通过CA公钥认证数字证书的安全性,解密出服务器的公钥