网络接入与传输体会 | 青训营笔记

38 阅读4分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 17 天

前言

了解HTTPS概念很久了,而后又陆陆续续接触了许多人讲解HTTP协议、三次握手四次挥手、报头报文等内容,但本人心中仍有疑惑,不知这到底是怎么回事。

我记得曾经读过一篇文章,(原文链接:如果把网络原理倒过来看,从无到有,一切都清晰了

该作者说得很到位:

“我发现绝大数人和我一样对网络原理充满困惑,不是因为不好理解,而是它往往都是直接告诉你它是什么,但它并不告诉你为什么要这样。”

这几天开发项目有感而发,特此记录。

1. 我到底是怎么连上网的

我们从小到大就知道:

家里有个路由器,路由器有一根总电线在墙里面。路由器接上了网,家里面的设备就能通过链接路由器来联网了。

1.1 路由器又是怎么联网的

因为路由器有一根线接在墙里面,所以路由器联网了。(雾)

现在通过光纤入户,也就是把网络信号转换为光信号进行传输,通信容量大,损耗低,中继距离长

光纤入户,就是外部的电缆接了一根到家里。

光纤传输的是光信号,不能被手机电脑等需要数字信号的设备直接使用。

所以我们需要把光信号转化为数字信号——Modem

这个猫是音译,是 Modem 的谐音,Modem 其实是一个合成词,是 modulator(调制器)和 demodulator(解调器)的合成,就是“调制解调器”。调制解调器一端通过多种方式连接你的互联网服务提供商的基础设施,比如: 电缆,电话线,卫星或光纤连接;另一端则通过以太网缆线的方式,连接你的任何一台设备。(来源:计算机网络-我家是怎么上网的?

1.2 我连上了路由器,然后呢?

路由器师傅你到底是做什么工作的?

多开网口。家里面有多台设备需要联网,但是只有一个IP地址,这时候就需要路由器来协助多台设备进行联网操作,通过路由器代替了以前的交换机。

路由器数据层面的工作:将路由器输入端的数据包移送至适当的路由器输出端。

具体功能:

  • 路由:收集网络拓扑信息并动态形成路由表
  • 转发:根据转发表(FIB)转发IP数据包
  • 子网间速率适配
  • 隔离子网
  • 隔离广播域
  • 指定访问规则

不同类型的网络互联:路由器经常会收到以某种类型的数据链路帧封装的数据包,当转发这种数据包时,路由器可能需要将其封装为另一种类型的数据链路帧。数据链路封装取决于路由器接口的类型及其连接的介质类型。

1.3 我的手机是怎么连上路由器的?这其中经历了什么?

手机通过电磁信号与路由器建立连接,实现上网功能。

2. 对称加密、非对称加密

加密和解密用的都是同一个秘钥的加密形式,就叫对称加密。

常见的对称加密算法有: DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES

非对称加密,加密和解密用到的不是同一个秘钥,而是两个不一样的秘钥,分别是公钥和私钥。

常见的非对称加密算法有: RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

RSA大名

RSA这个如雷贯耳的词,在我近一个月的开发过程中总是遇到,让我不由得感叹:这到底是什么奇妙的算法?

RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,当时他们三人都在麻省理工学院工作。RSA就是他们三人姓氏开头字母拼在一起组成的。

image.png

计算方法:

1. 选择两个大素数p和q(典型值为1024位)  
2. 计算`n=p×q``z=(p-1)×(q-1)`  // n表示欧拉函数  
3. 选择一个与z互质的数,令其为d  
4. 找到一个 e 使满足` exd= 1 (mod z)`  
5. 公开密钥为`(e,m)`,私有密钥为`(d,m)`

加密方法:

1. 将明文看成比特串,将明文划分成k位的块 P 即可,这里k是满足 2*k<n 的最大整数。  
2. 对每个数据块 P,计算 C= P^(mod n),C 即为P的密文。

解密方法:

对每个密文块 C,计算 P=C^d(mod n), P即为明文

未完待续~