计算机网络复习总结(超详细加思惟导图)

  • 前言 

       学习计算机网络必须得本身搭建出本身的一套知识体系。否则那可就太乱了,无论看了多少书,作了多少题,永远都有懵逼的算法

       若是有联系,本身没见过的也能够排除、分析。没有造成知识脉络整个大脑就是乱的,碎片知识而已。  服务器

       本文对于课本上重复的重点(也就是学过的人都知道的)再也不累赘,更注重疑问、难理解、很差记忆的东西总结成体系网络


 另:在总结传输介质时,一路刨根刨到物理上的波立二相性了(其实我就想知道啥是电磁波,他怎么传播的,怎么什么都是电磁波。。。)并发

我以为计算机网络就是讲通讯,我好像连信号最终怎么传递的都不知道。。。有必要学习一下(如下来自网上查阅,自觉有理)性能

  • 什么是电磁波?

随时间变化的电场产生磁场,而随时间变化的磁场又产生电场,二者互为因果。这种不断转化的场咱们统称为电磁场。这种相互的转化成为电磁振荡学习

在高频率的电振荡中,磁电互相转化速度极快快,能量不可能所有反回,因而电,磁能随着电场与磁场的周期变化以波的形式向空间传播出去。这就是电磁波编码

电磁波的产生从本质上来说是由于带电荷的基本粒子的运动,而物质温度的高低本质上又是取决于其内部基本粒子的运动剧烈程度,只有在绝对零度下基本粒子才会静止,因此任何高于绝对零度的物质都会向外界辐射电磁波,而绝对零度的物质是不存在的。所以宇宙间的一切都在产生电磁波
做者:必云
连接:https://www.zhihu.com/question/19999211/answer/21193760
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。spa

  • 电磁辐射对咱们身体有影响吗?(过量才有危害,这个量不用去关心,咱普通老百姓也没那个机会暴露在强辐射里,参与特殊工做的也会有防御

并且,光就是电磁波,怎么多晒太阳还好呢!!!因此别每天提心掉胆惧怕被辐射。.net


  • 为啥要讲到电磁波呢? 

      由于现在网络通讯就是利用的电磁波。计算机网络

      电磁波频率高于100khz时,电磁波才能够在空气中传播,并经大气层外缘的电离层反射,造成远距离传输能力。

      当频率很高,好比可见光,就不能经过金属导体传播,会被反射、吸取

  • 双绞线、同轴电缆、光缆都是经过电磁波传递信号的吗?

       yes:本质都是经过电磁波为载体来传播数字信号

       其实能够理解为传输一样的信息,经过有线和无线两种方式所发射出来的电磁波,其特征是彻底不同的。

  • 又有人会疑问双绞线里通电后里明显是电流信号,也有说电压信号的?

       我理解为电流电压只是一种表现形式,你都通电了,里面确定有电流,那说电流电压信号有什么意义呢?    

       对电流的基本模型理解有错误。

       电流并非电子不断的从负极运动到正极,虽然中学作题时老是怎么想的。但是实际上电子的运动速度至关之慢,若是电子从负极运动到正极才产生电流,那你打开电灯开关,估计要几年才能等到灯亮。

        因此要纠正这个想法。当网线回路接通后,首先电磁场会以光速在导线内传播,而后才是导线内的电子在电磁场的影响下开始运动。

        因此导线中既存在电磁场的运动,也存在电流的运动。
        因此说,咱们利用导线传播的信号,其实是不断变化的电磁场。变化的电磁场在空间传播的形式,叫电磁波
做者:shawn
连接:https://www.zhihu.com/question/39706853/answer/82985186
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

注意:学习网络以前:咱们需提早明白这些名词: 

  • HZ: 赫兹是电,磁,声波和机械振动周期循环时频率的单位。即每秒的周期次数(周期/秒)
  • 网速:就是传输速率
  • 网速=传输速率=比特率:计算机每秒能够向所连媒体能发送多少个bit   (单位是bit/s)

注意:单位

     通常,宽带速率的单位用bps(或b/s)表示;bps表示比特每秒即表示每秒钟传输多少位信息,是bit per second的缩写。在实际所说的1M带宽的意思是1Mbps(是兆比特每秒Mbps不是兆字节每秒MBps)

     1Gbps = 1000Mbps = 1000 000 kbps = 1000 000 000 bps

  • 传播速率:bit在传输媒体上的传播速率,即一个bit在单位时间内能跑多远。(即就是电磁波单位时间内在传输媒体上走的距离)(单位是:米/s). 这里电磁传播速率(理论=光速 :3*10^8m/s)

注意传输速率 和 传播速率 概念彻底不一样

     传播速率:讲的是bit能跑多快,传输速率:讲一秒能有多少bit出发!根本不是一回事

     如今已知电磁波传播速率为3*10^8m/s

     拿人吹泡泡举例,传输速率的提升至关于:从一秒吹出一个泡泡  到  一秒吹出10个泡泡(这个能力的增长是发送者(吹泡泡的人)),并非吹出的泡泡跑的有多快。

  • 码元速率=波特率:       

       通俗点说,能够把一个码元看作一个存放必定信息量的包,若是只存放1bit,那么波特率等于比特率,可是通常不止存放1bit 如一串二进制信息为101010101 当一个码元携带的信息量为1bit时,那么就有9个码元,其波特率至关于比特率,若是每三个一组101,010,101,这时就可使用8种振幅来表示某个码元,这里至关于一个码元就包含了3bit,这里码元的离散取值数目就是8。

      由此可得波特率和比特率的关系 
     若一个码元用L个bit表示,波特率是B,数据率(比特率)为C,则 
     C = B*L

  • 带宽是量词,指的是网速的大小,好比1Mbps的意思是一兆比特每秒,这个数值就是指带宽。
  • 宽带是名词,说明网络的传输速率速很高 。宽带的标准各不相同,最初认为128kbps以上带宽的就是宽带,而如下的就是窄带。
  • 协议数据单元:PDU
  •  
  • 1、计算机层次结构概略

  • 计算机网络层次结构 

  • 一、OSI七层参考模型、五层模型、TCP/IP模型他们到底有何关联?

为何标红参考:由于他没能实际的被普遍应用,被TCP/IP模型抢先普遍应用市场。又由于他的分层思路很好,因此常常拿出来说一下。要知道他就是一堆概念。现实中用的仍是TCP/IP模型。

TCP/IP模型原为4层、至于五层模型:是TCP/IP与OSI七层模型的混合后的产物。五层更方便统一通讯规则和知识统一

(TCP/IP体系最核心的是靠上的三层:应用层、运输层、网络层。至于下面的网络接口层(也能够分为数据链路层和物理层)不重要,由于TCP/IP原本也没有为网络层如下的层次制定标准。TCP/IP的思路是:造成IP数据包后,只要交付给下面的网络去发就好了)(下图扣别人的)

å¨è¿éæå¥å¾çæè¿°

  • 二、为何要分层呢?

     这个模型最终目的是为了什么:对,通讯。能够理解为A给B写信,他俩就链接上了,这就是为他俩通讯了。

     但是A不可能直接把信就寄走,他总得打包吧、总得贴邮票吧、总得有载体吧,为了是这一过程更加清晰,各个流程功能不会相互干扰,能够把这个寄的过程分为好几个步骤,这些步骤是依次进行的。

     以上是实际物品来传递文字信息,那么如何利用电子设备交互信息呢?无非就是换了载体,将文字信息编码为电气信号(0101比特),用电线电缆来传递。流程内容不同,但分步骤的思想仍是同样的。

  • 三、那这些01比特流在传递的过程当中都通过了传输媒体?

注意:这里01是物理层的规定,在传输媒体里,他们的表现形式可能不一样,由物理层规定他们的特性来识别是0仍是1 

  • 为何会有这么多种类传输媒体?

各有特色,最终的目的就是数据传输速率变快。才不断出现各类提升通讯速率的技术和材料

1.电缆通讯中的电信号也是以光速进行传播的光纤通讯速率高于电缆通讯的真正缘由是光的频率更高所以可以加载的信息量更大,也就是咱们常说的带宽更大。

举个不那么恰当的例子,这就像是一边是小汽车,一边是大货车,即使车速相等,但单位时间内运送的货物量却不可同日而语。这个例子中,车的速度类比的是光的传播速度,而车的载货量类比的则是带宽。

虽然理论上通讯使用的光频率越高、波长越短,信息加载的容量就会越高,可是现实中光纤通讯使用的倒是近红外光波(如波长1.55μm左右),而不是频率更高的可见光。这是科学家综合考虑光波长、光纤损耗、光源稳定性、综合成本等诸多因素后作出的选择。

2.在通讯速率增长上,除了选择物理特性,还有一些技术方法来提升!

    好比频分复用,波分复用、时分复用等等(这在后续章节详解)

注意:不管光通讯的带宽如何增长、信道如何拓展,信号的延迟依然会存在。

  • 计算机网络各层次功能 

  • 网络层

       在物理层和数据链路层使用传输媒体和中继器、网桥等设备将主机链接这只是扩大了网络,在网络层面看来,他们还是同一个网络,并非达到了网络互联。

        网络层的网络也可称为虚拟互联网(也就是逻辑互联网,并不是必须物理上链接)。网络互联一般指用路由器进行网络互联。

        咱们能够想一想在物理层上数据只能经过广播转发实现通讯,通过数据链路层,咱们仍是会广播,可是经过网桥和二层交换机隔离了冲突域(不在本网段的才会转发),这必定减小了帧的大范围广播,但他不能阻隔广播。若是全世界计算机就这样连结起来,大量频繁广播可能会形成广播风暴,事实ye并且,不在同一子网也没法通讯,由于全世界在一个子网下真的很难想象,咱们要想经过广播实现全部网络节点相互通讯,听起来就有点二。那么就必须网络节点必须本身学会找到通讯目的地,就不须要经过广播来找到目的节点。

        因而还须要将数据再封装一层,进行有目的的转发,因而就来到了网络层,出现了路由器,路由器怎么找到目的呢?咱们知道链路层经过广播以MAC地址来肯定接收节点。咱们必须从新定义一套惟一标识网络节点的东西。因而从新找了叫作IP地址的家伙来标识。有了标识,还须要一套找寻目的地的协议和算法。

  • 爱思考的人可能还会疑问:为何不用现成的MAC地址来标识啊

        其实,上面已经说到,网络层设备要学会本身找到目的地,可是仅仅经过MAC地址(它只与厂商有关,与所处网络无关。)没法知道是否是在同一个子网,而咱们就是为了识别是否在一个子网下,才能决定是否须要转发。

  • 功能:

    1.异构网络互联(怎么连,规定IP地址)

    2.路由和转发(根据路由协议肯定路由表,根据路由表获得转发表,根据路由算法选择路由经过转发表转发)

    3.拥塞控制(注意:与流量控制不一样)            

  • 路由协议和路由算法有什么联系?。

路由协议:他是规定用ip数据包来转发,怎么转发。路由器之间运行路由协议交换路由信息,路由协议交换的路由信息最终                    会造成路由表保持在路由器中,而路由器就是根据路由表(经过某种算法来选择最佳路由)来决定分组的转发

                  总的来讲,就是指导IP数据包发送过程当中事先约定好的规定和标准。他是包括路由选择算法的。

路由算法:路由器根据多种路由测度(好比长度)来选择路由,肯定路由表的方法。

  •    路由协议(略讲,不在此处讲):

应用范围的不一样,路由协议可分为两类:

在一个AS(Autonomous System,自制系统)内的路由协议称为内部网关协议(Interior gateway protocol),AS之间的路由协议称为外部网关协议(Exterior gateway protocol)。

正在使用的内部网关协议

  • RIP(Routing Information Protocol):基于距离矢量(DV)的路由协议,以路由跳数做为计数单位的路由协议,适用于比较小的网络环境。
  • IGRP(Interior Gateway Routing Protocol):一种基于距离向量型的内部网关协议。
  • EIGRP(Enhanced Interior Gateway Routing Protocol):加强内部网关路由协议,结合链路状态(LS)和距离矢量(DV)型路由选择协议的Cisco专用协议
  • IS-IS(Intermediate System-to-Intermediate System):中间系统到中间系统路由协议,最初是ISO为CLNP(Connection Less Network Protocol,无链接网络协议)设计的一种动态路由协议。
  • OSPF(Open Shortest Path First):开放式最短路径优先。是对链路状态路由(LS)协议的一种实现,隶属内部网关协议(IGP),故运做于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。

外部网关协议:

  • EGP (Exterior Gateway Protocol):是AS之间使用的路由协议,因为EGP存在不少的局限性,IETF边界网关协议工做组制定了标准的边界网关协议(BGP),当前被普遍使用。
  • BGP 边界网关协议

å¨è¿éæå¥å¾çæè¿°

  •    路由算法(细说):

http://www.noobyard.com/article/p-mqbohmys-bw.html

 

  • 计算机网络各层次设备

学完计算机网络后,看到这些东西我脑壳真的要爆炸... ...

(原本在这里打算放一个词云......)

调制解调器、集线器、集成器、中继器、放大器、交换机、第三层交换机、网桥、透明网桥、源路由网桥,多端口网桥、网卡、网关、网络适配器、猫、路由器。貌似知道,一具体,一作题,实际就不会了。

生活当中,咱们会听过或接触到哪些设备呢?无线AP,路由器,猫,wifi放大器、网卡是听过接触最多的吧。

我本身也产生了不少的疑问,一一来解答吧!

为何家里上网要用猫?不用不能够吗?有了网卡还须要猫吗?无线网卡又是怎么的?电话线上网能快吗?拉宽带什么意思?光纤上网就必定快吗?拨号上网的过程是怎样的?家里的路由器覆盖范围不到位应怎么办?家里有不少设备须要用网怎么办?         若是你跟我同样疑问,能够探索一下家里网络拓扑结构图!!!

  •  先来看看这些设备在实际网络拓扑图的哪些位置吧(从简单网络再到复杂网络)

      这是我家多年前的一个网络拓扑图,那时候是连电话线上网的,因此必需要有一个猫(调制解调器)

       

      这是我家最新的一个网络拓扑图,拉了移动服务商的光纤,就不须要猫了。路由器仍是那个路由器,同时为了覆盖面积更广,添加了一个AP(我把他叫作wifi放大器)

     

     若是说咱们要添加5台pc联网呢,在以上的基础上咱们有什么方案呢?

     1.路由器LAN口不够用,我能想到的方案就是买五个无线网卡(内置/usb外置)

     2.用网线链接,那么我能想到的是链接集线器、或者交换机

  • 为何有时候还要在路由器的后面先接1台交换机再接计算机?

路由器是能够直接接电脑等终端设备,为何标准都是路由器接交换机而后再接电脑等终端,是由于路由器原本就是一个路由设备,用来选路的,不适合大量的数据交换,

交换机是用来大量数据交换的,终端在内网的性质就是须要使用交换机,因此标准就是路由器地下接交换机的形式。

通常是状况就是在路由器下面接交换机,路由器主要起数据转发,也就是寻址、路由的功能,交换机起到用户接入的目的。

可是家用的路由器的话直接就接计算机就能够了,而没必要考虑再接交换机。

  •  各层次设备详解及注意点

1.物理层

  • 中继器
  • 集线器

2.数据链路层

  •  网桥
  • 二层交换机
  • 网卡
  • 网卡的分类

一、按照网卡支持的计算机种类分类 主要分为标准以太网卡和PCMCIA网卡。标准以太网卡用于台式计算机联网,而PCMCIA网卡用于笔记本电脑。

二、按照网卡支持的传输速率分类 主要分为10Mbps网卡、100Mbps网卡、10/100Mbps自适应网卡和1000Mbps网卡四类。 根据传输速率的要求,10Mbps和100Mbps网卡仅支持10Mbps和100Mbps的传输速率,在使用非屏蔽双绞线UTP做为传输介质时,一般10Mbps网卡与3类UTP配合使用,而100Mbps网卡与5类UTP相链接。10/100Mbps自适应网卡是由网卡自动检测网络的传输速率,保证网络中两种不一样传输速率的兼容性。随着局域网传输速率的不断提升,1000Mbps网卡大多被应用于高速的服务器中。

三、按网卡所支持的总线类型分类 主要能够分为ISA、EISA、PCI等。 因为计算机技术的飞速发展,ISA总线接口的网卡的使用愈来愈少。EISA总线接口的网卡可以并行传输32位数据,数据传输速度快,但价格较贵。PCI总线接口网卡的CPU占用率较低,经常使用的32位PCI网卡的理论传输速率为133Mbps,所以支持的数据传输速率可达100Mbps。

3种类型的网卡端口

网络接口卡(Network Interface Card,NIC),一般简称为网卡

RJ-45端口:一般用于双绞线的接口。

BNC端口:一般用做细同轴电缆的接口。

AUI端口:一般用做粗同轴电缆的接口

3.网络层

  • 路由器
  • 三层交换机

4.高层

  • 网关
  • 多层交换机
  • 宏观上看看信息如何解封装和传递的 (用一个包含较多层的设备网络拓扑图)

  • 计算机网络协议、等基础概念理解

  • 网络到底怎么理解?网络的网络呢?

      网络:{计算机,节点,链路}  三要素(结点:计算机,集线器、交换机或路由器等)

      网络的网络是把许多网络链接起来

      网络的网络:{网络,路由器,链路}

将通讯的过程分层,那每一层的数据格式等的规定,就一套协议来规定了

  • 互联网两大组成部分是什么?他们的工做方式有何特色?

      边缘部分:主机组成。用户直接使用,用来进行通讯和资源共享。

                        工做方式:C/S方式和P2P(对等)

      核心部分:大量网络和链接这些网络的路由器组成。为边缘部分提供服务

                         就是路由器的工做方式:1.转发分组,2.交换路由信息

  • 计算机网络有哪些经常使用的性能指标?

        1)速率:指的是链接在计算机网络上的主机在数字信道上传输数据的速率。也称为数据率或比特率

        2)带宽:用来表示网络的通讯链路传送数据的能力

        3)吞吐量:单位时间内经过某个网络或信道、接口)的数据量

        4)时延:指数据从网络的一端传送到另外一端所须要的时间(包括:发送时延、传播时延、处理时延和排队时延等)

        5)时延带宽积:传播时延带宽的乘积

        6)往返时间:从发送方发数据开始,到发送方收到来自接收方的确认,总经历的时间

        2)利用率:

                     信道利用率:某信道有百分之几的时间有数据经过

                     网络利用率:全网络的信道利用率的加权平均值

  • 网络协议的三个要素是什么?

      语法:数据和控制信息的结构或格式

      语义:须要发出何种控制信息,完成何种动做、和作出何种响应

      同步:事件顺序的详细解释

  • 网络吞吐量是什么?如何计算?
  • 网络时延是什么?如何计算?
  • 网络吞吐量和网络时延有何关系?
  • 如何理解可靠传输和不可靠传输?
  • 如何理解面向链接和无链接?
  •  
  • 计算机网络各层次协议详解

  • 物理层

 

  • 数据链路层

 

  • 网络层

 

  • 传输层

