计算机网络和Internet之核心网络
1.网状的路由器
路由器的链接组成了网络的核心。
任何一个路由器,或者某条线路挂掉,但是网络还是通的,这是internet的一个特性。
data到底是怎么传输的?
1)circuit switching专有线路,就像电话一样,每一条都有一个线路。
2)packet-switching封包机制:就是data分成一个一个的包送资料。
1.1 circuit switching
首先要做一个end to end,通过资源的分配,把他们连接起来。
这个线路要经过路由器,所以路由器的带宽会影响传输的速度。
在每一段link上面,都保留频宽,就会有一个专属频宽的意思。
专属的资源,无法共享。就算这条线路没有被使用,其他传输的请求也无法获取这条线路。
但是它必须有一个建连线的动作。
2种方法来实现这个模式:
1)时间来分割
2)频率来分割

其实就是资源的划分,空间或者时间。
之前微信和移动闹得那点事,就说占用频宽的事情,具体可以百度下。
1.2 packet-switching
把资料切成一个一个的封包,然后在资料使用的时候,使用网络所有的link,全速传输。
这样呢,User A & User B就是 share 网络资源。所以说,他要做resource 竞争。
但是路由器的带宽总是有限的,相对与大量的网路请求,往往会有拥挤的问题。
封包就放入路由器的队列。
路由器就是先存储,然后在转送。
转送的时候是无序的,也就是A & B的封包是随机排列的,每一个封包都需要竞争资源。
而且User A & User B发送data的时机是不确定的,所以可以更充分的利用网络的带宽。
封包先收起来,然后看看要放到哪里去,然后在放到那个Queue里面。
1.2.1 2种模式的对比
假设说有一个link,带宽是1M/s
假设有N个User,要送资料,送的单位是100K
它不是alway on,它想送的时间只有10%
所以如果是circuit switching,你只能分割给10个user,但是你只有10%的时间在用,剩下的
时间都是浪费的。
如果是packet-switching,如果有35个User,在同一时刻超过10个User的几率,小于0.004
所以它可以认为支持35个user同时使用。
packet-switching适用的场合,
1)bursty data 大量的,但是短暂的data。既然都是bursty,可以把发送时间错开,这样就最好了。适合封包的发送方式。
如果多个User同一时刻,都爆发data,路由器可以把它们Queue起来,等到网络空闲的时候,在发送它们。
当然也有可能end端的data过多,超过峰值,那可能就会掉封包。所以它可以建多个连接来减少这个概率。
但是bursty data会造成 封包的delay & loss
所以说需要一个更好的protocol来提供可靠的传输机制,TCP
2)怎么提供跟circuit类似的功能?
希望做audio/video 这种应用。需要5M的频宽,但是可能只能给到5K,应为internet是需要竞争的,所以它的频宽不保证。
只有通过协议的方式,这个难度很高,目前位置还是一个open problem.
1.2.2 store & forward

假设从one end端有资料要送,有2个路由器。
每段的频宽是R
封包的长度是L
假设L = 7.5M
R = 1.5M
所以送一个封包要5s的时间,L/R送一个封包的时间。
每一段都要送5秒,它是送一段,然后store在路由器,然后在store,这样就是
delay = N *L/R
N就是线路的个数。
如果我们把7.5M 切成一个个pice。比如是5000份。每一个封包只有1.5K,所以送一个封包的时间变成1ms
它可以使用pipelining的方式,
我送第一个封包,1ms。
送第二个封包的时候,下一段,可以送第一个封包
所以就是每段网络都在发送data,而不是等待的概念。
所以我要花5002ms,就可以收完了。
所以说封包不要太大,让他可以pipeling
但是每个封包都有一段头,所以不是切的越小越好。
1.2.3 path 选择
在传输data的时候要经过不同的路由器,而且有很多路径,要怎么选?
路径选择的算法。路由器的连接的情况,一直在变,比如拥挤或者被挖断了,怎么办?
可以选择路由器最少的路径,但是不见得是最快的,比如有无线路由器的路径。
1)每个封包都需要,带对方的地址,这就是IP,就像一封信一样,一定要一个收件人的地址。
2)在一个连接的过程种,封包传递的路径可能会变,就像开车,不认路,所以每开一段,都要问。
3)virtual circuit network:给每个封包加上一个tag,每一个路由器看到这个tag,就知道往哪里去。
因为要去固定的路径,所以一段需要建连线的时间。路由器就需要控制每一个call的状态。就是蓝色tag,要往哪里去,都有
明确的路径。
总结:

