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

116 阅读9分钟

这是我参与「青训营 x 字节前端训练营」笔记创作活动的第1天,以下是我的课堂笔记。 本次课程主要分为三个大板块:
1.计算机网络基础
2.Web 中的网络
3.网络安全

1.计算机网络基础

1.1网络组成部分

网络由多个组成部分构成,其中包括:

  1. 客户端:客户端是连接到网络的设备,如电脑、手机、平板等。客户端通过互联网与其他设备通信,从网络中获取信息和服务。
  2. 服务器:服务器是网络中的中央计算机,它提供服务和存储数据。服务器可以是物理设备或虚拟机,可以托管网站、应用程序、数据库等。
  3. 路由器:路由器是网络中用于连接不同设备的设备。它们可以将数据包从一个网络传输到另一个网络,以及在不同网络之间进行路由选择。
  4. 防火墙:防火墙是网络安全的重要组成部分,它能够监视和控制网络流量,从而保护网络免受恶意攻击和病毒感染。
  5. 交换机:交换机是网络中用于连接不同设备的设备。它们可以根据硬件地址将数据包从一个设备传输到另一个设备,以及在局域网内进行广播和组播。
  6. 网关:网关是网络中连接不同网络的设备。它们可以将数据包从一个网络传输到另一个网络,并执行协议转换和地址转换等任务。

1.2电路交换&分组交换

  1. 电路交换
    电路交换是指在通信双方建立连接后,为它们之间的通信分配一条专用的物理通路。这条通路会一直保持开放状态,直到通信结束,无论通信双方是否实际在传输数据。在电路交换中,通信双方之间的带宽和传输速率是固定的,并且只有在连接的两端都释放了连接之后,该通路才可供其他通信使用。
  2. 分组交换
    分组交换是指将要传输的数据拆分成多个数据包,每个数据包会被赋予地址和控制信息,然后通过网络传输。在分组交换中,每个数据包可以沿着不同的路径传输,这些数据包的传输速率和带宽可以动态调整。接收方会重新组装数据包,以还原原始数据。分组交换可以更加灵活地利用网络资源,但也会导致延迟和丢包等问题。

1.3网络分层

网络分层是指将计算机网络的功能划分为不同的层次,并将每个层次的功能分离出来,以便更好地实现网络通信和管理。常见的网络分层模型有OSI参考模型和TCP/IP参考模型。

  1. OSI参考模型
    OSI参考模型是由国际标准化组织(ISO)制定的网络分层模型,它将网络通信划分为七个层次,从上层到下层分别为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。不同的层次负责不同的功能,每个层次的数据传输和控制信息都通过接口传递给下一层或上一层,从而实现网络通信。
  2. TCP/IP参考模型
    TCP/IP参考模型是最常用的网络分层模型,它将网络通信划分为四个层次,从上层到下层分别为应用层、传输层、网络层和物理层。应用层负责应用程序的交互,传输层负责数据传输的可靠性和流量控制,网络层负责数据包的路由和转发,物理层负责数据的物理传输。TCP/IP参考模型与OSI参考模型的对应关系为:应用层、表示层和会话层对应于TCP/IP的应用层,传输层对应于TCP/IP的传输层,网络层对应于TCP/IP的网络层,数据链路层和物理层对应于TCP/IP的物理层。

1.4标头和载荷

在计算机网络中,通常使用标头和载荷的方式来传输数据。标头(Header)是数据包的元数据,包含了传输数据所需的控制信息和地址信息等,而载荷(Payload)则是实际要传输的数据。

例如,在传输一个网络数据包时,该数据包的标头会包含源IP地址、目标IP地址、协议类型、端口号等信息,而载荷则是要传输的数据,比如一个网页文件、一段音频或视频等。

标头和载荷的作用是使数据包能够在网络中正确地路由和传输。网络设备会根据标头中的控制信息,将数据包从源设备传输到目标设备,并且在传输过程中将标头信息进行更新和修改,以保证数据包能够正确到达目标设备。

标头和载荷的长度和格式通常由协议规定。例如,在传输TCP数据包时,数据包的标头包含了源端口号、目标端口号、序列号、确认号、窗口大小等信息,而载荷则是实际要传输的数据。在传输IP数据包时,数据包的标头包含了源IP地址、目标IP地址、协议类型等信息,而载荷则是要传输的数据。

