计算机网络概论 | 青训营笔记
大纲
1、蟹堡王帝国(对计算机网络的整体认识)
2、计算机网络基础
3、Web中的网络
4、网络安全
一、蟹堡王帝国
三步走战略
为了扩大蟹堡王的服务,采用以下三步来实现
1、外卖点餐问题: 占线、重复行工作----传真机解决(美团,统一点单流程(网络协议))
2、分店问题: 信息不同步、多地区需求、信息传输路径重复----同步信息、分店、设置转发点(服务器、路由器)
对比下面两图
3、总结: a、在实现地区网络通信的时候,我们常在多个小地方设置站点,一个站点对应一个小地方,最后统一接收不同小地方的站点(分而治之)。 b、所有的信息最终都会传输到总部,不同地区传输的信息格式不同,我们需要统一规定上传信息格式,方便总部及其他站点对于信息的接收和处理(网络协议)。
二、计算机网络基础
网络组成部分
网络主要有以下几部分组成
1、主机:客户端、服务端:
通常包括 CPU、内存、主板、硬盘、光驱、电源、机箱、散热系统以及其他输入输出控制器和接口。 是发送信息、接收信息的终端设备
2、路由器:
路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。 转发信息
3、网络协议: 网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 提供统一格式,方便对信息编码、解码
网络结构:网络的网络
网络可分为
本地网络 (区域网)
本地网络节点的网络 (城域网)
本地网络的网络 (广域网)
电路交换&分组交换
信息交换方式一般为两种:电路交换、分组交换
1、电路交换:(电话订单)
是通信网中最早出现的一种交换方式,也是应用最普遍的一种交换方式,主要应用于电话通信网中,完成电话交换,已有100多年的历史。
特点:
a、信息传送的最小单位是时隙; b、面向连接; c、同步时分复用; d、信息传送无差错控制; e、基于呼叫损失的流量控制; f、信息具有透明性。
独占性:建立电路之后、释放线路之前其线路是独立的,不能共享线路资源、复用,利用率较低,容易出现占线问题、资源浪费多。
可靠性:由于线路是独立的,数据传输可靠、迅速、数据不会丢失,基本不会出现抖动现象,通信可靠性高,延时也非常小,仅仅是电磁信号传输时所花费的延时。
2、分组交换:(传真订单)
在通信过程中,通信双方以分组为单位、使用存储-转发机制实现数据交互的通信方式,被称为分组交换。分组交换的本质就是存储转发,它将所接受的分组暂时存储下来,在目的方向路由上排队,当它可以发送信息时,再将信息发送到相应的路由上,完成转发。其存储转发的过程就是分组交换的过程。
特点:
a.信息传送的最小单位是分组,分组由组头和用户信息组成,分组头含有选路和控制信息。 b.面向连接,有逻辑连接和无连接两种工作方式 c.统计时,分复用,动态分配带宽。 d.信息传送为有差错控制分组交换是专门为数据通信网设计的交换方式。 e.信息传送不具有透明性分组交换对所传送的数据信息要进行处理,如拆分、重组信息等。 f.基于呼叫延迟制的流量控制
利用率高:较之电路交换对链路的独占性而言,不同的数据分组可以在同一条链路上以动态共享和复用方式进行传输,通信资源利用率高。
网络分层
网络主要分为以下五层:参考百度百科
1、应用层 2、传输层 3、网络层 4、数据链路层 5、物理层
协议
协议的存在依赖于连接。 协议定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和/或接收一条报文或者其他事所采取的动作。
标头和载荷
计算机在请求和响应时在协议的约束下,会包含请求/响应的标头和载荷。他的存在让计算机知到这个请求/响应是由谁发出,发出的内容,发给谁。就像快递面单
http协议示例
不同段落包含不同协议的内容!
TCP协议格式
计算机网络基础小结
三、Web中的网络
HTTP协议基本结构
http协议由请求和响应两个部分,第一行‘get’为请求方式, ‘/’为资源路径,‘http/1.1’是协议版本。
我们需要认识该协议,能够帮助我们在浏览器中查看每一个请求的具体内容,方便我们纠错...
HTTP连接模型
http和tcp都是二进制数据传递数据的,http能够以明文展示出来,更便于人理解。
参考下图:
HTTP1.0,也就是在1982年,Tim Berners-Lee提出了HTTP/1.0。在此后的不断丰富和发展中,HTTP/1.0成为最重要的面向事务的应用层协议该协议对每一次请求/响应建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。但是每一次请求都需要服务端响应后才能进行第二次请求,网络利用率低,不能复用。
HTTP1.0,双方规定了连接方式和连接类型,这已经极大扩展了HTTP的领域,但对于互联网最重要的速度和效率,并没有太多的考虑。毕竟,作为协议的制定者,当时也没有想到HTTP会有那么快的普及速度。同样是请求对应响应,请求仍然需要排队,无法多路复用。
HTTP2.0的前身是HTTP1.0和HTTP1.1。虽然之前仅仅只有两个版本,但这两个版本所包含的协议规范之庞大,足以让任何一个有经验的工程师为之头疼。网络协议新版本并不会马上取代旧版本。实际上,1.0和1.1在之后很长的一段时间内一直并存,这是由于网络基础设施更新缓慢所决定的。HTTP2采用帧的方式,将多个请求拆分到帧中,每个帧可以携带来自不同http请求里的数据,这样可以实现请求的复用。
在http2中帧的形式带来了额外好处
1、调整了响应传输的优先级
2、头部压缩
3、Server Push
HTTP3
如果用tcp包来解析http2中的帧,会出现丢包象限,对于趋于完善的http协议来说,很难有方法来解决这个问题,所以http3:QUIC来啦!
QUIC
QUIC是快速UDP网络连接的缩写,是一种实验性的传输层网络传输协议。 QUIC希望能够提供等同于SSL/TLS层级的网络安全保护,减少数据传输及创建连接时的延迟时间,双向控制带宽,以避免网络拥塞
以下连接为例:
一次连接
二次连接
CDN
CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
具体参考百度百科
WebSocket
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。
WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
WebSockets 它可以在用户的浏览器和服务器之间打开交互式通信会话。使用此API,可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应.WebSocket 对象提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据的API。
Web网络小结
四、网络安全
倡导做一个遵纪守法的好网民!
1、网络安全:三要素
2、对称加密和非对称加密
3、密码散列函数(哈希函数)
4、机密性
5、完整性和身份验证
6、HTTPS
HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。
网络安全小结
总结
到此,对于计算机网络算是有了一个大概的认识,计算机网络整体架构,计算机网络的组成,Web中的网络Http、CDN,网络安全。