计算机网络概述

157 阅读4分钟

计算机网络概述

建立对计算机网络的基本认识,对计算机网络中的各种概念(网络分层、网络协议、网络应用等)有初步的理解。进而可以在后续的实际工作中能高效解决网络问题。

收获的知识点

  • 通过示例建立对计算机网络的整体认识
  • 建立对网络协议分层的认知
  • 分析HTTP1、2、3的关系
  • CDN运行的基本原理
  • 了解网络安全的最基本原则

分析方法

自底向上

  • 从简单开始,逐渐变复杂
  • 将模块逐渐拼凑成一个系统

自顶向下

  • 从复杂开始,逐渐变简单
  • 从复杂的系统问题入手,拆分为模块问题

image.png

网络基础

网络组成部分

  • 主机:客户端和服务端
  • 路由器:连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号
  • 网络协议

常见网络协议

  1. UDP:用户数据包协议,位于传输层,和IP协议配合使用,因为不能提供数据包的重传,所以适合传输较短的文件;
  2. NFS:网络文件服务器,可使多台计算机透明地访问彼此的目录;
  3. FTP:远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上;
  4. SMTP:简单邮政传输协议,用于传输电子邮件;
  5. Telnet:提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样.
  6. HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

网络结构:网络的网络

电路交换&分组交换

电路交换的步骤:

  1. 建立连接(分配通信资源,建立一个专用的物理通路)
  2. 通话,一直占用通信资源。
  3. 释放连接(归还通信资源。) 线路的传输效率往往很低,所以不适合用在交换传送计算机数据。 因此在互联网中,一般采用分组交换的。

网络分层

关于因特网分层,主流上一般将计算机分为 7 个层次,并称这种分层方式为——“ OSI ”模型。具体可以看如下这张例图。 image.png

目录如下:

1、应用层 链接
2、运输层 链接
3、网络层 链接
4、链路层 :链接
5、物理层 :链接

协议

协议的存在依赖于连接

协议定义了在两个或多个通信实体之间交换的报文格式顺序,以及报文发送和/或接收一条报文或其他事件所采取的动作。

标头和载荷

标头:是服务器以HTTP协议传HTML资料到浏览器前所送出的字串 载荷:给服务器或浏览器传递的讯息

HTTP协议示例

image.png

web中的网络

HTTP1、2、3的演进历史

  • HTTP 1.1:无法多路复用
  • HTTP 2:帧
    • 前三个字节:载荷长度
    • 第四个字节:类型
    • 第五个字节:类型对应的Flags
    • 第六到第九字节:第1位:保留位,第2-32位:流ID
    • 随后的8192字节:载荷

帧带来的额外好处

  • 调整响应传输的优先级
  • 头部压缩
  • Server Push

HTTP2:队头阻塞,但是在TCP上

HTTP2:3 RTT启动

HTTP 3;QUIC

  • Quick UDP Internet Connection
  • 现存网络设备对TCP和UDP支持已经僵化

CDN解决了HTTP协议之外的问题 DNS劫持

  • 域名解析一般有网站自己处理
  • 要加速的域名则重定向到CDN厂商的域名解析服务处理
  • CDN厂商根据来源确定最近的CDN服务器的IP
  • 用户直接访问最近的CDN服务器

WebSocket从HTTP协议升级而来

  • 有状态的持久连接
  • 服务端可以主动推送消息
  • 用WebSocket发送消息延迟比HTTP低

网络安全

三要素:

  • 机密性:攻击者无法获知通信内容
  • 完整性:攻击者对内容进行篡改时能被发现
  • 身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信

对称加密和非对称加密

  • 对称加密:加密、解密使用相同的密钥
  • 非对称加密:加密、解密用不同的密钥(公钥和私钥),用公钥加密需要私钥解密,反之用公钥解密

密码散列函数(哈希函数)

  • 输入:任意长度的内容
  • 输出:固定长度的哈希值
  • 性质:找到两个不同的输入使之经过密码散列函数后有相同的哈希值,在计算上是不可能的

PKI:分发证书、验证证书的基础设施称为PKI,Public Key Infrastructure

HTTPS=HTTP+TLS TLS=身份验证+加解密 身份验证靠PKI