时至今日,互联网已经成为大家不可或缺的东西之一,如果手机、平板、电脑、智能硬件设备等,离开了网络之后,就跟砖头差不多。那互联网到底是什么呢?它是如何进行数据传输的呢?

一、网络、互联网、因特网

大家可能都听过网络、互联网、因特网这三个概念,那他们之间有什么关系呢?

  • 若干节点和链路互连形成网络。
  • 若干网络通过路由器互连形成互连网(互联网)。
  • 因特网是当今世界上最大的互联网。
我们有时并没有严格区分互联网和因特网这两个名词,许多人口中的互联网实际上是指因特网。

那因特网是怎么发展起来呢,它的一个发展过程是怎么样的呢?

从因特网服务提供者(Internet Service Provider,ISP),可以看出:我们个人是没办法接入网络,需要从ISP服务提供者中购买对应的服务,才可以接入网络。

目前因特网都是基于ISP多层次结构来实现网络互连的

二、网络交互方式

网络交换方式有:

  1. 电路交换
  2. 分组交换
  3. 报文交换

2.1 电路交换

计算机之间的数据传送是突发式的,当使用电路交换来传送计算机数据时,其线路的传输效率一般都会很低,线路上真正用来传送数据的时间往往不到10%甚至1%。

2.2 分组交换

2.3 报文交换

  1. 报文交换是分组交换的前身。
  2. 在报文交换中,报文被整个地发送,而不是拆分成若干个分组进行发送。
  3. 交换节点将报文整体接收完成后才能查找转发表,将整个报文转发到下一个节点。
  4. 因此,报文交换比分组交换带来的转发时延要长很多,需要交换节点具有的缓存空间也大很多

2.4 三种交换方式对比

若要连续传送大量的数据,并且数据传送时间远大于建立连接的时间,则使用电路交换可以有较高的传输效率。然而计算机的数据传送往往是突发式的,采用电路交换时通信线路的利用率会很低

报文交换和分组交换都不需要建立连接(即预先分配通信资源),在传送计算机的突发数据时可以提高通信线路的利用率
将报文构造成若干个更小的分组进行分组交换,比将整个报文进行报文交换的时延要小,并且还可以避免太长的报文长时间占用链路,有利于差错控制,同时具有更好的灵活性。

三种交换方式都有自己独特的应用场景,现实中往往都会存在,但是考虑到网络传输的特性,大部分是采用分组交换的方式进行数据传输。

三、计算机网络的定义

早期计算机网络没有一个很清晰的定义,只是将具备互连、自治、计算机集合的网络称为计算机网络。

现阶段计算机网络的一个较好的定义:

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

可编程的硬件:

不限于计算机,而是包括了智能手机、具有网络功能的传感器以及智能家电等智能硬件,这些硬件一定包含有中央处理单元(CPU)。

各类应用:

计算机网络并非只用来传送数据,而是能够基于数据传送进而实现各种各样的应用,包括今后可能出现的各种应用。

四、计算机网络的分类

  1. 按交换方式分类
  2. 按使用者分类
  3. 按传输介质分类
  4. 按覆盖范围分类
  5. 按拓扑结构分类

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%。

六、计算机网络体系结构

常见的三种计算机网络体系结构:

  1. OSI参考模型
  2. TCP/IP参考模型
  3. 原理参考模型

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

