重学计算机网络(一)计算机网络基础

1.1.1 概念、组成、功能和分类

1.1.1.1 计算机网络的概念

计算机网络 :是一个将分散的、具有独立的计算机系统,通过通信设配与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

img

计算机网络是互联的、自治的计算机集合。

  • 互联–互联互通 通信链路
  • 自治–无主从关系

1.1.1.2 计算机网络的功能

img

1.1.1.3 计算机网络的组成

img

1.1.1.4 计算机网络的分类

img

1.1.1.5 小结

img

1.1.2 标准化工作及相关组织

1.1.2.1 标准化工作

img

img

1.1.2.2 标准化相关组织

img

1.1.2.3 小结

img

1.1.3 速率相关的性能指标

1.1.3.1 速率

img

1.1.3.2 带宽

img

1.1.3.3 吞吐量

表示在单位时间内通过某个网络(或信道、接口)的数据量。单位[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dPx9ZhgF-1661255135228)(https://cdn.nlark.com/yuque/__latex/28687447835bee96a87ac3a20bd9847f.svg)]等。

吞吐量受网络的带宽或网络的额定速率的限制。

img

1.1.4 时延、时延带宽积、往返时间RTT和利用率

1.1.4.1 时延

img

总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延.

img

排队时延:分组在路由器的输入队列和输出队列等待的时间,取决于网络当前的通信量。

处理时延:主机或路由器收到分组进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。

传输时延:主机或路由器传输数据所需要的时间。

img

其中l表示数据帧的长度,v表示传输速率。

传播时延:电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。

img

其中 l 表示信道长度,v 表示电磁波在信道上的传播速度。

1.1.4.2 时延带宽积

img

1.1.4.3 往返时延RTT

img

RTT越大,在收到的确认之前,可以发送的数据更多。

img

1.1.4.4 利用率

img

1.1.4.5 小结

img

1.2.1 计算机网络的分层结构、协议、接口、服务

1.2.1.1 为什么要分层

img

发送文件要完成的工作:

  1. 发起通信的计算机必须将数据通信的通路进行激活。
  2. 要告诉网络如何识别目的主机。
  3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
  4. 发起通信的计算机要弄清吹,对方计算机中文件管理程序是否已经做好准备工作。
  5. 确保差错和意外可以解决。

计算机这个一系列的大的问题,一个个的分成小问题。所以就引出了分层结构。

1.2.1.2 怎么分层

img

img

1.2.1.3 小结

  • 计算机网络体系结构是从功能上描述计算机网络结构。
  • 计算机网络体系结构简称网络体系结构是分层结构。
  • 每层遵循某个/些网络协议以完成本层的功能。
  • 计算机网络体系结构是计算机网络的各层及其协议的集合。
  • 第n层 在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
  • 仅仅在相邻间有接口,且所提供服务的具体实细节对上一层完全屏蔽。
  • 体系结构是抽象的,而实现是指能远行的一些软件和硬件。

img

1.2.2 OSI参考模型(1)

img

img

1.2.2.1 ISO/OSI参考模型–怎么来的

img

img

物联网淑惠试用。

1.2.2.2 ISO/OSI 参考模型解释通信过程

img

img

1.2.3 OSI参考模型(2)

1.2.3.1 应用层

img

为特定应用程序提供数据传输服务,例如HTTPDNS等协议。数据单位为报文。

网络流程应用(表示的是用户界面,例如TelnetHTTP)。

OSI模型的应用程序层直接与软件应用程序交互以提供所需的通信功能,并且它与最终用户最接近。应用层的功能通常包括验证通信伙伴和资源的可用性以支持任何数据传输。该层还定义了用于最终应用程序的协议,例如域名系统(DNS),文件传输协议(FTP),超文本传输协议(HTTP),Internet消息访问协议(IMAP),邮局协议(POP),简单邮件传输协议(SMTP),简单网络管理协议(SNMP)和Telnet(终端仿真)。你会发现这些都是有页面让你可以来操作的。应用层指的就是最高层。

1.2.3.2 表示层

数据表示 (数据如何呈现,特殊处理->例如加密,比如ASCII,JPEG)

img

1.2.3.3 会话层

主机间的通信(将不同应用程序的数据分开。建立,管理和终止应用之间的会话)。

img

1.2.3.4 传输层

负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。

进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。

运输层包括两种协议:

  • 传输控制协议 **TCP**,提供面向连接、可靠的数据传输服务,数据单位为报文段
  • 用户数据报协议 **UDP**,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报

TCP 主要提供完整性服务,UDP 主要提供及时性服务。

传输层主要有四个功能:

  • 靠传输、不可靠传输

  • 错控制

  • 量控制

  • 分用

    • 复用:多个应用层进程可以同时使用下面运输层的服务
    • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。

记忆口诀:可差的也能留用?

传输层提供通过一个或多个网络将数据序列从源传输到目标主机的功能和手段,同时保持服务质量(**QoS**)功能并确保数据的完整传递。可以通过纠错和类似的功能来保证数据的完整性。它还可以提供显式的流量控制功能。尽管不严格符合OSI模型,但TCP和用户数据报协议(UDP)是第4层中必不可少的协议。这一层是你必须要深入了解的。后面会有详细的讲解。

1.2.3.5 网络层

地址和最佳路径(提供路由器用于路径的逻辑寻址,比如IP)。

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。网络层的传输单位是数据报。

img

网络层通过逻辑寻址和交换功能处理数据包路由。网络是可以连接许多节点的介质。每个节点都有一个地址。当一个节点需要将消息传输到其他节点时,它仅能提供消息的内容和目标节点的地址,则网络将找到将消息传递到目标节点的方法,并可能通过其他节点进行路由。如果消息太长,网络可能会在一个节点上将其拆分为多个段,分别发送它们,然后在另一节点上重新组合片段。网络层也是后面的重点。

1.2.3.6 数据链路层

img

主要任务就是把网络层传下来的数据报组装成帧。数据链路层的传输单位是帧。

媒体访问(将位组合成字节,将字节组合成帧,使用**MAC**地址访问,错误检测-比如HDLC)。

数据链路层提供节点到节点的传输,即两个直接连接的节点之间的链接。它以的形式处理数据的打包和拆包。它定义了在两个物理连接的设备之间建立和终止连接的协议,例如点对点协议(PPP)。

数据链路层通常分为两个子层:媒体访问控制(MAC)层和逻辑链路控制(LLC)层。 MAC层负责控制网络中的设备如何访问媒体以及允许传输数据。 LLC层负责标识和封装网络层协议,并控制错误检查和帧同步。 这一层只需要基本掌握MAC,不需要知道更多。

1.2.3.7 物理层

二进制传输(在设备之间移动bits。例如V.35)

主要任务就是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。

透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。

img

物理层定义了数据连接的物理规格。例如,连接器的插针布局,电缆的工作电压,光纤电缆规格以及无线设备的频率。它负责物理介质中非结构化原始数据的发送和接收。比特率控制在物理层完成。它是底层网络设备的层,从不关心协议或其他更高层的项目。这层你基本不用了解,除非你需要自己制作网线。

1.2.4 TCP/IP参考模型和5层参考模型

1.2.4.1 TCP/IP参考模型(4层)

img

OSI参考模型与TCP/IP参考模型的区别:

  • 相同点

    • 都分层
    • 基于独立的协议栈的概念
    • 可以实现异构网络互联
  • 不同点

    • OSI定义三点:服务、协议、接口
    • OSI先出现,参考模型先于协议发明,不偏向特定协议。
    • TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次。
    • img

面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二阶段。接着,当数据传输完毕,必须释放连接。(TCP)

面向无连接没有这么多阶段,他直接进行数据传输。(UDP)

1.2.4.2 五层参考模型

img

五层参考模型的数据封装与解封装:

img

第一章知识总结

img

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340