为什么要划分网络层?

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

网络层的主要功能:

  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地址和子网,其中每一个知识点都是很庞大的,需要深入学习才能掌握,很多东西我也不懂,只能先对概念有一个大体的理解)

转载于:https://www.cnblogs.com/fingerboy/p/5396922.html

计算机网络学习笔记--网络层知识点整理相关推荐

  1. 大数据 -- kafka学习笔记:知识点整理(部分转载)

    一 为什么需要消息系统 1.解耦 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许多 ...

  2. [Big Data - Kafka] kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余:消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险.许 ...

  3. kafka学习笔记:知识点整理

    一.为什么需要消息系统 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束. 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险. ...

  4. 408计算机网络学习笔记——网络层

    目录 1.网络层功能概述 2.路由算法 2.1.静态路由算法.动态路由算法和层次路由 2.2.路由信息协议(Routing Information Protocol,RIP) 2.3.最短路径算法OS ...

  5. 片偏移怎么计算_计算机网络学习笔记(四)之网络层

    点击蓝字关注我吧 越努力越幸运!!! 1 网络层的功能 1.1异构网络互联 网络的互联:指将两个以上的计算机网络,通过一定的方法, 用一种或多种通信处理设备(即中间设备)相互联接起来,以构成更大的网络 ...

  6. 计算机网络学习笔记:第三章

    文章目录 计算机网络学习笔记:第三章 前言 3.1.概述和运输层服务 3.1.1 运输层和网络层的关系 3.1.2 因特网运输层概述 3.2.多路复用与多路分解 前言 运输层位于应用层和网络层之间,是 ...

  7. 计算机网络学习笔记:第二章

    文章目录 计算机网络学习笔记:第二章 前言 2.1.应用层协议原理 2.1.1 网络应用程序体系结构 2.1.2 进程通信 2.1.3 可供应用程序使用的运输服务 2.1.4 因特网提供的传输层服务 ...

  8. 计算机网络-学习笔记

    计算机网络-学习笔记 1.1.1 概念.组成.功能和分类 概念:计算机网络:是一个将分散的.具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统.计算机网 ...

  9. 【计算机网络学习笔记】计算机网络

    计算机网络学习笔记 第一章 计算机网络概述 1. 计算机网络概述 1.1 计算机网络的概念 1.2 计算机网络的组成 1.3 计算机网络的功能 1.4 计算机网络的分类 1.5 计算机网络的标准化工作 ...

最新文章

  1. 如何参与贡献Dubbo社区
  2. Matlab-贪心/贪婪算法
  3. iOS:(接口适配器3)--iPhone适应不同型号 6/6plus 前
  4. CSDN Chrome插件来啦,听说可以提升开发者效率,我们先来研究一波
  5. 译:1. RabbitMQ Java Client 之 Hello World
  6. django 学习-13 Django文件上传
  7. vrpie在Visio Studio 中无法调试的问题
  8. matlab函数集锦
  9. jquery中的css函数css(name)、css(key,value)、css(properties)、css(key,fn)
  10. VS2012写的程序在VS2010打开时显示当前版本不兼容
  11. c mysql对时间加减_25.2.10. 日期和时间值的C API处理
  12. 存储过程和函数的操作
  13. python中counter怎么用_带你走进python 计数器类Counter的用法
  14. 身份证真伪辨别 Python
  15. 华为2018年服务器销售额,2018Q4华为服务器收入全球第三 同比增45.9%
  16. Domino管理端 - 日常命令
  17. abp.ajax get,ABP入门系列之Json格式化
  18. Project Management
  19. 《具体数学》部分习题解答4
  20. 012:vue+openlayers加载引用3种 Stamen地图(示例代码)

热门文章

  1. 房贷断供了,房子就要被收走,首付款怎么办?
  2. 旅游捞金的六大方式,玩着把钱赚了
  3. 如何给一家公司做定性研究?
  4. jdbc数据源连接oracle,请教JDBC怎么连接ORACLE数据库
  5. sql脚本导入sql_学习SQL:SQL脚本
  6. sql 备份 文件大小_预测SQL备份大小
  7. 如何使用PowerShell处理SQL Azure数据库
  8. power bi报表服务器_如何将Power BI Report Server报表嵌入ASP.Net Web应用程序
  9. SpringBoot整合freemarker找不到静态资源ftl文件解决办法
  10. 解决子元素浮动,父元素没有撑开的问题