总的来说,标头和载荷在计算机网络中起到了非常重要的作用,它们帮助网络设备正确地路由和传输数据,并且保证了通信的可靠性和安全性。

2.Web 中的网络

2.1HTTP协议

HTTP(Hypertext Transfer Protocol)是一种用于在Web浏览器和Web服务器之间传输数据的协议。它是一个客户端-服务器协议,客户端通过发送HTTP请求向服务器请求资源,服务器则通过发送HTTP响应将请求的资源返回给客户端。

HTTP协议的基本工作流程如下:

  1. 客户端向服务器发送HTTP请求,请求包含了要获取的资源的URL和其他控制信息,如请求方法、请求头等。
  2. 服务器接收到请求后,根据请求中的URL和其他信息,查找并返回请求的资源,同时返回HTTP响应,响应包含了状态码、响应头和响应体等信息。
  3. 客户端接收到响应后,解析响应头和响应体,根据响应中的状态码和其他信息来处理响应。

HTTP协议的特点包括:

  1. 简单易用:HTTP使用简单的请求-响应模型,易于理解和使用。
  2. 无状态:HTTP协议是无状态协议,即服务器不会记住以前的请求,每个请求都是独立的,需要客户端提供所有必要的信息。
  3. 可扩展性:HTTP协议可以通过添加新的请求方法、头部字段和状态码等来扩展其功能。
  4. 明文传输:HTTP协议默认情况下是明文传输,不加密,容易被窃听和篡改。但是,可以通过HTTPS协议来实现加密传输。

HTTP协议广泛应用于Web开发和网络通信中,它是Web应用程序的基础,也是其他许多应用程序的基础,如API、RESTful服务等。 image.png

2.2HTTP连接模型

HTTP连接模型指的是客户端和服务器之间建立和维护HTTP连接的方式。常见的HTTP连接模型包括短连接和长连接。

  1. 短连接模型 短连接模型是指在每次HTTP请求完成后,客户端和服务器会立即关闭连接。这种模型下,每个HTTP请求都需要建立新的TCP连接、进行三次握手和四次挥手等操作,因此每个HTTP请求的开销较大,而且在高并发的情况下,频繁建立TCP连接会导致服务器性能下降。

  2. 长连接模型 长连接模型是指在一个HTTP会话期间,客户端和服务器之间会保持TCP连接不关闭,从而允许多个HTTP请求和响应在同一个连接中进行传输。这种模型下,客户端和服务器之间只需要建立一次TCP连接,之后就可以在同一个连接上进行多次HTTP请求和响应,从而减少了TCP连接的开销。

在HTTP/1.0中,短连接模型是默认的连接模型。而在HTTP/1.1中,默认采用的是长连接模型,客户端和服务器之间的连接会保持一段时间(默认为15秒),从而允许多个HTTP请求和响应在同一个连接中进行传输。此外,HTTP/1.1中还引入了流水线技术,允许客户端在一个连接上同时发送多个HTTP请求,从而进一步提高了连接的利用率。

总的来说,HTTP连接模型的选择取决于具体应用场景,需要根据实际情况进行权衡和选择。

3.网络安全

3.1网络安全三要素

在计算机网络中,保障网络安全需要考虑三个方面的要素,即机密性、完整性和可用性,也被称为CIA三要素。

  1. 机密性(Confidentiality) 机密性是指信息只能被授权的人或系统访问和使用,不被未授权的人或系统获取。实现机密性的方式包括加密通信、访问控制和身份验证等。

  2. 完整性(Integrity) 完整性是指信息在传输、存储和处理过程中不被篡改或损坏,以保证信息的准确性和可信度。实现完整性的方式包括数字签名、消息验证码和数据备份等。

  3. 可用性(Availability) 可用性是指信息系统在需要时能够及时地提供服务和资源,以保证用户的正常使用。实现可用性的方式包括负载均衡、容错设计和备份恢复等。

这三个要素相互关联,缺失其中任何一个要素都可能导致网络安全问题。例如,如果缺少机密性,会导致信息泄露;如果缺少完整性,会导致信息被篡改或伪造;如果缺少可用性,会导致信息无法正常使用或服务中断。

保障网络安全需要综合考虑这三个要素,制定相应的安全策略和措施,提高网络的安全性和可信度。