计算机网路学习笔记(I)——概述

简介: 计算机网络是一门重要对的计算机基础课程,无论你是读研还是工作都要求我们必须了解并掌握基础知识,接下来我将带领大家一起学习计算机网络这门课程,我也将会更新自己学习408课程的学习笔记,我们一起学习和进步。

第一章—概述

1.1、什么是Internet?

从具体构成角度:

  • 节点

    • 主机上运行的应用程序
    • 路由器、交换机等网络交换设备
  • 边:通信链路

    • 接入网链路:主机连接到互联网的链路
    • 主干链路:路由器间的链路
  • 协议
  • 数以亿计的、互联的计算设备

    • 主机 = 端系统
    • 运行的网络应用程序
  • 通信链路

    • 光纤、同轴电缆、无线电、卫星
    • 传输速率 = 贷宽
  • 分组交换设备:转发分组

    • 路由器和交换机
  • 协议控制发送、接收消息

    • 如TCP、IP、HTTP、FTP、PPP
  • Internet:“网络的网络”

    • 松散的层次结构、互连的ISP
    • 公共Internet 专用internet
  • Internet标准

    • RFC:Request for comments(请求评述)
    • IEIF:Internet Engineering Task Force

什么是协议?

  • 协议定义了在两个或多个通信实体之间交换的==报文格式==和==次序==,以及在报文传输或接收或者其他方面所采取的动作

从服务角度:

  • 使用通信设施进行通信的==分布式应用==

    • Web、VoIP、Email、分布式游戏
  • ==通信基础设施为apps提供编程接口(通信服务)==

    • 将发送和接受数据的apps与互联网连接起来

1.2、网络边缘

网络结构:

  • 网络边缘

    • 主机
    • 应用程序
  • 网络核心

    • 互连着的路由器
    • 网络的网络
  • 接入网、物理媒体

    • 有线或者无线通信链路

网络边缘:

  • 端系统

    • 运行的程序
    • 如We、Email
    • 在“网络的边缘”
  • 客户/服务器模式

    • 客户端像服务器请求、接受服务
    • 如Web浏览器/服务器:email客户端/服务器
  • 对等(peer—to—peer) 模式

    • 很少(甚至没有)专门的服务器

网络边缘:采用网络设施的面向连接服务

  • 目标:在端系统之间传输数据

    • 握手:在数据传输之前做好准备

      • 两个通信主机之间为==连接建立状态==
    • TCP:传输控制协议(Transmission Control Protocol)

      • Internet上面向连接的服务
  • TCP服务

    • 可靠的、按顺序地传送数据

      • 确认和重传
    • 流量控制

      • 发送方不会淹没接收方
    • 拥塞控制

      • 当网络拥塞时,发送方降低发送速率

网络边缘:采用基础设施的无连接服务

  • 目标:在端系统之间传输数据

    • 无连接服务
    • UDP:用户数据报协议(User Datagram Protocol)

      • 无连接
      • 不可靠数据传输
      • 无流量控制
      • 无拥塞控制
  • 使用TCP的应用:

    • HTTP(Web)、FTP(文件传送)Telent(远程登录)、SMTP(email)
  • 使用UDP的应用:

    • 流媒体、远程会议、DNS、Internet电话

1.3、网络核心

网络核心:路由器的网状网络

基本问题:数据怎样通过网络进行传输?

  • 电路交换:为每个呼叫预留一条专有电路
  • 分组交换

    • 将要传送的数据分成一个个单位
    • 将分组从一个路由器传到相邻的路由器,一段段最终从资源端传到目标端
    • 每段采用链路的最大传输能力(带宽)

电路交换:

==电路交换==是:建立连接(占用通信资源)—> 通话(一直占用通信资源)—> 释放连接(归还通信资源)

端到端的资源分配给从源端到目标端的呼叫:

  • 独享资源:不共享:每个呼叫一旦建立起来就能够保证性能
  • 如果呼叫没有数据发送,被分配的资源就会被浪费

网络资源(如带宽)被分成片

  • 为呼叫分片
  • 将带宽分片

    • 频分(Frequencydivision multiplexing)
    • 时分(Time-division multiplexing)
    • 波分(Wave-division multiplexing)

image-20221120154616915

分组交换

==分组交换==:采用存储转发技术。以分组为单位存储—转发,资源共享,按需使用。

  • 网络带宽资源不再分一个个片,传输时使用全部带宽
  • 主机之间传输的数据被分为一个个分组
  • 存储—转发:分组每次移动一跳

分组交换:分组的存储转发一段一段从源端传到目标端 ,按照有无网络层的连接,分成:

  1. 数据报网络:

    • 分组的目标地址决定下一跳
    • 在不同的阶段,路由可以改变
  2. 虚电路网络:

    • 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
    • 在呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息

存储—转化:

  • 被传输到下一个链路之前整个分组必须到达路由器:存储转发
  • 在一个速率为R bps的链路,一个长度为L bits的分组的存储转发延时:L/R s

