1 计算机网络的结构

1.1 网路边缘

  主机、应用(软件、网站)

1.2 接入网络

1.3 网络核心

  转发设备,路由器、交换机。关键功能就是路由+转发达到数据交换。

2 Internet的结构

2.1 简介

  大体结构:一级ISP,下面连接二级ISP、三级ISP.....,再下面连接区域ISP,区域ISP连接接入网络

2.2 IXP

   互联网交换处理器。互联网交换中心(Internet Exchange Point)是不同电信运营商之间为连通各自网络而建立的集中交换平台,互联网交换中心在国外简称IX或IXP,一般由第三方中立运营,是互联网的重要基础设施

3 数据交换

  网络核心进行数据交换是怎么进行的呢,有多种交换方式

4 电路交换

4.1 简介

  比较典型的电路交换就是打电话

  它是不能被第三方共享的。

  比如使用电话拨号,对方接起,那么就建立起了一个电路,在这个起点,这个电路不会有第三方进来,直到挂断,释放连接,电路拆除。

  现在有一个带宽为1Mbps的链路,有一个接入网络连接了路由器,有N个用户在使用。

  假如每个用户活动时需要100kbs, 电路交换首先需要建立电路,且电路在拆除前它占用的带宽是不能共享的。也就是说同一时间,最多只能够被10位用户使用。

4.2 电路交换之中的链路共享问题的解决

  是链路共享,不是资源共享。

  还是上面的例子:现在有一个带宽为1Mbps的链路,有一个接入网络连接了路由器,有N个用户在使用。假如每个用户活动时需要100kbs,也就是说同一时间,最多只能够被10位用户使用。这里的共享值得是同一时间使用多个用户使用这条链路,而不是共享带宽资源。

  如下图,当很多电话同时在通信的时候,会建立多条电路,多条电路中,有共同用到的一段线路,也就是中继线,中继线依靠多路复用CDM来实现共享

4.3 码分多路复用CDM

  1)它们使用相同频率的载波

  2)为每个用户分配一个唯一的m bit码片序列,其中0用-1表示,1用+1表示如(-1-1-1+1+1+1-1 )

  3)利用各自的码片序列编码数据  编码信号=原始数据*码片序列

  4)为了保证各自的编码信号不相互影响,各自的码片序号需要相互正交

  5)解析信号

  多个用户同一时刻发送的数据通过码片序列编码后,做一个叠加,得到一个叠加向量P

  接收方收到信号P,如想获取用户A的数据,就用A的码片序列解码,可能有3中结果,解析到1,解析到-1,这两种都是解析到了数据,若解析为0,表示在这一刻,该用户没有发送数据。

  6)示意图

  用户1和用户2在同时发送数据,经过编码叠加得到P,P通过信号通道到达接受端,接受端获取P,此时,如果想获取用户1的数据,就是要用户1的码片序列对P进行解码,就可以得到用户1发送的数据,如果要获取用户2的数据,就是要用户2的码片序列对P进行解码,可以得到用户2的数据。美妙的数学。

5 报文交换

5.1 什么是报文

  报文就是一份数据整体,它是把一个数据整体发送。

  它是不共享链路

 

6 分组交换

6.1 什么是分组

  就是把报文拆分开来,分成多个小的数据包,还会在每个小的数据包加上头部,里面添加了一些信息。

  分组交换就存在了拆分和重组的过程,那么相当于报文交换,就产生了额外的开销,但是这是十分值得的。

6.2 它是共享链路的

它最大的特点是按需共享链路,且是时间上的分配共享,当A需要的时候,带宽被A占用,当B需要的时候,带宽被B占用

6.3 存储转发

  报文交换和分组交换都是采用存储-转发的模式。都是从源发送到中间节点(如路由器),在路由器暂存,然后根据路由转发。

  那么数据太大的话,报文交换局限性不就很大?

7 报文转发和分组转发比较

7.1 传输延迟的概念

  一份数据是长度L,传输速率为R,那么传输延迟就是L/R

7.2 报文交换和分组交换

7.2.1 报文交换

  报文长度为M bits,链路带宽为R bits,那么传输延迟为M/R

7.2.2 分组交换

  报文被拆分为多个分组

  每个分组的长度为L

  每个分组的传输延迟为L/R(忽略添加的头部信息)

7.2.3 例子(只比较传输,忽略分组转发的分组和重组的消耗)

  M=7.5M,链路带宽是1.5M,分组分成了5000分,每个分组的长度为1500 bits

