计算机网络知识点梳理

这段时间通过《计算机网络》、《图解TCP/IP》以及一些相关资料的查询,整个梳理了关于计算机网络的一些内容,记录一下。

 

    一、要了解计算机网络首先感觉应该了解下计算机网络发展过程(需要注意这些技术产生的时间的先后顺序能更好的理解网络为什么需要设计成这样):

        1、电话的发明:这里主要是产生了“电路交换”。个人觉得这个对计算机网络的具体实现应该是一个引导作用。

                点路交换:简单来说就是一个节点只有一个对外的接口,所以只能与另一个节点通信。而不能同时与两个节点通信(一次            只能与一个人打电话)

          

 

        2、“阿帕网”(阿帕网)的产生(因特网的雏形 ):

                      其的主要意义应该有:1、实现了在不同系统之间进行网络通信交流。2、分组交换的思想实现网络通信,3、用分层的思想实现网络通信,4、产生网络协议: 网络控制协议(NCP),5、产生路由器的概念:阿帕网路由器(即接口报文处理机IMP)。

         通过这些概念的引入以及基础的实现应该算是已经将互联网这座房子建成了,能遮风挡雨了。剩下的应该是这个基本方向去细化、完善以及更进一步的发展。

 

       3、无线电计算机通信网(1971)

                  这个应该算是以太网的起源。这个网络是发送信息后要收到应答才算成功,不然就重发。采用广播以及竞争,多个用户共用一个通道。所以如果如果两个用户同时发送就产生冲,然后随机时间后再重试。

       4、TCP/IP协议的产生以及完善(1973-1983)

        5、以太网的产生与发展(1973-)

 

 

     二、TCP/IP的具体技术

                 首先对于整个计算机网络要理解为什么需要分层(这里就不多赘述,如果不是很明白可以看下这个)。以及为什么如果要进行网络通信需要定义各种协议。

                     

        1 》网络协议的分层

           1、计算机网络协议分层:

                     

               这里我觉得主要需要明白下面那句,在实际使用中还是TCP/IP四层体系结构。我理解这句话的意思是物理层与数据链路层是需要放在一起设计的,是一种配套的概念(局域网的标准定义在物理层与数据链路层要配合一起定义)。可以用局域网的实现以太网、与令牌环网来理解。例如以太网是用载波侦听多路访问,而令牌环网要发送数据是需要获取到令牌才能发送,所以这两个在数据链路层中的数据帧应该是不一样的。而且令牌环网是环结构所以在物理层的硬件规范也是不一样的。(个人是这样理解的,如有误,欢迎勘误)。

        2、每层的具体介绍:

                   

              2 》一些通信方式概念的分类:

                       1、按接受端对象的选取标准:单播、多播、任播、广播

                     

               2、按发送端的发送数据方式(数据是一次发完、还是分成一段一段的发):电路交换、分组交换。

                    

            3、按接收端与发送端的配合方式(发送数据前需不需要接收方做准备):面向有连接型、面向无连接型:

                                

           3 》网络硬件设备:

               中继器:数据在线路传输过程中是有破损损的,所以需要修复,例如高低电压,经过损耗后没有最开始那样明显了,所以需要修复。作用在物理层

                         

                集线器:(扩大线路传输数据。同时将数据复制多份广播到连接的其他机器上)

                    在集线器之前的经典以太网的定义是总线型拓扑结构(缺点显而易见,总线断了一边就用不了了),集线器是星型拓扑结构。作用于物理层

                                

                集线器由于是广播,使用载波监听,如果连接了很多PC,就很容易产生冲突域。这时我们就要将大的网络划分成小的网段,并用新的设备连接这些局域网,如果是本局域网的内容就不往外扩散,尽量避免产生广播风暴

               网桥(二层交换机):有中继器的作用。连接两个局域网,有存储、转发的功能:就是说其知道哪些mac地址是本局域网,如果这条数据是发送给本局域网的PC其就不再往外发了,不是发给本局域的就再往外发。作用于数据链路层

                       

                       

                

                      PC1通过广播的形式发送数据,目的地址是mac2,网桥1收到后判断是该局域网内的,就不发给网桥2了。PC2通过广播将数据发给mac4,网桥1收到后,判断不属于该局域网,将数据广播给网桥2。

              交换机(二层交换机):连接多个局域网。前面网桥(桥:连接两端)是两个局域网。所以交换机是强化版。同时还新增了一些功能,我们看上面这些设备并没有点对点传输,都是用的广播,设备增加就容易形成广播风暴,同时上面这些是半双工的模式。所以我们需要改进这些问题。将交换机改为全双工提高效率,并且在交换机添加一张映射表,记录其各个端口连接的PC机器的MAC地址。在最开始如果不知道每个端口连接的机器的MAC地址,就通过广播去获取,然后存储,下次就能直接通过映射表获取就不用再广播一次(学习、记忆、接收、查表、转发)。整个填充映射表的过程类似上面的网桥。作用于数据链路层

                               

                         

              路由器(三层交换机):前面这些设备是作用在物理层、数据链路层,而路由器是作用在第三层“IP层”。

                 前面那些设备:网桥、交换机能减少冲突域,不能避免广播风暴,路由器能避免广播风暴,也就是说广播不能通过路由器传到路由器的其他端口的局域网。前面的网桥、交换机是建立MAC地址-端口映射表,路由器则是建立IP地址映射表,作用于IP层。

              路由器主要需要理解这些操作:

                  

           

                

                这里并不是像前面的网桥与交换机的将端口与具体的每台PC的MAC地址做映射。路由器的目的主要是为了应对很多IP地址,加快IP的查询速度。所以如果还想交换机一样的换查找速度会很慢。所以这里是直接与局域网端挂钩,直接通过子网掩码找到网络号(IP地址包括网络号+主机号)。这里需要明白为什么MAC地址与IP地址一起配合使用,一般不单独使用一种。同时想一下,只使用MAC地址或者IP地址会比两者集合使用带来怎样的成本问题。再来看下这个,看下自己还有哪些问题没有想到,打开下思路。

 

              4 》一些其他概念、内容的补充:

                       网关(指OSI分层模型中的网关概念):作用与4-7层(TCP/IP协议也就是是传输层+应用层)。有两种:

                            1、两个不同协议之间进行转换以及转发。

                                   

                            2、应用网关:

                               

            

                  设备作用的层数:

                         

                 数据包:

                         

                          

                         

              5 》TCP/IP每层的具体设计以及定义的协议(关注一些主要点,并不是很全面)

                       1、(通信系统物理层、并不单是指电脑,例如有线电视、广播等)物理层:

                               特性:机械特征、电气特征、功能特征、过程特征。

                              

                             通信系统模型:源系统、传输系统、目的系统

                            

                                 信号类型:模拟信号(信号有一个变化的过程,连续的)、数字信号(取值是离散的)

                                          书上数字信号(比特流),但个人认为这样更形象?

                             

                          信道类型:从通信双方的交互来说分为:单工通道(一端只能发送、另一端只能接收)、半双工通道(既能发送又能接收,但同一时间只能接收或发送,一条信道)、全双工通道(同一时间既能接收又能发送,显然需要两条信道)。

                          信道复用:上面是一对一传输,我们用一条(两条)就能解决。当如果设备有几个接收发送我们就建几条?考虑到成本问题,就有对应的信道复用,几个发送端用一条信道:频分复用时分复用波分复用等。

                             

                                 

                         2、数据链路层:

                                 数据传输的信道类型:点对点信道(点对点进行传输)、广播信道(一对多的广播通信)。

                       对于这两种在数据链路层有对应的实现对应是:PPP协议、以太网。这两种实现又分别是PPP协议、CSMA/CD协议。

           数据链路层三个问题:封装成帧、透明传输、差错校验

               PPP协议与以太网的封装成帧

                     PPP协议帧格式:

                     

                        PPP帧应对透明传输的对应的填充方式有两种:串行传输(字节填充)、并行传输(零比特填充)。

                               

                             

                    以太网帧:

                         

                     同时以太用的是曼彻斯特编码(要明白这种编码的特殊,所以以太网帧没有代表一个帧的尾部):

                           

                       以太网与PPP协议的异同:看下这个,还有PPP协议是一个纯粹的数据链路层协议,而以太网是一二层配合的。

 

                          3、网络层

                         IP地址由网络号+主机号组成

                         IP地址的分类:

                             

                            

 

                       

                                

                       1、 地址解析协议(ARP):通过IP找MAC地址

                           

                     

                     

                    ARP包格式

                                    

                上面这段话中,需要明白:“网络链路上传送数据帧时,最终还是必须使用该网络的硬件地址(MAC地址)”。可以看下上面的在路由器、交换机中数据帧是怎样下一跳的。

                   2、 反向地址转换协议RARP(通过MAC地址找IP)

                   3、ICMP、IGMP
                          ICMP:其实可以看做是IP层实现的像运输层TCP协议那样的通过握手的原理来判断网络之间连接等一些其他问题,例如我们用的ping命令(并没有用到端口,只用到IP)。

                                       

                         IGMP:用于IP多播,自己只稍微了解了下,不具体说明了。

       路由选择协议:

                  

                   路由选择协议有两大类:内部网关协议 IGP(Interior Gateway Protocol)、外部网关协议 EGP(Exterior Gateway Protocol)。都是用于理由选择,为什么需要划分为两大类呢?

                     因特网将整个互联网划分为许多较小的自治系统(autonomous system),简称AS

                   

                 其中IGP中用的两个重要协议是:

                          内部网关协议(RIP):此协议就是路由器记录它如果能直连(不用结果其他路由器),则其到这个网络的距离(条数)为0,否则条数就加一,然后路由器之间按照规定的时间间隔例如30秒与其“相邻”的路由器(没有经过其他路由器,两个直接相连的路由器之间)交互自己路由表中的所有信息(能到达的最终目的地址的距离(需要经过多少路由器)、以及该路由器要到达目的地址需要经过的其中的下一个路由器)。

                    

                      例如这些路由器要同步其所管辖的网络:第一个30秒,路由器将ip1的信息同步到路由器2(IP2由路由器5同步到4,以下不叙述这个)。这个时候路由器3路由表还是空的。然后路由器2就知道其要到达ip1的距离是2(也可以为1、看怎样定义这个距离),并且需要经过路由器1.

                     

                  

         

                     

                    其的缺点:

                 

 

                开放最短路径优先(OSPF):

                      1、向本自治网络中的所有路由器发送自己的路由表信息(泛洪法),只要该路由器的网络有变化就发送给所有路由器,由此可以知道本算法感知能力更强同时收敛速度更快,相应的实现成本也更大。所以这个算法,适合将一个大的自治网络划分为一些小的网络让一些路由器来管理,然后泛洪只在内部这些路由器之间进行。而不同网络区域之间不互相传。

  

  

  

                              

              外部网关协议(BGP)

                 

                所以BGP的设计需要解决这些问题,其做法就是选出“话事人 ”做代表,不用内部的人都去说,同时增加可供管理员操作的部分,例如管理员能设置网络A到网络C要经过哪些路由器。

           

                                                  

             

                4、传输层

                 传输层主要有:面向连接 - 传输控制协议(TCP,Transmission Control Protocol)、面向无连接 -- 用户数据报协议(UDP,User Datagram Protocol)。

                 TCP是面向连接的可靠协议,所以围绕这个可靠、以及测试过程中的效率就有了:“确认应答机制”(TCP三次握手、四次挥手)、“超时重传”、“流量控制”(使用窗口模式)、“拥塞控制”(怎样设置窗口的大小-慢启动、拥塞避免、)、“延迟应答”、“捎带应答”“快速重传”、“快速恢复”等。

                 UDP就不过多赘叙了,其发送数据,是将一次发送的数据通过一个包直接发送、不会像TCP那样,一次的数据可能拆分成几个TCP包发送。

                 至于TCP粘包、半包问题:个人认为其实这个根本不是运输层的问题,这个问题应该是应用层的问题,是你怎样处理这些数据的问题。

           

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值