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

159 阅读7分钟

计算机网络概论

一.蟹堡王

教程中通过蟹堡王在全国搭建销售网络的例子,非常形象的类比描述了计算机网络的搭建过程。

二. 网络基础

1.网络组成部分:

主机:客户端,服务端。

路由器:连接各个网络的节点。

网络协议:为实现网络通信而规定的一套通信规则和标准。

通过查阅资料,一个完整的计算机网络主要分为以下几个部分

(1)硬件设备: 包括计算机、路由器、交换机、网卡、光纤等网络设备。

(2)软件系统: 包括操作系统、网络协议、通信软件等。

(3)协议: 计算机网络是由一系列规范约束的协议组成的,例如:TCP/IP、HTTP、FTP等。

(4)数据传输介质: 传输介质用于传输数据,例如:网线、无线电波、光纤等。

(5)网络拓扑结构:描述多个节点互相连接的模式,例如:星型、环型、总线型、树型等。

这些组成部分一起协同工作,实现了计算机之间的数据通信和资源共享。

2.网络结构

在计算机网络中,"网络"通常指的是一组相互连接的计算设备,例如计算机、服务器、路由器、交换机、无线访问点等,通过通信链路(如以太网、无线电波、光纤等)和协议(如TCP/IP、Ethernet、Wi-Fi等)互相通信和交换信息的结构。

下面是一些常见的网络结构

(1)局域网(LAN):局域网是一种较小规模的网络,通常用于限定在一个局限的地理区域内,如家庭、办公室、学校等。局域网通常使用以太网、Wi-Fi等技术进行设备之间的连接。

(2)广域网(WAN):广域网是一种较大规模的网络,可以跨越较大的地理区域,如城市、国家、甚至全球范围。广域网通常使用电话线、光纤、卫星等技术进行设备之间的连接,例如互联网就是一个全球性的广域网。

(3)互联网(Internet):互联网是一个全球性的广域网,连接了世界上成千上万的网络,形成了一个全球性的信息交流和资源共享的网络。互联网使用TCP/IP协议作为其主要通信协议。

这些只是计算机网络中的一些常见类型,实际上网络还可以根据不同的特性和应用场景进一步分类。网络在现代计算机通信中扮演着重要的角色,为人们提供了高效、便捷的信息传输和资源共享方式。

3.信息传输方式

在计算机网络中,电路交换和分组交换是两种不同的数据传输方式。

电路交换(Circuit Switching):电路交换是一种在通信建立时预留一条专用通信路径(称为电路)的数据传输方式。电路交换中,通信的两端通过建立一条连接来建立一个专用的通信路径,该通信路径在通信会话期间一直保持打开状态,直到通信结束后才被释放。通话期间占用全部带宽。

分组交换(Packet Switching):分组交换是一种将数据拆分成小的数据包(或称为分组)并通过网络独立传输的数据传输方式。在分组交换中,数据包可以通过不同的路径和带宽进行传输,根据网络中的情况,不同的数据包可能会选择不同的传输路径。

电路交换和分组交换各有优点和缺点:

  • 电路交换可以提供稳定的连接和实时传输,适用于对传输延迟和带宽要求较高的应用,例如语音通信。但是,电路交换需要在通信建立时预留专用的通信路径,无论是否有数据传输,都会占用带宽资源,导致资源浪费。
  • 分组交换可以更加高效地利用网络资源,因为数据包可以通过不同的路径和带宽进行传输,适用于灵活和不确定的数据传输需求,例如互联网上的大规模数据传输。但是,由于数据包在网络中独立传输,可能会导致传输延迟和乱序,需要在接收端进行重新组装和排序。

在实际应用中,选择电路交换还是分组交换取决于应用需求、网络性能和资源限制等因素。目前,大多数计算机网络和互联网使用分组交换方式作为主要的数据传输方式,因为它可以更加高效地利用网络资源。

4.网络分层

教程中使用一个例子很形象的说明了网络分层的特点,在分层网络中,网络的各个层次之间相互独立、互不干扰。每个层次都有特定的功能和任务,并且通过定义接口和协议进行交互,但层次之间在设计和实现上是相对独立的,互不依赖。这种隔离性带来了诸多优点,例如:故障隔离,独立性,灵活性和安全性。

5.网络协议

网络协议是指在计算机网络中,不同设备之间进行通信时,所遵循的一套规范。这些规范确定了各种设备如何进行通信,包括数据传输速率、格式、错误检测和纠正方法等等。常见的网络协议包括TCP/IP协议、HTTP协议、FTP协议、SMTP协议等等。这些协议为计算机网络的正常运行提供了必要的规范和约束。

三.web应用

1.HTTP演进历史

HTTP(超文本传输协议)是一种用于Web浏览器和Web服务器之间传输数据的应用层协议。随着互联网的不断发展,HTTP协议也在不断演进。在视频中介绍了HTTP1 2 3版本的演进历史。

2.CDN(内容分发网络)

虽然HTTP协议本身在不断升级优化,但是还是存在一些无法绕过的问题,例如网络拥塞、距离远等问题,这些问题容易导致HTTP传输的延迟和数据包丢失。为了解决这些问题,产生了CDN(内容分发网络)技术。

CDN通过在全球分布式的节点服务器上缓存和分发内容,将用户请求的数据就近分发给用户,缩短了响应时间,提高了网站的性能和可用性,同时减轻了源服务器的负担。

1682471682272

​ (注:此图来自于网络)

3.WebSocket

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。可以在客户端和服务器之间建立实时,双向数据传输的通信通道, WebSocket 具有实时性好、双向通信、跨域支持等特点,使其适用于许多场景,例如在线游戏、实时消息、视频通话等。

webSocket具有以下特点:

(1)通信双方有状态的持久连接

(2)服务端可以主动推送信息

(3)使用WebSocket发送消息延迟比HTTP低

四:网络安全

1.三要素

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

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

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

2.网络加密

(1)对称加密:加密解密使用同样的密钥。

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

3.HTTPS

将HTTP的明文换成密文,再验证身份,即为HTTPS

HTTP = HTTP + TLS

TLS = 身份验证 + 加解密

身份验证靠PKI

服务端身份验证靠PKI,客户端身份验证靠HTTP协议