排队延迟和丢失:

  • 排队和延迟

    • 如果到达速率 > 链路的输出速率
    • 分组将会排队,等待传输
    • 如果路由器的缓存用完,分组将会被抛弃

==网络核心的关键功能==:路由和转发

  • 路由:决定分组采用的源到目标的路径
  • 转发:将分组从路由器的输入链路转移到输出链路

1.4、分组延时、丢失和吞吐量

四种分组延时

  • 处理延时

    • 检查bit差错
    • 检查分组首部和决定将分组导向处
  • 排队延时

    • 在输出链路上等待传输的时间
    • 依赖于路由器的拥塞成程度
  • 传输延时

    • R = 链路带宽(bps)
    • L = 分组长度(bits)
    • 将分组转发到链路上的时间 R / L
  • 传播延时

    • d = 物理链路长度
    • s = 在媒体上的传播速度(~2* 10 ^ 18)
    • 传播延时:d / s

节点延时

节点延时:$d~nodal = d~proc + d~queue + d~tans + d~prop$

d~proc~ = 处理延时 :通常是微妙级别或更少

d~queue~ = 排队延时:取决于拥塞程度

d~tans~ = 传输延时:=L / R

d~prop~ = 传播延时:几微秒到几百毫秒

排队延时

  • R = 链路带宽(bps)
  • L = 分组长度(bits)
  • a = 分组到达队列的平均速率

流量强度 = La / R

  • La / R ~ 0:平均排队延时很小
  • La / R -> 1:延时变得很大
  • La / R > 1:比特到达队列的速率超过了该队列输出的速率,平均排队延时将趋向无穷大

分组丢失的原因:链路的队列缓冲容量有限、当分组到达一个满队列时,该分组会丢失、丢失的分组可能会被前一个节点或源端系统重传

吞吐量

==吞吐量:==在源端和目标端之间的传输速率(数据量/单位时间)

  • ==瞬间吞吐量==:在一个时间点的速率
  • ==平均吞吐量==:在一个长时间内平均值

端到端平均吞吐=min{R1, R2, R3, … , Rn}

image-20221121090656191

1.5、协议层次和服务模型

协议的层次:

层次化方式实现复杂网络功能:

  • 将网络复杂的功能分层能明确层次,每层实现一个或一组==功能==,功能中有其上层可以使用的功能:==服务==
  • 本层协议实体相互交互执行本层的==协议动作==,目的实现本层功能,通过接口为上层提供更好的服务
  • 在实现本层服务的时候,直接==利用下层所提供的服务==
  • 本层的服务:借助下层服务实现本层协议实体之间交互带来的新功能+下层所提供的服务

服务和服务访问点

服务(Service):底层实体向上层实体提供他们之间的通信能力

  • 服务用户(service user)
  • 服务提供者(service provide)

原语(primitive):上层使用下层服务形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的形式

服务访问点SAP(Service Access Point):上层使用下层提供的服务通过层间接口—地点。

  • 地址(address):下层的一个实体支撑着上层的多个实体,SAP由于标志不同上层实体的作用
  • 可以有不同的实现队列

服务类型

  • 面向连接的服务和无连接的服务方式

    • 面向连接的服务(Connection—orient—Service)

      • 连接:两个通信实体为进行通信而建立的一种结合
      • 面向连接的服务通信的过程:建立连接,通信,拆除连接
      • 例子:网络层的连接被成为虚电路
      • 适用范围:大的数据块要传输,不适合小的零星报文
      • 特点:保序
      • 服务类型:

        :point_right:可靠的信息流 传送页面

        :point_right:可靠的字节流 远程登录

        :point_right:不可靠的连接 数字化声音

    • 无连接的服务(Connectionless Service)

      • 无连接服务:两个对等层实体在通信前不需要建立连接,不预留资源;不需要通信双方都是活跃
      • 特点:不可靠、可能重复、可能失序
      • 例子:IP分组、数据包
      • 适用范围:适合传送零星数据
      • 服务类型:

        :point_right:不可靠的数据报 电子方式的函件

        :point_right:有确认的数据报 挂号信

        :point_right:请求回答 信息查询

服务和协议

  • 服务和协议的区别

    • 服务(service):低层实体向上层实体提供他们之间的通信能力,是通过原语(primitive)来操作的,垂直的
    • 协议(protocol):对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平的
  • 服务与协议的联系

    • 本层==协议的实现==要靠下层提供的服务来实现
    • 本层实体通过协议为上层==提供更高级的服务==

Internet协议栈

五层协议体系:

  • ==应用层==:网络应用

    • 为人类用户或者其他应用进程提供网络应用服务
    • FTP、SMTP、HTTP、DNS
  • ==传输层==:主机之间的数据传输

    • 在网络层提供的端到端通信基础之上,细分为进程到进程,将不可靠的通信转变为可靠的通信
    • TCP 、UDP
  • ==网络层==:为数据报从源到目的的选择路由

    • 主机之间的通信,端到端通信,不可靠
    • IP、路由协议
  • ==链路层==:相邻网络节点之间的数据传输

    • 2个相邻2点的通信,点到点通信,可靠或不可靠
    • 点对点协议PPP,802.11(WiFi),Ethernet
  • ==物理层==:在线路上传送bit

