计算机网络概论 | 青训营笔记

36 阅读4分钟

计算机网络基础

网络组成部分

  • 主机:客户端和服务端
  • 路由器
  • 网络协议

1、按照工作方式分类
边缘部分、核心部分
边缘部分用户可以直接使用
边缘部分分为两种模式:C/S模式(客户/服务器模式)、P2P模式(对等模式)
核心部分为边缘部分服务

2、按照功能组成分为
通信子网、资源子网
通信子网用于实现数据通信(下三层)
资源子网实现资源共享/数据通信(上三层)

141d02c3f7c5dce2a5026c0028e57a1.png

网络结构:网络中的网络

以海绵宝宝中蟹堡王及其分店为例

  • 比奇堡和小区网络:本地网络
  • 北京和上海分店+比奇堡:三个本地网络节点的网络
  • 全国通信网络:本地网络的网络
  • 区域网络、城域网和广域网

计算机网络分类

21ff2955e44e2758ae6d2cf2e9178a3.png

小结

  • 网络组成部分:由主机、路由器、交换机等组成
  • 网络结构:网络中的网络
  • 信息交换方式:电路交换和分组交换
  • 网路分层:分清职责,物理层、链路层、网络层、运输层和应用层
  • 网络协议:标头和载荷

Web中的网络

HTTP协议介绍

HTTP(Hyper Text Transfer Protocol):全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP 是一种应用层协议,是基于 TCP/IP 通信协议来传递数据的,其中 HTTP1.0、HTTP1.1、HTTP2.0 均为 TCP 实现,HTTP3.0 基于 UDP 实现。现主流使用 HTTP1.0 和 HTTP3.0

协议:为了使数据在网络上从源头到达目的,网络通信的参与方必须遵循相同的规则,这套规则称为协议,它最终体现为在网络上传输的数据包的格式。

通俗点讲,协议就是要保证网络通信的双方,能够互相对接上号。就像是两个人传递纸条通过互相指定的暗号,如果发送天亮了,表示可以打游戏了等等

HTTP协议的工作过程

当我们在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程。
基础术语:

  • 客户端:主动发起网络请求的一端
  • 服务器:被动接收网络请求的一端
  • 请求:客户端给服务器发送的数据
  • 响应:服务器给客户端返回的数据

HTTP协议的重要特点: 一发一收,一问一答。

f967ee040ccdf532ba17f11411cb929.jpg

CDN:DNS劫持

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

WebSocket

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

WebSocket:实例

客户端代码

const WebSocket = require('ws');

const ws = new WebSocket('ws://localhost:8080');

ws.on('open',function open(){
    //当连接建立时,向服务端发送一条消息
    ws.send('something');
});

ws.on('message',function message(data){
    //当收到来自服务端的邀请时,打印出来
    console.log('receiver: %s',data)
});    

小结

  • HTTP 1 2 3 的演进历史
  • CDN解决了HTTP协议之外的问题
  • WebSocket从HTTP协议升级而来

网络安全

三要素

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

对称加密和非对称加密

  • 对称加密:加密、解密用同样的密钥
  • 非对称加密:加密、解密使用不同的密钥(公钥和私钥),而且公钥加密只能用私钥解密、私钥加密只能用公钥解密

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

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

机密性

  • 加密需要加密算法和密钥等信息(通称为秘密信息)
  • 网络是明文的,不安全

完整性和身份验证

完整性和身份验证相互关联

小结

  • 网络安全三要素:机密性、完整性和身份验证
  • 在没有提前交换秘密信息的前提下,无法在不安全的信道交换秘密信息
  • PKI保证了普通用户不需要“面对面”和根证书机构交换根证书
  • HTTPS使用PKI完成了除客户端身份验证以外的特性,客户端身份验证靠HTTP协议实现。