1)  报文交换需要的时间和空间

  

  如上图,从源主机传输到目的主机,中间有两个节点,报文交换需要15s

   而且,报文交换的中间节点的存储至少得有7.5M才可以

 

 2)分组交换

  如上图,从源主机传输到目的主机,中间有两个节点,报文交换需要5.002s。为什么会少这么多呢,因为分组,在传输的过程中是并行传输的。

  一个小数据包从源主机到第一个节点,再往下一个节点传的时候,下一个数据包同时从源主机往第一个节点传,一次类推。

   而且,报文交换的中间节点的存储至少需要有1500bits才可以

3)分组交换耗时小结 

跳步数:从原主机到目标主机经过的过程数,h=n+1

那么分组交换传输一份报文需要的时间T=M/R+(h-1)L/R=M/R + nL/R

报文交换也是现在网络数据交换的手段

 

8 分组交换和电路交换比较

8.1 例子

  

  现在有一个带宽为1Mbps的链路,有一个接入网络连接了路由器,有N个用户在使用。

  假如每个用户活动时需要100kbs,平均活动时间为10%

8.2 电路交换

电路交换首先需要建立电路,且电路在拆除前它占用的带宽是不能共享的。也就是说,同一时间,它最多只能有10个用户同时使用。

8.3 分组交换

分组交换的共享是时间上的共享,同一时刻只有一位用户占用了链路,所以分组交换是时间上的分配。只要把时间分配好,就没什么问题。如现在有35个用户在使用,大于10个用户同时使用的概率<0.0004

  分组交换优点:

    资源使用率更高

    简单,无须呼叫建立

  分组交换缺点:

    可能产生拥塞,需要协议来保证可靠数据传输

9 计算机网络的性能

9.1 速率

  速率也叫数据率、数据传输率、比特率,它是指单位时间(s)传输信息量(bit)  

  

9.2 带宽

  在通信领域,带宽指得是信号具有的频带宽度,即最高频率和最低频率之差,单位是赫兹

  在计算机领域,带宽是指数字信道所能传输的"最高数据率"

9.3 延迟/时延

1)分组交换为什么会发生丢包

  中间节点(如路由器),它的存储空间是有限的,当分组的数据包到达中间节点的速率大于它的转发速率,最后导致它存储的数据包占满了它的空间,无法继续接收下一个数据包,而却又数据包发送过来,很多中间节点的做法是丢弃新来的数据包,也就是丢包

2)四种分组延迟

  节点处理延迟

    节点处理延迟:数据包到达中间节点,中间节点对数据包进行差错检查,确定输出链路。当然,这个消耗的时间是极少的

  排队延迟

    中间节点正在传输其它数据包,所以它需要等待输出链路可用

  传输延迟

    传输数据包的需要时间 L/R(数据包的长度/带宽)

  传播延迟

    从传出点到达目的地的传输需要时间。

  以寄快递来对比这四个延迟

  1)我把快递送到快递点

  2)快递点工作人员检查物品,核对我的身份证,确定我的寄出的地点和接收人,这个过程好比节点处理延迟

  3)工作人员把快递包好了,放好

  4)分发快递的工作人员正在处理前面的快递,所以我的快递只能等待前面的快递分发完成,这个过程好比排队延迟

  5)前面的快递分发完成了,轮到我的快递分发了,把快递分发出库,放到运输车上的过程好比传输延迟

  6)运输车将快递运输到目的地,这个过程好比传播延迟

  

9.4 时延带宽积

  时延带宽积 = 传播时延 * 带宽

  传播时延单位s,带宽单位bits,所以时延带宽积的单位就是bit。

  所以时延带宽积可以理解为以比特为单位的链路长度(链路容纳的bit数),好比水管能容纳的水的量

9.5 丢包率

  丢包率 = 丢包书/已分发分组数

9.6 吞吐量/率

  表示在发送端与接收端之间传输数据的速率

    即时吞吐量:某个时刻的速率

    平均吞吐量:一段时间内的平均速率

  

如图,发送端到接受端,发送端一段链路的速率是Rs,接受端的一段链路速率为Rc,那么吞吐量取决于小的速率。

  再看这个图,发送端带宽Rc,接收端带宽Rs,中间节点带宽R/10,那么吞吐量取决于最小的额那个。而实际情况中,通常是取决于Rc或者Rs。

