计算机网络——开篇 概述
- 2020 年 6 月 3 日
- 筆記
✏️概述
🍺 计算机网络在信息时代的作用
- 常见的网络 : 电信网络,有线电视网,计算机网络,随着时代的发展,三网合一
- 互联网的基本特征: 联通性(设备之间传递信息)和共享
- 互联网是世界上最大的计算机网络,连接的设备亿为单位
🍺 互联网概述
- 计算网络:由若干的节点 和连接这些的链路组成,节点可以是(计算机 集线器 交换机 和路由器) 链路可以是网线
例如:一个教室的计算机通过交换机,实现共享信息 - 互连网(注意这里是连) 指的是上面的网络通过路由互连起来,构成了一个更大的计算机网络。 也可以成为成为
网络的网络
图中蓝色的就是路由
- 因特网 全球最大的互联网,使用TCP/IP 协议进行交流。
互联网基本结构发展的三个阶段
第一阶段
单个网络ARPANET(阿帕网)向互联网的发展 (上世纪60年代到80年代中期)分组交换的方法就是ARPANET上的网络直接与就近的节点交换机连接。(并不是一个互连的网络)类似有上面提到的教室通过交换机来连接共享信息。 网络并不是开放的。
交换机最著名的类型就是路由器和链路交换机
ARPANET的介绍
1983集提出TCP/IP协议。 最初没有考虑安全性问题。IPv6考虑的安全性问题
第二阶段
1985提出三级结构的Internet网络。 学校网->地区网->主干网 ->主干网大小45M
第三阶段
多层次的ISP结构的互联网 。
- ISP(internet Service Provider )互联网服务提供商 ,例如电信,移动
简单说 会联网主机只有IP地址才能上网,IP地址相当于一个门牌号,数据才能找到地址。 而IP地址是由Ip管理结构管理。 ISP申请到IP地址(很对,普通人不能申请到单个IP) ,用户通过租赁ISP手中的IP地址,实现上网。 - ISP可以分为 主干ISP 地区ISP 和本地ISP。
本地ISP连接地区ISP,地区ISP连接主干ISP。
也就是所 A主机到B注意必须进过三个层次。 从本地->地区->主干->地区本地
三个层次
如果某个地区到某个地区流量比较的大,我们就直接地区->地区,不通过主干。 这就是IXP(互联网交换点 Internet eXchange Point) 直接在两个地区之间使用 高速链路对等地交分组。
- 例如名称为DE-CIX,在德国的法兰克福吞吐量为5。869Tbit/s。 这个IXP已经是欧洲互联网的枢纽。
- 中国的互联网分布
中国四大骨干网与CHINANET八大节点
🍺 互联网的组成
- 互联网的主机成为端系统
服务器也是互联网的边缘部分,服务器只是一个比较快的主机。只是互联网的使用者,而不是运行维护互联网。
互联网的边缘部分
主机之间的通行方式
- 客户端服务器方式(C/S) 客户端请求服务器
- 对等方式(P2P) 每个计算机都是客户端也是服务器。例如迅雷。占用上传宽带 。
计算机网络的核心部分
电路交换
座机使用电路连接。 理论使用两个线就可以实现端对端。但是座机多了,自然就是实现通过交换机来实现。交换机就是实现接线的过程。 电路交换适合于数据量很大的实时性传输。
端到端三个步骤: 建立连接(占用通信资源)->通话->释放连接(归还资源)
明显: 计算机对于这种连接比较的慢。 计算机发送数据不像打电话,且速度快。
分组交换
分组交换采用的是存储转发技术。
- 发送的数据被称为报文
将报文划分为比较小的数据段,每个段在加上必要的描述信息构成一个分组。
一般分组的首部包含了目的地址和源地址等重要的控制信息。 - 主机一般是用户信息的处理。而路由器则用来转发分组的,进行分组交换。 路由器接受一个分组,先暂时存储一下,检查其首部得到目的地址,找的合适的接口转发出去。一步一步进过很多的路由代目的地。 首先,自然产生疑问,路由器是怎么知道转发的接口。其实路由器之间必须经常掌握的路由信息。以便创建和维护路由器中的转发表。 路由中存储的只是报表,真正的数据在内存中。 通过协议来实现数据的准确性
优点 | 所采用的手段 |
---|---|
高效 | 在分组传输中动态分配宽带,对通信链路是逐段栈用 |
灵活 | 为每个分组独立的选择最适合的转发路线。 |
迅速 | 以分组为单位, 可以不建立就能向其他分组分组 |
可靠 | 保证可靠性的网络协议,分布式多路由分组交换网,使得网络有很好的生存型 |
问题:
可能产生较大的时延
报文交换
类似于分组交换,但是传输的数据是一个整体。
很明显报文交换是最慢的。报文交换类似于一条流水线完成所有的工作。 分组交换相当于每个公司负责一部分,在组装,类似并行。
🍺 其他一些计算器网络的分类
按照网络的作用范围分类
- 广域网 (远程网) 是互联网的核心部分,用来连接国家。使用高速链路。具有较大的通行容量
- 城域网(Metropolitan Area NetWork) 用来连接城市。5-50km。为共有设施。 城域网采用的以太网技术
- 局域网(LAN) 类型企业网,校园网 速度10M/S以上。
+个人区域网(PAN) 10m左右,一般使用无线技术来连接。
按照网络的使用分类
- 公用网 电信公司出资建造的大型网络
- 专用网 部门的特殊要求
🍺计算机网络的性能指标
速率
网络中速率指的是:计算机网络上的主机在数字信道上传输数据位数的速率。 (信道指的是你到ISP服务器的一个通道。 同样的服务器到对应的ISP提供商的又是另一个信道)
- bit/s
- Mbit/s
- MB/s 和Mbit/s的区别
带宽
在计算机网络中,宽带用来表示网络中某信道传输数据的能力
。也就是数字信道传送的最高数据率单位应该是 b/s kb/s Mb/s Gb/s。
一般电信,联通说的宽带是用的是b而不是bit,8b=1bit。所以我们实际的速度要除以8。 100M宽带对应的速率 为100/8M/s
吞吐量
表示在待你我时间内通过某个网络(或通道,接口)的实际的数据量。一般这种吞吐量以Gbit/s 为单位
时延
就是网络存一个端口带内一个端口花费的时间。这是一个比较重要的指标。有时称为延迟或者迟延
时延是由3个部分组成:
- 发送时延 是主机或路由发送数据帧所需要的的时间。就是从第一个bit算起,到最后一个bit。发送完毕需要的时间。 简单一点就是火车出站需要的时间
发送时延= (数据块的长度 比特) / 信道宽度(bit/s) - 传播时延 电磁波在信道中传播一定距离需要的时间 ,计算公式:
传播时延: 信道长度(m)/ 电磁波在信道上的传播速率(m/s)
发送时延时数据准备花费的时间(一般发生在网络适配器中),传播时延时传播过程花费的时间 - 处理时延
主机或路由在接受到分组要花费一定的时间进行处理。例如分析首部,从分组中提取数据,检验,寻找适合的路由。 - 排队时延 在网络传输过程中,经过许多的路由器,但是进入路由器之后要在输入队列中等待被处理花费的时间。
总的花费时间就是 总时延= 发送时延+ 传播时延+ 处理时延+ 排队时延。
光纤的传播时延为20。5万公路,铜线的传播距离为23。5万公里。
还有一些其他的指标 - 时延带宽积
- 往返时间RTT
- 利用率
🍺计算器网络体系的结构
同样计算机网络也有着程序设计的思想 模块化, 低耦合。
开放系统互联基本参考模型(OSI/RM) (Open Systems Interconnection Reference Model) 这是一个抽象的概念。在1983年形成了ORM的正式文件ISO 7498 国际标准。一共划分了7层
但是现在使用的是TCP/IP协议。 虽然是非国际标准,但是已经成为事实上的国际标准。TCP/IP协议没有使用OSI标准。
OSI失败的原因:
- OSI 专家缺乏实际的经验,在完成OSI标准是缺乏商业动力
- 实现太过复杂
- 指定的周期太长,设备无法及时的进入市场
- OSI的划分层次不合理,功能造多个层次中出现
OSI的和TCP/IP的具体划分
具体每一层的划分,而且并不是所有的程序或者设备遵守协议。
计算机网络如同计算机的其他学科也是极为复杂的,那么进行一些抽象,简单化是必要的。 早在最初的APRANET就提出了分层的概念。再到后来1977
年成立了专门的机构来研究该问题。试图提出一个各种计算机体系都可以互连在世界访问内互连成为网络的标准架构。 及就是开放系统互连基本参考模型
OSI/RM(Open System Interconnection Reference Model)简称为OSI。
虽然这种体系将复杂的网络分解为若干的问题。但是基于TCP/IP的的互联网已经大范围在世界中使用。 OSI的七层协议体系概念非常的清晰,但是太过复杂不实用。所以TCP/IP使用了四层协议
这里我使用一个5层协议来讲述计算机网络
应用层
应用层是体系结构中的最高层。应用层的任务主要是通过应用进程间的交互来完成特定的网络应用。应用层定义了应用进进程通信和交互的规则,例如(HTTP协议,支持电子邮件的SMTP等等),我们把应用层的数据单元成为报文
运输层
运输层的任务主要是负责两台主机中进程之间的通信提供``通用
的数据传输服务。应用层利用该服务传送应用层的报文。 这种通用的是指,并不是针对某个具体的应用服务,而是多个应用服务可以同时使用一个运输层服务。一个主机可以同时运行多个进程,因此运输层有复用和分用的功能。
- 复用: 多个应用层程序可以使用同一个运输层
- 分用: 运输层把收到的信息,分别交付到应用层中的相应的进程中。
运输层主要使用的两个协议: - 传输控制协议TCP(Transmission Control Protocol) 提供面向连接的,可靠的数据传输服务,其数据传输的单位的
报文段
- 用户数据协议UDP (User Datagram Protocol) 提供无连接的,尽最大努力的数据传输服务(不保证数据的可靠性),其数据传输的单位是
用户数据报
网络层
网络层负责为分组交换网上的不同主机提供通信服务。在TCp/IP协议中,由于网络层使用的是IP协议,因此分组也叫IP数据报。 IP层或者网际层指的也是该层 路由器应该属于这一层。它确定了数据发送的源地址,目标地址,以及进过的路由。其中路由表中的条目,可以是人工添加,也可以是自动获取。
数据链路层(data linker layer)
也称为链路层, 两台主机在线路上传输,是一段一段的传输的,所以需要使用专门的协议。在两个相邻的节点之间传输数据是,数据链路层把网络层交下来的IP数据组装成帧(Framing),在加上一些同步信息,地址信息。差错信息。等。
在接受到数据后,就可以提取出数据交给网络层。同时该层还会检测帧中是否有错误发现有差错的,丢弃或者改正。
物理层
在物理层中传输的单位是bit,发送0还是1,物理层一般使用高低电压来代替逻辑0和1。通常物理层会定义电缆的插头,已经引脚。还有一些实际的电缆,无线网,光缆来具体的传递信息,并不是网络协议的内容。那就是通信工程的任务。 这个可以是第0层。
通常我们说的TCP/IP并不是单指的是者两个协议,而是往往值得是互联网使用的TCP/IP协议族。
在计算机网络中必须考虑特殊的情况,把不利的条件都要考虑进去。
- 个人的理解
- 应用层 : 就是定义了交互的方式规则,认为我和另一个程序在交互,不管操作系统,等等的差异。就像在一台计算机中,不同的进程在交互。
- 运输层: 把数据分组,包装每个分组的源地址,目标地址,顺便选择一个最短路径,重点它描述了收货地址。
- 网络接口层:黑箱操作,扔进去数据得到我们想要的结果,或者有点类似于Java的JDBC规范等。