课程介绍
前端工程师每天都要面对计算机网络,对网络了解得越多,在工作中解决网络问题也就更得心应手。这节课会从网络基础结构开始,一步步向上勾勒出计算机网络的整体架构,让你对网络分层、协议有更深的理解。再从网络安全的终极目标开始,一步步向下分析出实现网络安全需要解决的终极问题,详细了解网络安全的实现原理。最终让你在后续工作中遇到网络问题时能快速定位问题、解决问题。
课程重点
- 网络结构
- TCP/UDP
- HTTP 1 / HTTP2 / HTTP3 (QUIC)
- WebSocket
- CDN
- 安全(SSL/TLS/基础密码学)
计算机网络
计算机网络是一种将地理位置分散的计算机系统连接起来的技术,使得这些计算机可以进行数据交换和资源共享。计算机网络具有高速传输、低成本、高效率、大容量的特点,已经成为现代信息时代的基础设施之一。
计算机网络可以按照拓扑结构、传输介质、通信协议等多个维度进行分类。按照拓扑结构可以分为星型、总线型、环型、树形等;按照传输介质可以分为有线和无线两类;按照通信协议可以分为TCP/IP协议和OSI参考模型等。不同的分类方法可以从不同的角度来了解计算机网络的结构和功能。
在计算机网络中,常见的应用包括电子邮件、Web浏览、文件传输、语音通话、视频会议等。这些应用都需要计算机网络提供可靠的数据传输和交互支持。因此,计算机网络的性能与稳定性对于用户体验至关重要,也是网络工程师需要关心和优化的方向之一。
网络结构
计算机网络的结构可以按照连接方式分为点对点和客户端-服务器两种。下面分别介绍这两种网络结构。
- 点对点网络结构
点对点网络中,所有计算机等价,并直接通过通信链路互联。这种结构的优点在于简单、快速、灵活,且不存在单点故障问题。例如,P2P网络(Peer-to-Peer Network)就是一种典型的点对点网络结构。在P2P网络中,每台计算机都充当了客户端和服务器的角色,可以自由地共享文件、计算资源和带宽。但是,点对点网络也存在资源管理困难、数据安全性等问题。
- 客户端-服务器网络结构
在客户端-服务器网络中,服务器扮演着提供服务和资源的角色,而客户端则只接收和使用服务器提供的服务和资源。这种网络结构适合大规模网络和高负载环境下使用,可以实现资源共享和集中管理。例如,Web应用程序通常采用客户端-服务器网络结构,在服务器上运行业务逻辑,客户端只负责显示和交互。不过,这种结构存在单点故障问题,即如果服务器崩溃或者遭受攻击,整个网络将受到影响。此外,这种结构也存在网络资源不平衡、扩展性差等问题。
TCP/UDP
TCP和UDP是两种不同的网络传输协议。
- TCP(Transmission Control Protocol)传输控制协议
TCP是一种面向连接的协议,提供可靠的数据传输服务。TCP实现了流量控制、拥塞控制和错误恢复等机制,确保数据在传输过程中不会丢失、重复或者出现乱序情况。TCP在应用层和传输层之间建立一个虚拟的传输通道,应用程序可以通过该通道与远程主机进行通信。TCP常用于需要可靠数据传输的应用场景,例如传输大文件、电子邮件和网页等。
- UDP(User Datagram Protocol)用户数据报协议
UDP是一种无连接协议,提供不可靠的数据传输服务。UDP不实现流量控制、拥塞控制和错误恢复等机制,数据传输时可能会出现丢失、重复或者乱序等情况。UDP没有建立虚拟传输通道,数据包直接从发送方发送到接收方。UDP速度快、传输效率高,适用于需要快速传输数据的应用场景,例如音视频流媒体传输和网络游戏等。
文章仅为个人学习笔记,如有错误,欢迎指正。下期见🔥