计算机网络(基础入门篇)
来源:互联网 发布:蔷薇十字团 知乎 编辑:程序博客网 时间:2024/06/06 00:02
关于计算机网络方面的知识,以前看的是谢希仁前辈的书,之后买了本国外的一本权威之作《自顶向下方法_计算机网络》,感觉门槛不是很高,不过别人讲解的视频自己单刷有点困难。书到的时候我自己都吓到了,一本比词典还厚,不过想想也对,内容满满的,刚看了第一章的一些内容就把之前的许多疑惑都解开了。此外,这本书好像被一些计算机学院用做教材,满是精髓。文章只是个人笔记,有错误的地方请各位大神大牛们指点纠正。
计算机网络的核心部分非常复杂,是由许多分组交换机和通信链路组成,它们为计算机网络的边缘部分(各种端系统)提供通信服务。
我们一般称处于网络边缘部分的,连接网络的主机、非传统设备称为端系统,非传统设备有很多,现在的智能手机、平板电脑等等。端系统也可以称为主机,它们运行各种应用程序。端系统也是通过通信链路和分组交换机连接到一起,通信链路有许多种,它们由不同类型的物理媒体组成,例如说光钎、同轴电缆。不同的链路传播速度是不一样的。现在的话,我们都知道光钎的速率算是最快的吧,不过费用···服务提供商们太坑了不解释,希望在我们网速提高的同时费用也能下降。链路的传输速度以比特/秒度量(bit/s),当端系统要像另一个端系统发送数据的时候,这些数据会被分段,加上首部字节,最后变成分组(跟“包”同义),然后再通过网络发送到目的端系统。
分组交换机从它的一条入通信链路接收到达的分组,并从它的一条出通信链路转发该分组,现在最主要的分组交换机应该数路由器了吧,很少有用链路层交换机的,这个好像常用于接入网中。
计算机在进行通信的过程时,需要遵守许多的规定,这些规定被称为“协议”,规定着通信过程中的许多细节问题。主要的协议有TCP/IP协议族,TCP/IP是一个协议族,是许多重要的协议组成的集合,我是这么理解的。
在各种网络应用中,端系统彼此交换报文,这些报文包括许多东西,可以是数据也可以是含有控制功能的报文,在源和目的之间要跨过通信链路和分组交换机,分组以等于该链路最大传输速率的速度传输通过通信链路。这里需要了解一下分组交换的一个机制,叫做存储转发传输,很熟的名词。这个机制规定交换机在开始传输该分组之前必须先接收到整个分组,如果这个分组为长度为L,该链路的传输速率为R比特/秒,那么传输该分组就需要L/R秒。如果需要传播三个长度为L的分组,那么就需要3L/R秒。
从上面我们了解到,存储转发传输需要等整个分组接收完才能开始向下一个分组交换机/目的地址进行传输,那么这个时候其他分组就需要排队等待,于是出现了排队时延这一说法。存储转发时延与排队时延是两个不同的概念,存储转发时延指的是等待一个分组完整的接收完,而排队时延是等待前面的分组完整的传输出去。
每个端系统具有一个IP地址,当一个分组到达该网络中的路由器时,路由器就会查该分组的目的地址的一部分,并向下一个相邻路由器转发该分组。每个路由器都有一个转发表,当某分组到达一台路由器时,路由器检查该地址,并用这个目的地址搜索其转发表,以发现适当的出链路。
通过通信链路和交换机移动数据还有另一种方法,即电路交换,电路交换通信会话期间预留了端与端之间所需要的资源,在发送方发信息之前会与接收方建立一条链接。链路中的电路是通过频分复用或时分复用来实现的,对于频分复用,就是分配一定的带宽,而对于时分复用就是分配一定的时隙。
分组交换与电路交换时常有争议,有人认为分组交换的方式好有人认为电路交换的方式好,书中是觉得分组交换的方式好,我倒觉得没什么,各种方式在各自情况下都有各自的优势吧。
之前我们说过的时延,包括存储转发时延和排队时延,现在我们又要引入另一些时延了,结点处理时延、传输时延和传播时延。结点处理时延包括检查分组首部还有决定分组导向等;排队时延就不说了,传输时延是指从路由器将分组的所有比特推向链路所需的时间;传播时延是指路由器将分组推出后从通信链路到达另一个路由器或者目的地址之间所需的时间。(要注意区分传播时延和传输时延)在没有考虑其他更多时延的时候,一个包从源到目的地址的时延(即总时延),Dend-end = N(排队时延+传输时延+传播时延)。
在任何时间瞬间的瞬时吞吐量是主机B接收到该文件的速率,若该文件由F比特组成,而主机B用了T秒去接收所有的F比特,则平均吞吐量为F/Tbps。吞吐量取决于数据流过的链路的传输速率。吞吐量也是一项很重要的指标,具体请找度娘。
因特网是什么?因特网就是一个超大型的计算机网络,关于计算机网络的概念略。
计算机网络基础不可不学的是OSI七层模型,我们需要了解的是各层负责的各种工作,它们分工合作,互不干涉,各自为上层提供服务,为下层提供接口。我们这样想,如果没有OSI七层模型,只有一层,负责全部功能,这样会不会变得冗杂?又要负责接收数据又要负责封装数据,要是不小心出现错误了呢?
OSI七层自上而下分为应用层、表示层、会话层、运输层、网络层、数据链路层、物理层,通常我们都把应用层、表示层、会话层一起归为应用层,许多书也都是这样写的,每层负责自己各自的工作,分工合作,互不干涉。应用层负责向用户提供服务,例如说HTTP、SMTP和FTP,而运输层负责在端点之间传输应用层报文,TCP和UDP传输协议都是属于运输层的。网络层负责将分组从一台主机移动到另一台主机,IP协议就是属于网络层的,除此之外它还要进行路由选择协议,具体以后会写。链路层和物理层的会慢慢的写,现在还没了解多少。
看书长知识,通过这本书我真的学到了许多知识,了解了许多原理解决了许多疑惑,继续前进,加油!
- 计算机网络(基础入门篇)
- 计算机网络(基础入门篇)
- 计算机网络入门(一)
- 计算机网络入门(二)
- 【基础篇】计算机网络
- 计算机网络基础篇
- 计算机网络之基础篇
- 计算机网络基础(一)
- 计算机网络基础(二)
- 计算机网络基础(三)
- 计算机网络基础(一)
- 计算机网络基础(一)
- 计算机网络基础(三)
- 计算机网络基础(二)
- 计算机网络基础(转载)
- 计算机网络(1)---计算机网络基础1
- 学习心得-------计算机网络基础(1)
- 计算机网络基础
- Android之取消ListView的点击效果
- GitHub第一步--生成ssh keys
- Mac一体机忘记开机密码怎么办?
- 一个项目的主要流程
- 使用NDK时提示Android NDK:Could not find application project directory的最简单的解决方案(欢迎大神回复继续解决)
- 计算机网络(基础入门篇)
- MyEclipse与Eclipse的版本号
- JavaScript学习(5.3):条件语句
- Git 简单使用
- 二叉树遍历
- FZU 2150 Fire Game
- nginx源码剖析(一)
- 关于ajax获取数据时候的返回
- JavaScript学习(5.4):循环