【问题1】为何链接的时候是三次握手,关闭的时候倒是四次握手?

答:由于当Server端收到Client端的SYN链接请求报文后,能够直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。可是关闭链接时,当Server端收到FIN报文时,极可能并不会当即关闭SOCKET,因此只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端全部的报文都发送完了,我才能发送FIN报文,所以不能一块儿发送。故须要四步握手。

【问题2】为何TIME_WAIT状态须要通过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

答:虽然按道理,四个报文都发送完毕,咱们能够直接进入CLOSE状态了,可是咱们必须假象网络是不可靠的,有能够最后一个ACK丢失。因此TIME_WAIT状态就是用来重发可能丢失的ACK报文。在Client发送出最后的ACK回复,但该ACK可能丢失。Server若是没有收到ACK,将不断重复发送FIN片断。因此Client不能当即关闭,它必须确认Server接收到了该ACK。Client会在发送出ACK以后进入到TIME_WAIT状态。Client会设置一个计时器,等待2MSL的时间。若是在该时间内再次收到FIN,那么Client会重发ACK并再次等待2MSL。所谓的2MSL是两倍的MSL(Maximum Segment Lifetime)。MSL指一个片断在网络中最大的存活时间,2MSL就是一个发送和一个回复所需的最大时间。若是直到2MSL,Client都没有再次收到FIN,那么Client推断ACK已经被成功接收,则结束TCP链接。