ISO/OSI的七层协议体系:

  • 应用层:同上
  • ==表示层==:允许应用解释传输的数据,加密、压缩等
  • ==会话层==:数据交换的同步,检查点,恢复
  • ==网络层==:同上
  • ==链路层==:同上
  • ==物理层==:同上

image-20221121160654967
数据的封装和解封装:
image-20221121160756234

各层次的协议数据单元

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段,UDP数据报
  • 网络层:分组packet(如果无连接方式:数据报 datagram)
  • 数据链路层:帧(frame)
  • 物理层:位(bit)注:此描述不太准确
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
8月前
|
人工智能 编解码 算法
AI生成视频告别剪辑拼接!MAGI-1:开源自回归视频生成模型,支持一镜到底的长视频生成
MAGI-1是Sand AI开源的全球首个自回归视频生成大模型,采用创新架构实现高分辨率流畅视频生成,支持无限扩展和精细控制,在物理行为预测方面表现突出。
946 1
AI生成视频告别剪辑拼接!MAGI-1:开源自回归视频生成模型,支持一镜到底的长视频生成
|
10月前
|
传感器 监控 大数据
指挥学校大数据系统解决方案
本系统集成九大核心平台,包括中心化指挥、数据处理、学生信息、反校园欺凌大数据、智慧课堂、学生行为综合、数据交换及其他外部系统云平台。通过这些平台,系统实现对学生行为、课堂表现、校园安全等多维度的实时监控与数据分析,为教育管理、执法机关、心理辅导等提供强有力的数据支持。特别地,反校园欺凌平台利用多种传感器和智能设备,确保及时发现并处理校园霸凌事件,保障学生权益。同时,系统还涵盖超市、食堂、图书馆、消防安全等辅助云平台,全面提升校园智能化管理水平。
|
7月前
|
机器学习/深度学习 数据采集 安全
MiMo-7B:从预训练到强化学习,解锁语言模型的推理潜能
目前,大多数成功的 强化学习 工作,包括开源研究,都依赖于相对较大的基础模型,例如 32B 模型,特别是在增强代码推理能力方面。业内普遍认为在一个小模型中同时提升数学和代码能力是具有挑战性的。然而,小米MiMo研究团队相信 RL 训练的推理模型的有效性取决于基础模型固有的推理潜力。为了完全解锁语言模型的推理潜力,不仅需要关注后训练,还需要针对推理定制预训练策略。
521 43
|
8月前
|
人工智能 数据可视化 JavaScript
2.1k star! 抓紧冲,DeepChat:连接AI与个人世界的智能助手的开源项目
DeepChat是一款开源跨平台智能助手工具,采用Apache-2.0协议,已获2.1k星标。它支持Windows/macOS/Linux,兼容20+主流AI服务,如OpenAI、Gemini等,还支持本地部署的开源模型。其核心功能包括全模型兼容架构、智能搜索增强、可视化工具平台(MCP)、多模态呈现及隐私安全设计。DeepChat适用于程序员助手、内容创作、学习研究、数据分析和智能办公五大场景。项目优势在于智能搜索决策、零配置工具链和企业级扩展性,是探索AI应用的理想选择。项目地址:https://github.com/ThinkInAIXYZ/deepchat。
577 0
|
10月前
|
网络协议 算法 安全
Go语言的网络编程与TCP_UDP
Go语言由Google开发,旨在简单、高效和可扩展。本文深入探讨Go语言的网络编程,涵盖TCP/UDP的基本概念、核心算法(如滑动窗口、流量控制等)、最佳实践及应用场景。通过代码示例展示了TCP和UDP的实现,并讨论了其在HTTP、DNS等协议中的应用。最后,总结了Go语言网络编程的未来发展趋势与挑战,推荐了相关工具和资源。
320 5
|
编解码 网络协议 数据安全/隐私保护
计网 - 图解OSI 七层模型 和 TCP/IP 四层模型
计网 - 图解OSI 七层模型 和 TCP/IP 四层模型
1318 0
|
云安全 运维 安全
阿里云安全产品购买详细介绍_版本_价格_功能优势
阿里云安全产品购买详细介绍_版本_价格_功能优势,云安全中心基础版免费、防病毒班432元一年、高级版优惠价969元一年,还有企业版和旗舰版可选,阿里云百科分享阿里云安全中心详细介绍,包括云安全中心功能、不同版本价格表以及有必要购买说明
737 0
|
搜索推荐 C语言
深入浅出理解 C 语言中的 qsort 函数
深入浅出理解 C 语言中的 qsort 函数
|
人工智能 Android开发 C++
Harmony中的HAP、HAR、HSP区别
Harmony中的HAP、HAR、HSP区别
607 0