【字节前端训练营01】计算机网络概论(1) | 青训营笔记

88 阅读5分钟

课程介绍

前端工程师每天都要面对计算机网络,对网络了解得越多,在工作中解决网络问题也就更得心应手。这节课会从网络基础结构开始,一步步向上勾勒出计算机网络的整体架构,让你对网络分层、协议有更深的理解。再从网络安全的终极目标开始,一步步向下分析出实现网络安全需要解决的终极问题,详细了解网络安全的实现原理。最终让你在后续工作中遇到网络问题时能快速定位问题、解决问题。

  • 字节内部课:字节前端初阶训练营 - 第1节
  • 课程PPT:飞书文档
  • 本节讲师:祝鑫奔, 毕业于南昌大学,2019 年加入字节跳动,曾在抖音前端架构负责工程化中构建体系的设计和研发。现负责 ToB 相关业务。
  • 笔记撰写:百里飞洋

课程重点

  • 网络结构
  • TCP/UDP
  • HTTP 1 / HTTP2 / HTTP3 (QUIC)
  • WebSocket
  • CDN
  • 安全(SSL/TLS/基础密码学)

2023-94 (5)

课程大纲

01 前言 & 课程介绍

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

02 蟹堡王帝国

蟹堡王外卖对应现实
蟹堡王顾客客户端
蟹堡王分店服务端
蟹堡王全国城市转发分店和小区转发点路由器
外卖单(转发表格)网络协议
2023-94 (2) 蟹堡王网络外卖拓补图2023-94 (3) 计算机网络简化后的拓扑图

03 计算机网络基础

网络组成部分

  • 主机(客户端和服务端):提供信息、接收信息
  • 路由器:转发主机之间的信息
  • 网络协议:负责提供统一的格式,方便路由器或主机对信息进行编码或解码

网络结构是:网络中的网络

  • 比奇堡和小区网络:本地网络
  • 北京和上海分店+比奇堡:拥有三个本地网络节点的网络
  • 全国通信网络:多个本地网络组成的的网络

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

信息交换方式:电路交换 & 分组交换

分组交换和电路交换的不同点在于,不会预留资源(比如带宽)。结合到新的分组后,会加入到输出队列,按顺序输出。当队列满的时候,会丢弃“轻段分组”(听不清),即丢包。

在计算机网路中,采用的都是分组交换。大的报文会分解为 N 个小的报文,小的报文会经过分组,通过网络 $%^&* 之后,再由主机上的软件,将报文拼回完整的报文。

网络分层

  • 快递员不关心包裹内容(应用层)
  • 卡车司机不关心车厢里拉的是什么(传输层)
  • 高速公路不关系开的什么车(网络层)

计算机网络分为五层,从低到高分别是:物理层、链路层、网络层、传输层和应用层

协议

协议的存在依赖于连接。协议定义了在两个或多个通信实体之间交换报文的格式顺序,以及报文发送、接收或其他事件所采取的的动作。

标头和载荷

收件人、寄件人关注:

  • 收件地址、寄件地址(标头)
  • 收件人、寄件人的姓名和电话
  • 包裹中的东西(载荷)

快递公司关注:

  • 收件人、寄件人关注的东西
  • 该由哪个集散点发出,哪个集散点收取
  • 哪个集散点派送

小结

  • 网络组成部分:由主机、路由器、交换机等组成
  • 网络结构:网络中的网络
  • 信息交换方式:电路交换和分组交换
  • 网络分层:分清职责,物理层、链路层、网络层、运输层和应用层
  • 网络协议的基本结构:标头和载荷,每一层都会把上一层的标头和载荷作为自己的载荷,并添加自己的标头

计算机网络使用分层的方式将整个通信过程划分为不同的层次,每一层都负责特定的任务,从而实现了系统的模块化,并且简化了系统设计和升级。网络分层主要是为了职责更加清晰,降低各层的使用成本。

计算机网络分层负责的工作
应用层应用层向用户提供网络服务,并处理应用程序之间的通信。常见的应用层协议有http、ftp、smtp、dns等。
传输层传输层提供端到端的数据传输服务,它将应用层传来的数据进行分段、封装,并且确保数据的可靠传输。常见的传输层协议有tcp(面向连接)、udp(无连接)等。
网络层网络层负责数据包的传递和路由选择,同时还可以解决数据包的拥塞问题。常见的网络层协议有ip、icmp等。
数据链路层数据链路层主要负责物理地址寻址、错误检测和纠正,以及流量控制等一些底层细节。常见的数据链路层协议有ethernet、arp、ppp等。
物理层物理层是计算机网络的最底层,它负责发送或接收原始位流,把数字信号转换成物理信号并通过物理媒介传输,例如光纤、电缆、无线电波等。常见的物理层协议有rj-45接口、光纤接口等。