【问题3】为何不能用两次握手进行链接?

答:3次握手完成两个重要的功能,既要双方作好发送数据的准备工做(双方都知道彼此已准备好),也要容许双方就初始序列号进行协商,这个序列号在握手过程当中被发送和确认。

       如今把三次握手改为仅须要两次握手,死锁是可能发生的。做为例子,考虑计算机S和C之间的通讯,假定C给S发送一个链接请求分组,S收到了这个分组,并发 送了确认应答分组。按照两次握手的协定,S认为链接已经成功地创建了,能够开始发送数据分组。但是,C在S的应答分组在传输中被丢失的状况下,将不知道S 是否已准备好,不知道S创建什么样的序列号,C甚至怀疑S是否收到本身的链接请求分组。在这种状况下,C认为链接还未创建成功,将忽略S发来的任何数据分 组,只等待链接确认应答分组。而S在发出的分组超时后,重复发送一样的分组。这样就造成了死锁。

【问题4】若是已经创建了链接,可是客户端忽然出现故障了怎么办?

TCP还设有一个保活计时器,显然,客户端若是出现故障,服务器不能一直等下去,白白浪费资源。服务器每收到一次客户端的请求后都会从新复位这个计时器,时间一般是设置为2小时,若两小时尚未收到客户端的任何数据,服务器就会发送一个探测报文段,之后每隔75秒钟发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭链接。

  • 应用层

        ftp协议

  • 工做过程