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

96 阅读4分钟

前言&课程介绍

课程目标和收益

  • 建立对计算机网络的整体认知,对计算机网络中的各种概念(网络分层、网络协议、网络应用等)有初步的理解。 进而可以在后续的实际工作中能高效解决网络问题。

课程介绍

  • 通过一个示例建立对计算机网络的整体认识
  • 建立对网络协议分层的认知
  • 分析HTTP1、2、3的关系
  • 介绍CDN运行的基本原理
  • 了解网络安全的最基本原则

分析方法

自底向上

  • 从简单开始,逐渐变复杂
  • 将模块逐步拼凑成一个系统

自顶向下

  • 从复杂开始,逐渐变简单
  • 从复杂的系统问题入手,拆分为模块问题

网络组成部分

  • 主机:客户端和服务器端
  • 路由器
  • 网络协议

网络结构:网络的网络

区域网络、城域网和广域网

电路交换&分组交换

电路交换和分组交换是两种不同的网络通信技术。它们在传输数据时采用不同的方法和机制。

  1. 电路交换(Circuit Switching): 电路交换最早用于电话系统,主要用于语音通信。在电路交换中,通信双方之间建立一条固定的、专用的物理通信路径。在通话过程中,这条路径会一直被保留,直到通话结束。数据沿着这条路径顺序传输。
  2. 分组交换(Packet Switching): 分组交换是现代计算机网络(如互联网)中主要使用的通信技术。在分组交换中,数据被切分成多个数据包(或称分组),每个数据包独立传输。数据包在网络中根据最佳路由选择相应的路径,最终在目的地重新组装成原始数据。

网络分层

计算机网络的七层结构通常指的是 OSI(Open Systems Interconnection)模型,即开放式系统互联模型。OSI 模型是一个用于描述网络协议的分层架构,它将网络通信过程划分为七个层次,每层负责处理不同的通信任务。从底层到顶层,这些层次分别是:

  • 物理层(Physical Layer): 物理层负责处理与物理介质(如电缆、光纤等)相关的通信任务,包括数据的比特流传输、信号编码、硬件接口等。在这一层,数据以比特(bit)为单位进行传输。
  • 数据链路层(Data Link Layer): 数据链路层负责建立、维护和断开数据链路,以确保从源到目的地的可靠数据传输。此外,数据链路层还负责进行错误检测和流量控制。在这一层,数据以帧(frame)为单位进行传输。
  • 网络层(Network Layer): 网络层负责处理网络寻址和路由选择,以确定数据包从源节点到目的节点的最佳路径。网络层使用 IP 地址进行寻址。此外,网络层还负责处理分组和重组数据包。在这一层,数据以数据包(packet)为单位进行传输。
  • 传输层(Transport Layer): 传输层负责提供端到端的通信服务,包括数据的分段、传输、重组和确认。传输层还负责处理流量控制和差错控制。常见的传输层协议有 TCP(传输控制协议)和 UDP(用户数据报协议)。
  • 会话层(Session Layer): 会话层负责建立、管理和断开网络中的通信会话。会话层通过会话标识符来区分不同的通信会话,以确保数据流向正确的目的地。
  • 表示层(Presentation Layer): 表示层负责处理数据的表示和编码问题,以确保发送方和接收方的数据格式兼容。此外,表示层还负责进行数据加密和解密、数据压缩和解压缩等操作。
  • 应用层(Application Layer): 应用层是网络协议栈的最顶层,负责处理与特定应用程序相关的通信任务。应用层协议通常与用户直接交互,例如 HTTP(超文本传输协议)、FTP(文件传输协议)和 SMTP(简单邮件传输协议)等。

网络协议

协议的存在依赖于连接。 协议定义了两个或多个通信实体之间交换的报文格式顺序,以及保温发送和接受一条或其他时间所采取的行动。

标头和载荷

HTTP协议示例:应用层—HTTP协议头部

HTTP协议格式

image.png

小结

  • 网络组成部分:由主机、路由器、交换机等组成
  • 网络结构:网络的网络
  • 信息交换方式:电路交换和分组交换
  • 网络分层:分清职责,物理层、链路层、网络层、运输层和应用层
  • 网络协议:标头和载荷