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

63 阅读4分钟

一、计算机网络基础

1. 网络组成部分

(1)主机:客户端和服务端

(2)路由器

(3)网络协议

2. 协议

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

3. 网络分层

(1)链路层-本地帧头部、IP协议头部

负责将IP数据报封装成合适在物理网络上传输的帧格式并传输,或将从物理网络接收到的帧解封,取出IP数据报交给网络层。

(2)运输层-TCP协议头部

负责为信源和信宿提供应用程序进程间的数据传输服务,这一层上主要定义了两个传输协议,传输控制协议即TCP和用户数据报协议UDP

(3)应用层-HTTP协议头部

   支持网络应用应用协议仅仅是网络应用的一个组成部分,运行在不同主机上的进程则使用应用层协议进行通信。

(4)物理层

负责将比特流在结点间传输,即负责物理传输。该层的协议既与链路有关也与传输介质有关。

二、Web应用

1.http

(1)http1:无法多路复用

(2)http 2

   前三个字节:表示帧的长度,第四个字节表示类型,第五个字节表示类型对应的flags,第六到第九字节,第一位:保留位,第二位2到32位流的id,之后的位数表示载荷。

优势:

调整响应传输的优先级

头部压缩

Server Push

(3)http 3:QUIC

Quick UDP Internet Connection

现存网络设备对TCP和UDP支持已经僵化UDP不靠谱但是QUIC靠谱

QUIC可以为除HTTP协议以外的应用层协议提供支持

2.CDN (DNS劫持)

(1)域名解析─般由网站自己处理

(2)要加速的域名则重定向到CDN厂商的域名解析服务处理.CDN厂商根据来源确定最近的CDN服务器的IP

(3)用户直接访问最近的CDN服务器

3.WebSocket

(1)定义:一种在单个TCP连接上进行全双工通信的协议。

(2)特点:

·有状态的持久连接

·服务端可以主动推送消息

·用WebSocket发送消息延迟比HTTP低  

三、网络安全

1. 网络安全三要素

机密性:攻击者无法获知通信内容

完整性:攻击者对内容进行篡改时能被发现

身份验证:攻击者无法伪装成通信双方的任意一方与另一方通信

2. 对称加密和非对称加密

(1)对称加密:对称加密加密和解密使用同一个密钥

(2)非对称加密:非对称加密加密和解密所使用的不是同一个密钥(公钥和私钥),需要两个密钥来进行加密和解密,而且公钥加密只能用私钥解密、私钥加密只能用公钥解密。(注意:数字签名和数字鉴别只能使用非对称加密)

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

(1)定义:密码散列函数是散列函数的一种。它被认为是一种单向函数,也就是说极其难以由散列函数输出的结果,回推输入的数据是什么。 (2)特点: 单向性:一个散列值,无法通过计算得出输入值,只能从输入计算得出散列值,不能根据散列值计算输入值。 不可伪造:即便固定长度的散列值被截获,截获的人无法伪造出一个对应的输入值(明文或发送数据)

3. 实现身份验证和完整性

(1)完整性

实现:

~OUCKCI_D3R1B5S$10HERA4.png

(2)身份验证

数字签名:对明文内容的哈希值使用私钥加密,验证者使用公钥验证

数字签名(指纹)=私钥加密(密码散列函数(原文))

消息=原文+数字签名

一般用于对公开内容(如包含公钥的证书)进行数字签名,防止篡改。

总结

本篇对网络基础和网络安全进行大概的描述,主要方便大家去了解网络的结构和组成,对网络安全的身份验证有一个认识,对网络有一个整体的认识,其实真正的网络层次结构是非常的复杂的,对大家的日常开发只需要去了解就行,希望这篇文章对你们有所帮助。