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

137 阅读6分钟

01前言和课程介绍

目的:建立对计算机网络的整体认知,网络协议分层,http原理,CDN,网络安全

02引例:蟹堡王帝国

  • 外卖服务
  • 分店和通信线路

对应关系:

  • 顾客:客户端
  • 分店:服务端
  • 小区转发点:路由器
  • 转发表格:网络协议

03网络组成

  • 主机
  • 路由器
  • 网络协议

电路交换和分组交换

  1. 像老式电话那样在两端建立通话连接,只有双方之间通信时,才会占用通道,通话结束后便会释放通道。这就是电路交换。
  2. 像现在的网络通信,数据被分包发送,路由器将数据包转发到最终目标地址,数据包之间可能会使用不同的路径,但是会在目标地址处按照特定的顺序重新组装,这就是分组交换。
  3. 总的来说,电路交换在传输效率和带宽利用率方面比分组交换低,但是保证了通信的实时性,所以常被用于语音通信和视频通信等场景;分组交换则常被用于数据传输场景中,比如Web浏览等。

网络分层

网络分层是指将计算机网络的功能划分为不同的层次,每一层只需要关注自己的功能,而不需要了解其他层的具体实现细节。这种分层的方法可以让网络的设计更加灵活,易于扩展和维护,同时也可以提高网络的性能和安全性。

例如,TCP/IP协议就采用了经典的四层网络模型,分别是应用层、传输层、网络层和数据链路层。其中,应用层负责处理特定的应用程序协议,例如HTTP、FTP等;传输层负责提供可靠的端到端数据传输服务,例如TCP和UDP协议;网络层负责对数据进行路由选择和转发,例如IP协议;数据链路层负责在物理介质上传输数据帧,例如以太网协议。

通过这种分层的方式,不同的层次之间可以互相独立地进行设计和实现,而且不同的协议也可以在相应的层次上进行扩展和优化,从而提高网络的性能和可靠性。

协议

网络中的协议就像人与人之间的交流一样,是用来规定通讯双方之间如何传递信息的一套规则。比如HTTP协议是用来在Web浏览器和Web服务器之间传输数据的协议,SMTP协议是用来在电子邮件客户端和电子邮件服务器之间传输邮件的协议。类比于人与人之间的交流,就像我们在不同场合下会使用不同的语言和礼仪一样,网络中的协议也有各自的特点和应用场景。通过遵循这些协议,不同的设备和系统可以在网络上进行无障碍的互联和通讯。

标头和载荷

标头是网络数据包的开头部分,其中包含了一些元数据,如源地址、目标地址、数据包类型等。标头的作用是让网络设备能够识别数据包的来源和目的地,并根据数据包类型进行相应的处理。

载荷则是网络数据包的主体部分,其中包含了实际传输的数据。载荷的结构和内容根据不同的协议而异,可以是文本、图像、音频、视频等各种形式的数据。

举个例子,假设你要通过互联网发送一封电子邮件,那么邮件的标头会包括发件人和收件人的电子邮件地址,邮件主题等信息,而邮件的正文则是载荷部分,其中包含了你要发送的文本内容。在网络传输过程中,标头和载荷会一起被封装成网络数据包,并通过网络传递到收件人的电子邮件服务器,最终被解析出来,显示在收件人的电子邮件客户端中。

04web应用

HTTP协议

  • http1.1:无法多路复用
  • http2:帧
  • http3:QUIC:Quick UDP Internet Connection

CDN:

CDN是内容分发网络的缩写,是一种用于提高Web应用性能和可靠性的技术。它通过将网站的静态内容如图片、样式表、脚本等复制到分布在全球各地的服务器上,让用户从最近的服务器获取这些内容,从而减少了用户访问网站时的延迟和网络拥堵,提高了用户的访问速度和体验。同时,CDN也可以帮助网站减少服务器的负担,提高了网站的稳定性和安全性。

DNS劫持:

DNS劫持是一种网络攻击,它利用了DNS系统中的漏洞,将用户的请求重定向到错误的IP地址,从而导致用户无法访问他们要访问的网站或者访问到虚假的网站。

CDN的拉策略和推策略:

拉策略是指客户端从CDN服务器主动拉取数据,而推策略则是CDN服务器将数据主动推送给客户端。

拉策略和推策略各有优缺点,需要根据具体的应用场景来选择。比如,对于实时性要求较高的应用,如直播和实时游戏等,推策略可以更快地将数据传输给客户端,减少延迟;而对于静态资源,如图片和视频等,拉策略可以更加灵活地控制数据的传输和缓存,从而提高性能和节省带宽成本。

webSocket:

WebSocket是一种计算机通信协议,用于在Web应用程序中进行双向通信。它允许客户端和服务器之间建立持久性连接,从而使双向数据传输成为可能。

一个常见的 WebSocket 实现例子是聊天室应用程序。当用户连接到聊天室时,他们可以发送消息并接收来自其他用户的消息。WebSocket 可以让这个过程更加实时和高效。客户端通过 WebSocket 协议与服务器通信,服务器可以实时将消息推送给客户端,而不需要客户端每次都发送请求来拉取新消息。这种实时性和高效性使得 WebSocket 在实时应用程序中非常有用,比如在线游戏或者股票交易平台。

05网络安全

加密:

加密技术是网络安全中不可或缺的一部分,其中对称加密和非对称加密是两种常见的加密方式。对称加密使用相同的密钥对数据进行加密和解密,而非对称加密则使用一对公钥和私钥来加密和解密数据。这两种加密方式各有优缺点,且都在不同的场合下发挥着重要的作用。