zoukankan      html  css  js  c++  java
  • 计算机网络之路由器

    路由器简介

    Network(网络层):
    	网络层负责对子网间的数据包进行路由选择。
    	此外,网络层还可以实现拥塞控制、网际互连等功能。
    	对应的连接设备:路由器。
    
    
    路由器(router)是互联网的枢纽,是连接英特网中各局域网、广域网的设备:
    	它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送数据。
    	作用在OSI模型的第三层(网络层),提供了 路由 与 转发 两种重要机制
    
    
    路由:
    	收集网络拓扑信息并动态形成路由表
    
    	路由器控制层面的工作,决定数据包从来源端到目的端所经过的路由路径
    	(host到host至今的最佳传输路径)
    
    转发:
    	根据转发表(FIB)转发IP数据包
    
    	路由器数据层面的工作,将路由器输入端的数据包移送至适当的路由器输出端(在路由器内部进行)
    
    
    路由器实际上起到的作用是完成不同段之间网络的互联。
    

    交换机与路由器的区别

    交换机:
    	工作于数据链路层,能识别 MAC 地址,根据 MAC 地址转发链路层数据帧。
    	具有自学机制来维护 IP 地址与 MAC 地址的映射。
    
    路由器:
    	位于网络层,能识别 IP 地址并根据 IP 地址转发分组。
    	维护着路由表,根据路由表选择最佳路线。
    

    IP分段原理

    TCP/IP V4 协议网络的分段原理:
    
    	TCP/IP协议给网络中的每一个主机都会分配一个IP地址,它包含两部分信息:
    		网络地址和主机地址。
    
    
    	TCP/IP协议中的IP地址将网络地址和主机地址包装在一个32位的域里( TCP/IP V4),分为四类:
    
        	a、  1-126,A类
    			网络地址1个字节,主机地址3个字节。
        	b、  128-192,B类
    			网络地址2个字节,主机地址2个字节。
        	c、  192-223,C类
    			网络地址3个字节,主机地址1个字节。
        	d、  0,127,224-255
    			保留不用。
    
        子网掩码指出地址中哪些部分是网络地址,哪些是主机地址。
    	在子网掩码中,二进制1表示网络地址位,二进制0表示主机地址位。传统的各类地址的子网掩码为:
        
    		a、 A类:255.0.0.0
        	b、 B类:255.255.0.0
        	c、 C类:255.255.255.0
    

    IP分组交换

    分组:
    	将数据拆分成很多小的部分,分别对这些数据加一些额外的标记(包头包尾),然后再发送出去,
    	收到的一方会将收到的不同部分的数据拆包(去掉包头包尾),然后将数据拼凑在一起,得到的就是完整的数据。
    	应用程序拿到这个数据你就可以使用数据了。
    
    
    ip分组交换技术的核心设备就是路由器。
    
    
    基本原理:
    
    	第一步:将数据分成很多的份,每份就是一个分组
    
    	第二步:路由器实现网间的分组数据的交换,让数据从一个网段到另一个网段,最终通过目标ip找到目的计算机
    
    		互联网的中心是一堆的路由器,因此源计算机将这些分组数据甩给路由器,路由器会甩给下一站路由器,
    		直到通过目标Ip的比对,找到目标计算机。
    
    	第三步:目标计算收到所有的分组数据后,将数据拼凑在一起,就得到了完整的数据。
    
    
    路由器的关键作用就是,实现分组数据在不同网段间的交换。
    

    数据包分片(IP分组交换的体现)

    分片是分组交换的思想体现,也是IP协议解决的两个主要问题之一。
    
    在IP协议中的分片算法主要解决不同物理网络最大传输单元(MTU)的不同造成的传输问题。
    
    
    IP分片是网络上传输IP报文的一种技术手段:
    	IP协议在传输数据包时,将数据报文分为若干分片进行传输,并在目标系统中进行重组。这一过程称为分片(fragmentation)。
    
    
    IP分片原理:
    
    	IP数据包首部里,16位标识唯一记录了一个IP包的ID,具有同一个ID的IP分片将会重新组装。
    	13位片偏移则记录了某IP片相对整个包的位置。
    	这两个表中间的3位标志则标志着该分片后面是否还有新的分片。
    
    	这三个标志就组成了IP分片的所有信息,接受方就可以利用这些信息对IP数据进行重新组织。
    

    IP数据包首部

    数据包分片

    路由原理

    当IP子网中的一台主机发送IP分组数据给同一IP子网的另一台主机时,它将直接把IP分组数据送到网络上,对方就能收到。
    
    送给不同IP子网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组数据送给该路由器,
    由路由器负责把IP分组送到目的地。
    
    如果没有找到这样的路由器,主机就把IP分组送给一个称为 “缺省网关(default gateway)”的路由器上。
    “缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。 
    
    网关:
    	访问路由器的IP,其他的电脑必须和网关一个IP段才能访问路由器。
    

    路由选择方式

    典型的路由选择方式有两种:
    	静态路由和动态路由。 
    
    
    静态路由是由网络管理员手工配置的路由信息。:
    	除非网络管理员干预,否则静态路由不会发生变化。
    	由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。
    
    	静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。
    	当动态路由与静态路由发生冲突时,以静态路由为准。 
    
    
    动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程:
    	它能实时地适应网络结构的变化。
    
    	动态路由机制的运作依赖路由器的两个基本功能:
    		对路由表的维护;
    		路由器之间适时的路由信息交换。
    
    	动态路由适用于网络规模大、网络拓扑复杂的网络。
    
    	当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
    

    路由表和转发表

    每个路由器中都有一个路由表和FIB(Forward Information Base)表:
    	路由表用来决策路由。
    	FIB用来转发分组。
    
    
    路由表:
    	这里个表都用来保存路由信息,路由表通常由路由协议和路由管理模块维护,
    	包括更多的信息(IP地址/IP子网、下一跳、路由度量、超时间等);
    
    路由表中路由有三类:
    (1)链路层协议发现的路由(即是直连路由)
    (2)静态路由。
    (3)动态路由协议发现的路由。
    
    
    转发表(FIB):
    	是基于路由生成的,路由器实际转发时使用转发表(只包括IP地址/IP子网和下一跳/出接口)。
    	转发表中每条转发项都指明:
    		分组到某个网段或者某个主机应该通过路由器的某个物理接口发送,
    		然后就可以到达该路径的下一个路由器,
    		或者不再经过别的路由器而传送到直接相连的网络中的目的主机。
    
    	高性能路由器转发表通常都用硬件来实现,有利于高速查找。
    

    路由器结构

    路由器工作流程

  • 相关阅读:
    安卓平台下ARM Mali OpenCL编程-GPU信息检测(转)
    Android 常用的性能分析工具详解:GPU呈现模式, TraceView, Systrace, HirearchyViewer(转)
    windows配置meld
    nginx的学习材料
    nginx+lua组合的web框架
    [转] Linux下防火墙iptables用法规则详及其防火墙配置
    转:关于知乎音视频学习入门的解答
    转: 在创业公司使用C++
    【转】 消息队列设计精要
    转: __asm__ __volatile__内嵌汇编用法简述
  • 原文地址:https://www.cnblogs.com/loveer/p/11719628.html
Copyright © 2011-2022 走看看