计算机网络基础02-Internet结构,网络核心的数据交换,计算机网络性能几个参数的更多相关文章

  1. JSON、使用JSON进行数据交换的基础和原理

    1. JSON 1.1. JSON 1.1.1. 什么是JSON JSON即Javascript对象表示法,是一种现在主流的数据交换格式.之所以应用广泛还是由其简单易读所决定的. 简单,只有六种类型的 ...

  2. python 网络篇(计算机网络基础)

                               计算机网络的发展及基础网络概念                    广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...

  3. Python网络编程基础 ❶ 计算机网络基础 初用socket模块

    1.计算机网络基础 C/S  客户端/服务器端 B/S  浏览器端/服务器端 mac地址,ip地址,子网掩码,与计算得到网段,端口号每台计算机的网卡都有全球唯一的地址,在生产时已经写进去了. ip地址 ...

  4. [Network] 计算机网络基础知识总结

    计算机网络学习的核心内容就是网络协议的学习.网络协议是为计算机网络中进行数据交换而建立的规则.标准或者说是约定的集合.因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标 ...

  5. 转帖--计算机网络基础知识大总汇 https://www.jianshu.com/p/674fb7ec1e2c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    计算机网络基础知识大总汇 龙猫小爷 关注 2016.09.14 23:01* 字数 12761 阅读 30639评论 35喜欢 720 一.什么是TCP/IP 网络和协议 1.     TCP/IP是 ...

  6. 【转】[Network] 计算机网络基础知识总结

    阅读目录 1. 网络层次划分 2. OSI七层网络模型 3. IP地址 4. 子网掩码及网络划分 5. ARP/RARP协议 6. 路由选择协议 7. TCP/IP协议 8. UDP协议 9. DNS ...

  7. 计算机网络基础之OSI参考模型

    计算机网络基础之OSI参考模型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OSI参考模型 OSI是Open System Interconnection的缩写,意为开放式系 ...

  8. 01 语言基础+高级:1-9 网络编程_day11【网络编程】

    day11[网络编程] 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类 ...

  9. 深入Linux网络核心堆栈(对于netfilter的用法和讲解)

    http://blog.csdn.net/wswifth/article/details/5115475 注册一个hook函数是围绕nf_hook_ops数据结构的一个非常简单的操作,nf_hook_ ...

  10. 【计算机网络基础】数据交换技术和多路复用技术的正(nao)确(can)打开方式

    交换的作用   数据交换是计算机网络中两个终端进行数据传输的方式,它又可以分成两种类型:电路交换和分组交换.很显然,问题的核心在于“交换”,那么我们首先要思考的是:交换的作用是什么?   “交换”的作 ...

随机推荐

  1. 嵌入式-C语言基础:快速选择排序实现从大到小排序

    #include<stdio.h> int main() { /*简单选择排序:从大到小:一共比较sizeArr-1轮,每一轮的第一个数是arr[i],第一个数依次和它后面的每个数比较*/ ...

  2. 【DL论文精读笔记】 深度压缩

    深度压缩 DEEP COMPRESSION: COMPRESSING DEEP NEURAL NETWORKS WITH PRUNING, TRAINED QUANTIZATION AND HUFFM ...

  3. 网络编程:多进程实现TCP服务端并发、互斥锁代码实操、线程理论、创建线程的两种方式、线程的诸多特性、GIL全局解释器锁、验证GIL的存在

    目录 多进程实现TCP服务端并发 互斥锁代码实操 线程理论 创建线程的两种方式 线程的诸多特性 GIL全局解释器锁 验证GIL的存在 GIL与普通互斥锁 python多线程是否有用 死锁现象 多进程实 ...

  4. win7修改开机动画

    开机动画的修改 首先win7的过场动画是存在于C:\Windows\System32\bootres.dll ,而修改过程动画就需要修改这个dll,我不会改,所以只能用工具美化大师,软媒魔方里面的一个 ...

  5. nuxt作为主应用接入qiankun的实践(附代码)

    上半年一直在倒腾qiankun,在使用nuxtjs接入qiankun时遇到了一些坑,记录并分享出来,希望能帮助到大家. 代码地址:nuxtjs-qiankun-demo Nuxtjs接入qiankun ...

  6. Springboot整合thymeleaf报错whitelabel page

    1.SpringBootApplication未放在最外层 2.application.properties未配置spring.thymeleaf.check-template-location=tr ...

  7. nginx配置文件讲解及示例(可复制)

    详细的配置说明参考:https://www.cnblogs.com/ghl1024/p/9013805.html [示例一] #运行用户user www-data;   #启动进程,通常设置成和cpu ...

  8. MySQL进阶实战6,缓存表、视图、计数器表

    一.缓存表和汇总表 有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表. 缓存表用来存储那些获取很简单,但速度较慢的数据: 汇总表用来保存使用grou ...

  9. Java/JDK各版本主要特性汇总

    目录 Java18(2022.3) Java17(2021.9)(LTS版本) Java16(2021.3) Java15(2020.9) Java14(2020.3) Java13(2019.9) ...

  10. Flask框架(flask-sqlalchemy操作,Migrate作用,Flask迁移数据库,Flaks同步表数据)

    目录 一:flask-sqlalchemy操作 1.引入: 2.Flask-Migrate扩展 3.flask-sqlalchemy与slask_migrate作用 4.flask-migrate初始 ...