计算机网络概论| 青训营笔记
前言and课程介绍
课程目标:
- 建立对计算机网路整体认知
- 对计算机网络各概念有初步理解
- 在后续实际工作中能高效解决网络问题
课程内容
- 建立对计算机网络整体认识
- 建立对网络协议分层认识
- HTTP1、2、3的关系
- CDN运行基本原理
- 网络安全最基本原则
分析方法
- 自底向上:简单->复杂,模块->系统
- 自顶向下:复杂->简单,系统->模块
蟹堡王帝国
三步走战略
- 在比奇堡开通外卖
- 在北京和上海开分店
- 在全国开分店并开通外卖
计算机网络基础
网络组成部分
- 主机:客户端和服务端
- 路由器
- 网络协议
网络结构:网络的网络
- 比奇堡和小区网络:本地网络
本地网络,又称局域网(Local Network Node,LAN),是指在某一个区域内由多台计算机互联成的计算机组,使用广播信道。
特点一:覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。
特点二:使用专门铺设的传输介质(双绞线、同轴电缆)进行联网,数据传输速率高
特点三:通信延迟时间短,误码率低,可靠性高
特点四:各站为平等关系,共享传输信道。多采用分布式控制和广播式通信,能进行广播和组播
- 北京和上海分店+比奇堡:三个本地网络节点的网络
本地网络节点(Local Network Node)是指在本地网络(LAN)中的一个设备,例如计算机、服务器、打印机或路由器等。每个节点在网络中都有一个唯一的地址,通常称为IP地址。这个地址用于在网络中识别和定位特定的设备。在数据传输过程中,这些地址会帮助网络设备将信息发送到正确的目的地。
本地网络节点之间的通信通常通过交换机(Switch)或路由器(Router)实现。交换机主要负责在同一局域网内设备之间转发数据包,而路由器主要负责在不同网络之间转发数据包,如在本地网络和互联网之间。
在本地网络内,节点之间可以通过有线(如以太网)或无线(如Wi-Fi)连接相互通信。使用有线连接时,设备之间通过网线连接,传输速度较快且稳定;而无线连接则无需网线,更加便捷,但可能受到环境因素影响,导致传输速度波动。
- 全国通信网络:本地网络的网络
当我们对一个网络进行子网划分时,基本上就是将它分成小的网络。比如,当一组 IP 地址指定给一个公司时,公司可能将该网络 “分割成” 小的网络,每个部门一个。这样,技术部门和管理部门都可以有属于它们的小网络。通过划分子网,我们可以按照我们的需要将网络分割成小网络。这样也有助于降低流量和隐藏网络的复杂性。
子网划分的基本思想很简单:就是借用现有网段的主机位的最左边某几位作为子网位,划分出多个子网。
1.把原来有类网络 IP 地址中的 “ 网络 ID ” 部分向 “ 主机 ID ” 部分借位。
2.把一部分原来属于 “ 主机 ID ” 部分的位变成 “ 网络 ID ” 的一部分(通常称之为 “ 子网 ID ”)。
3.原来的 “ 网络 ID ” + “ 子网 ID ” = 新 “ 网络ID ” 。“ 子网 ID ” 的长度决定了可以划分子网的数量。 blog.csdn.net/qq_45902301…
- 区域网络、城域网和广域网
- 校园区域网络(CAN,campus area network):一个校园区域网络是在有限区域内将两个或多个局域网连接在一起的网络。例如,一个校园网络可以是一所大学在相同区域有多个建筑,彼此互联形成的大型网络,这些建筑可以是大学的不同院系,每个建筑所在的部门都有自己的局域网,然后这些建筑被连接起来形成一个校园区域网络。
- 城域网(MAN,metropolitan area network):这是一种比校园网区域网络还大的网络,横跨一个城市或城镇的多个建筑。城域网通常使用高速连接,例如光缆,是一种高速网络,能够在城市中共享数据和资源提供服务。
- 广域网(WAN,Wide Area Network):广域网覆盖一个很大的地理区域,如国家、地区甚至全球。广域网通过远程通信链路和中继设备连接多个本地网络、区域网络和城域网。典型的广域网应用包括互联网、电话公司的网络和大型企业的全球网络。广域网的数据传输速率通常较低,因为它们需要跨越更大的距离并涉及更多的中继设备。
电路交换and分组交换
- 数据交换方式:电路交换、报文交换、分组交换(无连接的数据报方式和面向连接的虚电路方式)
- 电路交换(Circuit Switching): 电路交换最早用于电话系统,主要用于语音通信。在电路交换中,通信双方之间建立一条固定的、专用的物理通信路径。在通话过程中,这条路径会一直被保留,直到通话结束。数据沿着这条路径顺序传输。
电路交换技术的优点如下:
1.通信时延小。由于通信线路为通信双方用户专用,数据直达,因此传输数据的时延非常小。当传输的数据量较大时,这-优点非常明显
2.有序传输。双方通信时按发送顺序传送数据,不存在失序问题
3.没有冲突。不同的通信双方拥有不同的信道,不会出现争用物理信道的问题
4.适用范围广。电路交换既适用于传输模拟信号,又适用于传输数字信号
5.实时性强。通信双方之间的物理通路一旦建立, 双方就可以随时通信
6.控制简单。电路交换的交换设备(交换机等)及控制均较简单
电路交换技术的缺点如下:
1.建立连接时间长。电路交换的平均连接建立时间对计算机通信来说太长
2.线路独占,使用效率低。电路交换连接建立后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低
3.灵活性差。只要在通信双方建立的通路中的任何一点出了故障,就必须重新拨号建立新的连接,这对十分紧急和重要的通信是很不利的
4.难以规格化。电路交换时,数据直达,不同类型、不同规格、不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制
注意,电路建立后,除源结点和目的结点外,电路上的任何结点都采取“直通方式”接收数据和发送数据,即不会存在存储转发所耗费的时间.
- 报文交换:主要特点是存储接受到的报文,判断其目标地址以选择路由,最后,在下一跳路由空闲时,将数据转发给下一跳路由。
报文交换技术的优点如下:
1.无须建立连接。报文交换不需要为通信双方预先建立一条专用的通信线路,不存在建立连接时延,用户可以随时发送报文
2.动态分配线路。当发送方把报文交给交换设备时,交换设备先存储整个报文,然后选择一条合适的空闲线路,将报文发送出去
3.提高线路可靠性。如果某条传输路径发生故障,那么可重新选择另一条路径传输数据,因此提高了传输的可靠性 提高线路利用率。通信双方不是固定占有一条通信线路,而是在不同的时间一段一段地部分占有这条物理通道,因而大大提高了通信线路的利用率
4.提供多目标服务。一个报文可以同时发送给多个目的地址,这在电路交换中是很难实现的
报文交换技术的缺点如下:
1.由于数据进入交换结点后要经历存储、转发这一过程,因此会引起转发时延(包括接收报文、检验正确性、排队、发送时间等)
2.报文交换对报文的大小没有限制,这就要求网络结点需要有较大的缓存空间
注意:报文交换主要使用在早期的电报通信网中,现在较少使用,通常被较先进的分组交换方式所取代。
- 分组交换:分组交换也采用存储转发方式,但解决了报文交换中大报文传输的问题。分组交换限制了每次传送的数据块大小的上限,把大的数据块划分为合理的小数据块,再加上一些必要的控制信息(如源地址、目的地址和编号信息等),构成分组(Packet)。 网络结点根据控制信息把分组送到下一结点,下一结点接收到分组后,暂时保存并排队等待传输,然后根据分组控制信息选择它的下一个结点,直到到达目的结点。到达目地之后的数据分组再重新组合起来,形成一条完整的数据。
分组交换的优点如下:
1.无建立时延。不需要为通信双方预先建立一条专用的通信线路,不存在连接建立时延,用户可随时发送分组
2.线路利用率高。通信双方不是固定占有- -条通信线路,而是在不同的时间一-段一段地部分占有这条物理通路,因而大大提高了通信线路的利用率
3.简化了存储管理(相对于报文交换)。因为分组的长度固定,相应的缓冲区的大小也固定,在交换结点中存储器的管理通常被简化为对缓冲区的管理,相对比较容易
4.加速传输。分组是逐个传输的,可以使后-一个分组的存储操作与前一一个分组的转发操作并行,这种流水线方式减少了报文的传输时间。此外,传输一个分组所 需的缓冲区比传输一次报文所需的缓冲区小得多,这样因缓冲区不足而等待发送的概率及时间也必然少得多
5.减少了出错概率和重发数据量。因为分组较短,其出错概率必然减小,所以每次重发的数据量也就大大减少,这样不仅提高了可靠性,也减少了传输时延
分组交换的缺点如下:
1.存在传输时延。尽管分组交换比报文交换的传输时延少,但相对于电路交换仍存在存储转发时延,而且其结点交换机必须具有更强的处理能力
2.需要传输额外的信息量。每个小数据块都要加上源地址、目的地址和分组编号等信息,从而构成分组,因此使得传送的信息量增大了5%~10%,一定程度上降低了通信效率,增加了处理的时间,使控制复杂,时延增加
3.当分组交换采用数据报服务时,可能会出现失序、丢失或重复分组,分组到达目的结点时,要对分组按编号进行排序等工作,因此很麻烦。若采用虚电路服务,虽无失序问题,但有呼叫建立、数据传输和虚电路释放三个过程
分组交换根据其通信子网向端点系统提供的服务,还可进一步分为
面向连接的虚电路方式和无连接的数据报方式。这两种服务方式都由网络层提供。要注意数据报方式和虚电路方式是分组交换的两种方式![]()
网络分层
分层的基本原则:
- 各层之间相互独立,每层只实现一种相对独立的功能
- 每层之间界面自然清晰,易于理解,相互交流尽可能少
- 结构上可分割开。每层都采用最合适的技术来实现
- 保持下层对上层的独立性,上层单向使用下层提供的服务
- 整个分层结构应该能促进标准化工作
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(简单邮件传输协议)等。
网络协议
网络基础协议是指在计算机网络中实现各种功能的一组规定,这些规定定义了在两个或多个通信实体之间交换的报文格式和顺序,以及报文发送和接受一条报文或其他事件所采取的动作。
协议的存在依赖于连接
标头和载荷
在计算机网络中,数据通常按照协议的格式进行封装和传输。一个数据包或帧通常分为两部分:标头(Header)和载荷(Payload)。标头和载荷分别承担不同的作用,共同实现数据在网络中的传输和处理。
标头(Header): 标头是数据包或帧的开头部分,包含了用于处理和传输数据的控制信息。标头中的信息根据不同的协议和网络层次而有所不同。一般来说,标头包含了如下信息:
源地址和目的地址:标头中通常包含了发送方和接收方的地址信息,如 IP 地址、MAC 地址等。这些地址信息用于确保数据正确传输到目的地。
协议类型:标头中还包含了协议类型信息,以标识数据包属于哪个协议。这有助于网络设备正确处理和转发数据包。
序列号和确认号:对于面向连接的协议(如 TCP),标头中还包含了序列号和确认号,用于实现可靠数据传输和流量控制。
校验和:标头中通常包含了校验和信息,用于检测数据在传输过程中是否发生错误。
其他控制信息:标头中还可能包含其他控制信息,如数据包的生命周期、优先级、标志位等。
- 载荷(Payload): 载荷是数据包或帧的主体部分,包含了实际要传输的数据。载荷的内容根据不同的应用和场景而有所不同。例如,在传输文件时,载荷中包含了文件的内容;在传输网页时,载荷中包含了 HTML、CSS 和 JavaScript 等网页元素。
在数据传输过程中,数据包或帧会经过多个网络层次。每个层次都可能为数据添加自己的标头,形成嵌套的结构。这种嵌套结构有时被称为“封装”(Encapsulation)。当数据到达目的地时,每个网络层次会依次去除相应的标头,还原出原始的数据。这个过程被称为“解封装”(Decapsulation)。
了解标头和载荷的概念有助于理解计算机网络中数据包的结构和传输过程。在网络调试和故障诊断时,分析标头中的信息对于定位问题和解决问题具有重要意义
HTTP协议示例
HTTP(超文本传输协议)是应用层的一个协议,用于在客户端(如浏览器)和服务器之间传输超文本和其他资源。HTTP 协议的请求和响应消息都包含头部(Header)信息,用于描述和控制消息的传输和处理
TCP协议格式
TCP传送的数据单元称为报文段。
一个TCP报文段分为TCP首部和TCP数据两部分,整个TCP报文段作为IP数据报的数据部分封装在IP数据报中其首部的前20B是固定的。TCP报文段的首部最短为20B,后面有4N字节是根据需要而增加的选项,通常长度为4B的整数倍。
TCP报文段既可以用来运载数据,又可以用来建立连接、释放连接和应答。