整个通讯网路分为2大块,
专有网络和封包机制
专有网络:FDM & TDM
封包:带有IP地址的封包,有路由器来送。路由器之间会交换它们的信息。
封包一进来,路由器会建表,路由器会定期和不定期的沟通。
希望在packet-switching的机制下,走固定路线,就是VCs
计算机网络和Internet之核心网络的更多相关文章
- 计算机网络原理实验_使用网络协议分析仪Wireshark
一.实验名称 使用网络协议分析仪Wireshark 二.实验目的: 1. 掌握安装和配置网络协议分析仪Wireshark的方法: 2. 熟悉使用Wireshark工具分析网络协议的基本方法,加深对协 ...
- 第1章 1.8计算机网络概述--OSI参考模型和网络排错
OSI参考模型的网络排错: 每一层都为上一层提供服务. 如果网络出故障了,应该从底层向高层一层一层的查. OSI参考模型排错指导:(排错原则:自下而上.终极大招ping命令) 1.物理层故障: ①查看 ...
- kubernetes进阶(二)核心网络插件Flannel
网络插件Flannel介绍:https://www.kubernetes.org.cn/3682.html 首先,flannel利用Kubernetes API或者etcd用于存储整个集群的网络配置, ...
- python 网络篇(计算机网络基础)
计算机网络的发展及基础网络概念 广播 主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无 ...
- 深入Linux网络核心堆栈(对于netfilter的用法和讲解)
http://blog.csdn.net/wswifth/article/details/5115475 注册一个hook函数是围绕nf_hook_ops数据结构的一个非常简单的操作,nf_hook_ ...
- K8S(03)核心插件-Flannel网络插件
系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 K8S核心网络插件Flannel 目录 系列文 ...
- [A Top-Down Approach][第一章 计算机网络和因特网]
[A Top-Down Approach][第一章 计算机网络和因特网] 标签(空格分隔): 计算机网络 介绍基本术语和概念 查看构成网络的基本硬件和软件组件. 从网络的边缘开始,考察在网络中运行的端 ...
- python核心编程第二版笔记
python核心编程第二版笔记由网友提供:open168 python核心编程--笔记(很详细,建议收藏) 解释器options:1.1 –d 提供调试输出1.2 –O 生成优化的字节码(生成 ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
随机推荐
- Mac下Vim配置语法高亮
设置终端的字体颜色 如图,打开终端然后,选择偏好设置,再选择描述文件,再窗口左侧可以选择系统配置好的,或者你也可以自定义,最后别忘了把你的配置设置成默认就行 Vim语法高亮设置 只需要找到vimrc配 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(15)--在MVC项目中使用RDLC报表
RDLC是一个不错的报表,有着比较不错的设计模式和展现效果,在我的Winform开发里面,使用RDLC也是一个比较方便操作,如可以参考文章<DevExpress的XtraReport和微软RDL ...
- WebApp简单制作(后端也可以装逼啦)
前端越来越吃香的感觉 年后回来,跟之前和几个同事和朋友聊天,发现有两个.net的和一个php的朋友都转到了前端,真是出乎意料.自从之前的webapp兴起后,前端感觉比后端吃香很多,总结朋友们转的原因, ...
- Scala确实是门好语言
看完了一本Scala的书,整体感觉很不错,语法很简洁,对用惯了脚本语言的人来说语言特性稍微有点复杂,不过对Java用户应该没有压力. 最牛叉的有两点:并发.面向领域编程
- [小北De编程手记] : Lesson 02 玩转 xUnit.Net 之 基本UnitTest & 数据驱动
关于<玩转 xUnit.Net>系列文章,我想跟大家分享的不是简单的运行一下测试用例或是介绍一下标签怎么使用(这样的文章网上很多).上一篇<Lesson 01 玩转 xUnit.Ne ...
- FancyBox - 经典的 jQuery Lightbox 插件
FancyBox 是一款非常优秀的弹窗插件,能够为图片.HTML 内容和其它任务的多媒体内容提供优雅的弹出缩放效果.作为是最流行的 Lightbox 插件之一,可以通过 fitToView 实现自适应 ...
- ZeroClipboard – 轻松实现复制文本到剪贴板功能
ZeroClipboard 库提供了一种把文本复制到剪贴板的简单方法.Zero 表示该库是不可见的,用户界面则完全取决于你. 该库完全兼容 Flash Player 10.0.0 或以上版本,这就要求 ...
- 极富创意的3D文件夹切换效果
今天分享的是一个极富创意的文件夹切换效果.这个案例使用CSS 3动画实现了一个3D的平行六面体旋转效果.点击顶部的3个按钮可以旋转并切换.另外,每个六面体本身是一个文件夹,点击后可以展开查看里面的详情 ...
- JavaScript中的普通函数与构造函数比较
问题 什么是构造函数?构造函数与普通函数区别是什么?用new关键字的时候到底做了什么?构造函数有返回值怎么办?构造函数能当普通函数调用吗? thisthis永远指向当前正在被执行的函数或方法的owne ...
- CSS基础教程 -- 媒体查询屏幕适配
响应式布局 Media Query 的使用方法 在上例中, 我们使用Media Queries来根据3种不同尺寸的窗口使用3种不同的样式.通过不同的媒体类型和条件定义样式表规则,媒体查询让CSS可以更 ...