时至今日,互联网已经成为大家不可或缺的东西之一,如果手机、平板、电脑、智能硬件设备等,离开了网络之后,就跟砖头差不多。那互联网到底是什么呢?它是如何进行数据传输的呢? |
---|
- 若干节点和链路互连形成网络。
- 若干网络通过路由器互连形成互连网(互联网)。
- 因特网是当今世界上最大的互联网。
我们有时并没有严格区分互联网和因特网这两个名词,许多人口中的互联网实际上是指因特网。 那因特网是怎么发展起来呢,它的一个发展过程是怎么样的呢?
从因特网服务提供者(Internet Service Provider,ISP),可以看出:我们个人是没办法接入网络,需要从ISP服务提供者中购买对应的服务,才可以接入网络。
目前因特网都是基于ISP多层次结构来实现网络互连的
二、网络交互方式 网络交换方式有:
- 电路交换
- 分组交换
- 报文交换
2.1 电路交换
计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%。
2.2 分组交换
2.3 报文交换
- 报文交换是分组交换的前身。
- 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
- 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
- 因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多。
2.4 三种交换方式对比 若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低。 报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率。 将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性。
三种交换方式都有自己独特的应用场景,现实中往往都会存在,但是考虑到网络传输的特性,大部分是采用分组交换的方式进行数据传输。 三、计算机网络的定义 早期计算机网络没有一个很清晰的定义,只是将具备互连、自治、计算机集合的网络称为计算机网络。
现阶段计算机网络的一个较好的定义: 计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。 可编程的硬件: 不限于计算机,而是包括了智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(CPU)。 各类应用: 计算机网络并非只用来传送数据,而是能够基于数据传送进而实现各种各样的应用,包括今后可能出现的各种应用。 四、计算机网络的分类
- 按交换方式分类
- 按使用者分类
- 按传输介质分类
- 按覆盖范围分类
- 按拓扑结构分类
4.1 交换方式
4.2 使用者
4.3 传输介质
4.4 覆盖范围
4.5 拓扑结构 4.5.1 总线型
4.5.2 星型
4.5.3 环型
4.5.4 网状型
五、计算机网络的性能指标
5.1 速率
5.2 宽带
5.3 吞吐量
5.4 时延
5.5 时延宽带积
5.6 往返时间
往返时间(Round-Trip Time,RTT)是指从发送端发送数据分组开始,到发送端收到接收端发来的相应确认分组为止,总共耗费的时间。
5.7 利用率
链路利用率:链路利用率是指某条链路有百分之几的时间是被利用的(即有数据通过),链路利用率是指某条链路有百分之几的时间是被利用的(即有数据通过)。
网络利用率:网络利用率是指网络中所有链路的链路利用率的加权平均。
5.8 丢包率
- 分组在传输过程中出现误码,被传输路径中的节点交换机(例如路由器)或目的主机检测出误码而丢弃。
- 节点交换机根据丢弃策略主动丢弃分组。
丢包率可以反映网络的拥塞情况:
- 无拥塞时路径丢包率为0。
- 轻度拥塞时路径丢包率为1%~4%。
- 严重拥塞时路径丢包率为5%~15%。
六、计算机网络体系结构 常见的三种计算机网络体系结构:
- OSI参考模型
- TCP/IP参考模型
- 原理参考模型
OSI参考模型不适用的原因:专家没有实际经验,完成标准时没有商业驱动力。协议实现过分复杂,运行效率很低。标准的制定周期太长,产品无法及时进入市场。层次划分不太合理,有些功能在多个层次中重复出现。
6.1 TCP/IP模型整体过程
6.2 TCP/IP模型数据协议
七、计算机网络体系结构分层的必要性
7.1 物理层必要性原因
7.2 链路层必要性原因
7.3 网络层必要性原因
7.4 传输层必要性原因
7.5 应用层必要性原因
7.6 必要性说明
八、计算机网络分层举例
九、复盘总结
计算机网络概括就介绍到这边了,我们平时通过网络传输数据,看似特别简单,但是底层蕴含着特别复杂的流程。从方法论来学习整个过程的话,我们可以提炼到:复杂的问题可以分层处理。让职责权限单一,降低耦合性。想要提升效率就要学会批处理,多线程同时进行。解决问题要着手最关键点,也就MVP原则。方案没有最好的,只是最适合。 本文中图片来自湖南科技大学 《计算机网络》视频教程
视频地址:中国大学MOOC(慕课)https://www.icourse163.org/course/H