• 计算机网络学习笔记--网络层知识点整理


    为什么要划分网络层?

      不用的网络有不同的协议和标准,为了可以在不同网络之间互访,共享双方的资源,并且还要保持每个计算机网络本来的独立性,所以才划分出了网络层,并制定了专门的协议来负责网络间通信.

    网络层的主要功能:

      1.屏蔽网络差异,提供透明传输.

        为传输层提供服务:面向连接的网络服务(虚电路服务)和无连接的网络服务(数据报服务).

      2.为网络通信提供路由选择

        什么是路由选择? 

          按一定的原则和路由选择算法在多个节点的通信子网中选择一条到达目的节点的最佳路径的过程. 确定路由选择的策略成为路由算法.

      3.数据包的封装和解封装  

      4.拥塞控制

         为了避免网络传输路径中数据的传输延迟或死锁,主要采用预约缓冲区,分组丢弃等方式.

    网络层数据交换相关技术:

      1.虚电路分组交换(类似于电路交换的电话通信):

          虚电路分组交换特点:

            1.每次分组交换前,在发送方与接收方之间建立一条逻辑连接

            2.一次通信的所有分组都是通过这条虚电路顺序传送,交换路径固定,所以不需要每个分组上封装目的地址,源地址等信息.

            3.通信子网中每个节点可以和任意节点建立多条虚电路.每个虚电路支持特定的两个节点之间的数据传输.

            

           虚电路交换过程,分三个阶段,1:建立虚电路 2:传输数据 3:拆除虚电路

      2.数据包分组交换

          什么是数据报?就是在数据前部添加了源地址和目标地址信息字段的报文分段

                       

           数据包分组交换特点:

        1.    无需为每次通信建立独立的逻辑连接
        2.    发送报文时,先拆解成若干独立的带有序号和地址信息的数据报,依次发送给网络节点.
        3.  网络节点每一个节点提供独立的路由选择,无法保证数据报按顺序到达目的节点,也无法保证数据报中途不丢失.

      3.线路交换(又称电路交换)

          最原始的数据交换方式,最常见的例子就是电话交换系统,在网络中利用可切换的物理通信线路直接连接通信双方进行数据交换.

      4.存储-转发

          路由器的工作机制就是这种存储-转发的数据交换方式,这种数据交换方式的好处有很多,比如当数据发送到每个节点(如路由器),可以进行差错检查,纠错处理,拥塞控制,格式转发等操作.根据所传输的数据单元是报文还是报文分组,可以讲存储-转发交换方式细分为,报文交换和分组交换两种.

    网络层协议及报文格式:

         1.IP协议(网络层中,最重要的一个协议):

          IP协议属于数据报分组交换的数据交换方式,是一种无连接的服务.IP协议的主要功能就是在原地址和目标地址之间传送数据报.具体来说就是:寻址,数据报的封装,分段与重组.关于IP数据报的头部格式,这一篇博文讲的比较详细,http://www.xuebuyuan.com/2038843.html ,下面是一张IP数据报报头格式的简图:

                          

       2.ARP协议(地址解析协议):

          ARP协议是将IP地址解析为以太网MAC地址(物理地址)的协议.局域网中,当一台机器A要向机器B发送数据时,它必须知道对方的网络层地址,即IP地址,但光知道IP地址是不够的,因为数据报文归根结底还是要封装成帧在物理网络中传输,因此发送方A还必须要知道B的MAC地址.ARR就是实现这个功能的协议.

          特别注意: ARP解决的是同一个局域网中主机(或路由器)上的IP地址和MAC地址的映射问题,如果目的主机和源主机不在同一个局域网内,那么就要通过ARP找到一个位于当前局域网上某个路由器的MAC地址,把分组发送给这个路由器,然后这个路由器再把分组转发到下一个网络,剩下的工作就由下一个网络来完成了.

        3.ICMP协议(控制报文协议):

          这个协议用来在IP主机,路由器之间传递控制消息,比如网络通不通,主机是否可达,路由是否可用等信息,这些控制信息虽然并不传输用户数据,但是对于用户数据的传递也起着重要的作用.

          与ARP协议不同,ICMP依靠IP协议来完成其任务,所以ICMP报文中要封装IP头部.比如像Ping,和tracert这样的诊断程序都是属于ICMP的内容.

    路由和路由算法

      路由的概念:把信息从源节点传送到目标节点的行为.

      路由的实现:依靠的是路由器或三层交换机中的路由表进行的.

      路由的分类:

        静态路由: 1.手动配置 2.路由路径固定不变 3.单向性,不提供反向路由 4.优先级较高 5.适用于小型网络.

          静态路由对于小型且变化不是很频繁的网络来说是可行的的,比如局域网,但是对于较大的广域网来说,由于拓扑结构复杂,网络结构经常变动,就需要使用动态路由了.

        动态路由:1.自动生成 2.自动调整 3.自动生成双向路由 4.仅可以生成网络间的路由表径,不能生成到达具体节点或主机的路由表项.

         

      路由算法基础:

        路由算法是在给定一组路由器及连接路由器链路的情况下,找出一条由源节点到目标节点的最佳路径. 

        路由算法分为两大类:非自适应路由算法自适应路由算法 

          非自适应路由算法典型代表就是静态路由,而动态路由中所使用到的算法都属于自适应路由算法

      路由表基础:

        路由表是存储在路由器或者联网计算机中的电子表格或类似的数据库.路由表存储着指向特点那个网络地址的路径.

        每个静态路由表项中至少包含以下信息:

           1.目的地址的网络IP地址

           2.子网掩码:用来判断目的地址所属的网络

           3.下一跳地址/接口.

      几种主要的路由算法:

        静态路由算法:

          1.最短路径路由算法.
          2.扩散算法

        动态路由算法:

          1.距离矢量路由算法

          2.链路状态路由算法

    网络层主要设备

      路由器:

        路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组。也就是说,将路由器某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器

        路由器的硬件技术:

          ASIC技术:用作包转发,查路由,对速度有明显提升

          分布式处理技术:

          交换式结构和调度算法:

          路由表硬件查找技术:传统是使用数或者哈希算法,过程缓慢,后来采用了CIDR(无类别域间路由)大大减少了路由表项.

          高密度与多端口

        路由器的软件技术:

          VPN(虚拟专用网)技术:VPN是指在公用网络上建立虚拟私有网的一种新型网络技术.

          Qos(服务质量)技术:如数据包分类技术,数据流的分类

          MPLS(多协议标记交换)技术:

          多播技术:同一份数据同时发送给多个用户.

          网管系统:

      三层交换机:

          三层交换机就是具有路由功能的二层交换机,三层交换机的技术就是二层交换机书+三层转发技术

          

        上图是一个华为的三层交换机.三层交换机的工作原理如下图:

        

       三层交换机和路由器的区别?

          三层交换机只能实现VLAn之间的互联,只能适用于TCP/IP网络,所以三层交换机又称为IP交换机,而路由器支持多种类型网络之间的互联.

          整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;单论路由能力的话,路由器虽然路由能力好于三层交换机.

          三层交换机的三层转发功能主要依靠ASIC芯片,是硬件,不容易升级,路由器的路由功能是依靠嵌入的网络操作系统,容易升级,更新.

        综上,三层交换机和路由器各有优势,它们的应用领域不同,三层交换机主要用户企业IP局域网中不同VLAN或不同子网之间的三层通信,而路由器主要用于WAN(广域网)中的网络互连,谁也不能代替谁.


          (注:以上只是泛泛的过了一遍网络层的大体知识点,我是一边看书一边看教程总结整理出来的,并且没有涉及IP地址和子网,其中每一个知识点都是很庞大的,需要深入学习才能掌握,很多东西我也不懂,只能先对概念有一个大体的理解)

  • 相关阅读:
    c# string 中含有双引号处理模式
    c# hashtable
    c# vs2010 添加web service引用方式
    c# xpath 获取指定值的写法
    Nginx-1.18.0的安装配置与使用
    Kubernetes 里,怎么让 Pod 有 DNS 记录?
    Wilson's theorem在RSA题中运用
    标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
    慕课网javascript 进阶篇 第九章 编程练习
    关于javascript中的this 一段小实例深有体会啊
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5396922.html
Copyright © 2020-2023  润新知