史上最全计算机网络大纲相关推荐

  1. 史上最全《计算机网络 自顶向下方法》答案合集

    史上最全<计算机网络 自顶向下方法>答案合集 封面: 英文名:Computer Networking: A Top-Down Approach (7th Edition) 答案 第一章 ( ...

  2. @请注意查收:《史上最全的AI论文资料》.pdf

    搞AI,在不断精进自己代码的同时,更应该提升自己的阅读能力.需要不断地阅读大量的最新.最前沿的论文,也要深扎经典论文根基.因为阅读论文可以帮助你深入原理,理解AI更前沿的发展状态,掌握更前沿的技术热点 ...

  3. 史上最全分布式数据库概述

    墨墨导读:在集中式数据库系统不能完全符合实际需要的形势下,集中式DB的"集中计算"概念向"分布计算"概念发展.分布计算主要体现在客户机/服务器模式的分布式数据库 ...

  4. hexo史上最全搭建教程(转载)

    转载 hexo史上最全搭建教程 2018-09-16 20:19:08 zjufangzh 阅读数 46445 收起 分类专栏: 日常技术 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  5. 移动端IM开发者必读(二):史上最全移动弱网络优化方法总结

    1.前言 本文接上篇<移动端IM开发者必读(一):通俗易懂,理解移动网络的"弱"和"慢">,关于移动网络的主要特性,在上篇中已进行过详细地阐述,本文 ...

  6. 史上最全PPT制作教程和PPT模板,毕业论文答辩PPT制作方法

    史上最全PPT制作教程和PPT模板,毕业论文答辩PPT制作方法 每年到毕业季,各位大学毕业生们都在为毕业论文答辩做准备,而毕业论文答辩PPT的制作则是答辩准备当中一项非常重要的工作.因为,答辩委员会不 ...

  7. 面试题(3)史上最全阿里技术面试题目

    面试题(1)最全BAT面试精华汇总 面试题(2)阿里最全面试100题 面试题(3)史上最全阿里技术面试题目 面试题(4)阿里等BAT必考多线程面试60题 面试题(5)BAT面试笔试33题:JavaLi ...

  8. 北风:史上最全wordpress建站攻略,无代码基础也能轻松搞定

    什么是执行力?就是特么的啥原理都不需要懂,只需要懂怎么做,然后按照步骤一个一个碾压过去,神挡杀神,佛挡杀佛.能做到这一点,就已经能超过很多人了.--北风 作为一个零代码基础的小白,建站过程中也是踩了好 ...

  9. wordpress怎么搜索别人_北风:史上最全wordpress建站攻略,无代码基础也能轻松搞定...

    什么是执行力?就是特么的啥原理都不需要懂,只需要懂怎么做,然后按照步骤一个一个碾压过去,神挡杀神,佛挡杀佛.能做到这一点,就已经能超过很多人了.--北风 作为一个零代码基础的小白,建站过程中也是踩了好 ...

  10. 这可能是史上最全的Python算法集!

    来源 | CSDN(ID:CSDNnews ) 本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少:容易阅读,容易理解每个 ...

最新文章

  1. MASQUERADE --random 端口不随机
  2. 你竟然还不懂变分自编码机?这个16岁的OpenAI天才实习生讲得可透彻了
  3. JavaWeb--数据库添加
  4. iphone6 充电电流测试软件,iPhone7支持快充? 9个充电器数据实测
  5. Yii 数据库重连告别General error: 2006 MySQL server has gone away
  6. vsftpd服务与客户机的传输和下载
  7. 获取目录的大小函数linux,Linux C++获取文件夹大小1(通过lstat实现)
  8. js动态添加meta标签
  9. 【Python学习】 - - 链表推导式[ 2*x for x in X ]、匿名函数、并行迭代
  10. 吉大计算机考研分数线2021,吉林大学2021考研分数线
  11. 2008最新热门搞笑的50条语录
  12. 数据结构与算法 第二章习题课
  13. 机器学习算法总结(六)——EM算法与高斯混合模型
  14. sql 语句 查询结果赋值变量_RationalDMIS 7.1 变量赋值 ASSIGN语句
  15. 哈希加密matlab,图像加密算法之基于Hash函数和多混沌系统的加密
  16. stats | 概率分布与随机数生成(二)——均匀分布、指数分布、正态分布、对数正态分布、卡方分布、t分布、F分布和增长分布
  17. 30个有发展前景的创业项目
  18. 第六十六章 Caché 函数大全 $TRANSLATE 函数
  19. 线上支付、线下支付的功能对比
  20. 大商创是用哪种php柜架写的,手把手教你做一套大商创店铺模板(1.9版)

热门文章

  1. PCB 设计的基本流程
  2. 疲劳检测(一)Landmark + HeadPose
  3. 浅谈Java中的单例模式及四种懒汉模式
  4. 从网易云音乐看新媒体内容运营法则
  5. 今日头条 java笔试题_今日头条笔试第一题
  6. 2018年8月12日 今日头条笔试 整理
  7. 利用windows 自带WiFi共享工具共享WiFi
  8. 锐浪报表 Grid++Report uniGUI Web表格打印
  9. unity3d 官方demo入门概念
  10. TwinCAT3 EL6070-1648授权模块使用