精华内容
下载资源
问答
  • IP转发

    千次阅读 2018-08-02 19:49:49
    当主机通信的目的地是直接相连的...这就是IP转发。 大多数主机既可配置为路由器,也可配置为主机。主机与路由器的处理IP数据报的区别在于:主机不转发那些不是由它生成的数据报,路由器会这样做。在整个IP转发方案...

    当主机通信的目的地是直接相连的主机(例如点到点链接)或共享网络(例如以太网),IP数据报直接发送到目的地,不需要或者不适用路由器。否则,主机将数据报发送到一台路由器,由该路由器将数据报交付到目的地,这个过程可能要经过多个路由。这就是IP转发。

    大多数主机既可配置为路由器,也可配置为主机。主机与路由器的处理IP数据报的区别在于:主机不转发那些不是由它生成的数据报,路由器会这样做。在整个IP转发方案中,IP协议可接收一个数据报,它可来自同一主机上的其他协议(TCP、UDP等),也可来自一个网络接口。IP层包括一些位于内存中的信息,通常称为路由表或转发表,每次转发一个数据报时需要从中查找信息。当一个网络接口接收到一个数据报时,IP模块首先检查目的地址是否为自己的IP地址(与自己的某个网络接口相关的IP地址),或是它可以接收其流量的一些其他地址,例如IP广播或组播地址如果是的话,数据报交付给由IPv4头部的协议字段或IPv6头部的下一个头部字段中指定的协议模块(IP头部内容详见→传送门1: IP数据报传送门2: IPv6扩展头部)。如果不是:(1) 如果IP层配置为一台路由器,则作为输出的数据报处理,转发该数据报;(2) 数据报被丢弃。在某些情况下,ICMP消息可能发送回源节点,以表明发生了一个错误。

    转发表

    IP协议标准并没有规定转发表所需的精确数据,这个选择工作留给IP协议的实现者。但IP转发表通常需要包含几个关键信息:

    ·目的地:一个32位IPv4地址字段或128位的IPv6字段,用于与一个掩码操作结果相匹配。针对涵盖所有目的地的“默认路由”的情况,目的地可以简单地设为零;对于仅描述一个目的地的“主机路由”的情况,目的地可设为完整长度的IP地址。

    ·掩码:一个32位IPv4字段或128位的IPv6字段,用作数据报目的IP地址按位与操作的掩码。掩码结果与转发表条目中的多个目的地进行比较。

    ·下一跳:它是下一个IP实体(路由器或主机)的32位IPv4地址或128位IPv6地址,数据报将被转发到该地址。下一跳实体通常在一个网络中由执行转发查找的系统所共享,这意味着它们共享同一网络前缀。

    ·接口:接口包含一个由IP层使用的标识符,以确定将数据报发送到下一跳的网络接口。例如802.11无线接口、有线的以太网接口或一个与串行端口的PPP接口。如果转发IP系统也是IP数据报的发送方,该字段用于选择输出数据报的源IP地址。

    目的地掩码网关(下一跳)接口
    0.0.0.00.0.0.010.0.0.110.0.0.100
    10.0.0.0255.255.255.25510.0.0.10010.0.0.100

    IP转发逐跳进行,路由器和主机不包含到任何目的地的完整转发路径(除了那些直接连接主机或路由器的目的地)。IP转发只提供数据报发送的下一跳实体的IP地址。它假设下一跳比当前“更接近”目的地,并且自己与下一跳实体之间没有环路。路由协议有多种,例如RIP、OSPF、BGP和IS-IS。

    转发过程

    当一台主机或路由器中的IP层需要向下一跳的路由器或主机发送一个数据报时,它首先检查数据报中的目的IP地址,在转发表中使用该地址来执行最长前缀匹配算法:对转发表的每一个条目,将其中的掩码m与目的地址D进行按位与操作,得到的结果与条目中的目的地字段d进行比较,若相等则满足匹配条件。所有条目中选出最长前缀(掩码m中设置1的位数最多)作为下一跳IP地址。如果在转发表中没有发现匹配的条目,则这个数据报无法交付。

    通常情况下,如果在本地出现无法交付的数据报,则向生成数据报的应用程序返回一个“主机不可达”错误。在一台路由器上,ICMP消息通常返回给发送数据报的主机。

    在某些情况下,可能有多个条目是匹配的(即1的位数一样)。在这种情况下,协议标准没有规定终端系统的具体行为,而是由具体操作系统的协议实现来决定。通常是简单地选择第一个匹配的结果。更复杂的系统可能尝试在多个路由上平衡负载或拆分流量。

    直接交付和间接交付

    当所有系统使用相同的网络前缀(例如处于同一以太网中),可以采用直接交付;另一种为间接交付。

    直接交付不需要路由器,IP数据报封装在一个链路层帧中,它可以直接识别数据来源或目的地。间接交付涉及路由器,数据转发到这台路由器,并使用该路由器的链路层地址作为目的地址。直接交付中,路由器的IP地址没有出现在IP数据报中(除非路由器自己是源主机或目的主机,或者使用源路由时)。

    在直接交付中,匹配路由条目中的网关(下一跳地址)包含发送主机的网络接口(没有涉及路由器),说明采用直接交付来发送数据报。这个数据报被封装在一个低层帧中,并发送给目的主机。如果目的主机的低层地址未知,可能需要使用ARP协议(对于IPv4)或邻居发现协议(对于IPv6)操作,以确定正确的低层地址。如果已经知道该地址,数据报中的目的地址是目的主机的IP地址,并将其放入低层头部的目的IP地址字段中。

    在间接交付中,IP地址对应于前面的源主机和目的主机,但低层地址不对应。实际上,低层地址决定哪台机器在每跳的基础上接收包含数据报的帧。在使用源路由的情况下,路由器对数据报进行网络地址转换(NAT),以使它在Internet中可路由。对数据报进行NAT处理,目的是生成新的源地址以便转发。

    IP单播转发关键

    ·前面说到过默认路由的设置,实际上在Internet边缘,大多数主机和路由器会使用一个对所有地址而不是而不是本地网络中的目的地址的默认路由,这是因为只有一个借口可连接Internet的其他部分。

    ·在传统的Internet中,数据报中的源IP地址和目的IP地址从不改变。除非是在使用源路由的情况下(间接交付中有提到),或沿着传输路径遇到其他功能(例如NAT),否则情况永远如此。

    ·不同的低层头部用于每种链路上的寻址,低层的目的地址(如果存在)总是包含下一跳的低层地址。因此,当数据报沿着到目的地的每个跳步移动时,低层头部经常发生变化。

     

                                                                                                 本文部分内容摘自《TCP/IP详解:卷1(中文版)第2版》

    展开全文
  • ip转发

    千次阅读 2017-07-28 09:43:23
    由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这...
    工作原理
    内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做任何回应。由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这是网关发送的请求,并不知道内网主机的存在,也没必要知道,目的主机处理完请求,把回应信息发还给网关。网关收到后,将目的主机发还的数据包的目的ip地址修改为发出请求的内网主机的ip地址,并将其发给内网主机。这就是网关的第二个工作--数据包的路由转发。内网的主机只要查看数据包的目的ip与发送请求的源主机ip地址相同,就会回应,这就完成了一次请求。
    出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。这通常就是路由器所要实现的功能。
    
    设置
    Linux系统缺省并没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令: cat /proc/sys/net/ipv4/ip_forward
    如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。
    要想打开IP转发功能,可以直接修改上述文件: echo 1 > /proc/sys/net/ipv4/ip_forward
    把文件的内容由0修改为1。禁用IP转发则把1改为0。
    上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改/etc/sysctl.conf文件,修 改下面一行的值: net.ipv4.ip_forward = 1 修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效: sysctl -p /etc/sysctl.conf 进行了上面的配置后,IP转发功能就永久使能了。
    
    参考:http://blog.csdn.net/u013812710/article/details/52801656
            http://blog.sina.com.cn/s/blog_3f83aa130100s8jo.html
    展开全文
  • ip转发和mpls转发对比

    千次阅读 2019-08-07 16:39:32
    1、IP转发原理和mpls的转发原理 比较和他们之间的差别 IP转发:逐跳转发 要经过查表 速度缓慢 并且 IP包头20个字节 mpls转发:则通过事先分配好的标签进行转发、每到一台设备只查找一次,并且包头只有4字节,效率...

    1、IP转发原理和mpls的转发原理 比较和他们之间的差别
    IP转发:逐跳转发 要经过查表 速度缓慢 并且 IP包头20个字节
    mpls转发:则通过事先分配好的标签进行转发、每到一台设备只查找一次,并且包头只有4字节,效率高于IP转发。

    展开全文
  • IP转发技术基础与实践-华为
  • 通过HOOK 进行IP转发/拦截
  • linux配置ip转发

    千次阅读 2017-11-30 20:51:50
    ====ip转发====== 1、vim /etc/sysctl.conf 修改配置 net.ipv4.ip_forward = 1 重启 sysctl -p 2、192.168.1.1:3307 转发到 192.168.1.2:3307 shell下执行: iptables -t nat -A PREROUTING -p tcp --dport 3307 -j...

    ====ip转发======

    1、vim /etc/sysctl.conf 
    修改配置
    net.ipv4.ip_forward = 1


    重启
    sysctl -p


    2、192.168.1.1:3307  转发到   192.168.1.2:3307
    shell下执行:
    iptables -t nat -A PREROUTING -p tcp --dport 3307 -j DNAT --to-destination 192.168.1.2:3307
    iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 3307 -j SNAT --to  192.168.1.1


    保存修改
    service iptables save


    then it's ok ~~

     

    =====匹配某个目录下的所有文件中的某个字符====

    sudo find -type f -name '*.ini'|xargs grep 'port'

    展开全文
  • linux7.0开启IP转发功能

    千次阅读 2018-12-02 11:22:56
    开启IP转发功能 cat /proc/sys/net/ipv4/ip_forward 查看IP转发功能是否开启 vim /usr/lib/sysctl.d/00-system.conf 修改其配置文件 net.ipv4.ip_forward = 1 开启IP转发功能 “0”代表没有开启 sysctl -p /usr/...
  • 通过HOOK进行IP转发/拦截源码,源码调用了超级模块。
  • IP转发行动

    万次阅读 2020-09-14 22:59:45
    当一台主机或路由器需要向下一跳转发数据报时,它首先检查数据报中的IP地址。在算法表中使用该IP地址来执行最长前缀匹配算法。 最长前缀匹配算法: 当路由器接收到一个IP数据包时,将数据包的目的ip地址与本地...
  • IP转发基础培训教材 课件很清晰 明了
  • iptables IP转发

    千次阅读 2013-09-15 17:42:48
    有两台服务器: A:219.246.xxx.yyy。这是一个内网地址,外网无法访问。B:202.201.aaa.bbb。...现在希望访问mmm.lzu.edu.cn时,能自动跳转到219.246.xxx.yyy上,因此可以做IP转发,或叫IP映射。来使所有发到202.2
  • nginx配置ip转发,实现cookie共享

    千次阅读 2020-03-10 17:26:29
    nginx配置ip转发,实现cookie共享: 1.找到nginx.conf配置文件 2.添加配置 proxy_set_header HOST $host; #域名转发 proxy_set_header X-Real-IP $remote_addr; #IP转发 proxy_set_header X-Forwarded-For $proxy_...
  • Linux 开启IP转发功能

    千次阅读 2016-02-22 14:10:03
    1.控制IP转发的配置文件 /etc/sysctl.conf 2.更改转发参数(0, 关闭; 1, 开启) # Controls IP packet forwarding net.ipv4.ip_forward = 1 3.查看配置 sysctl -p 4.临时更改转发设定 sysctl -w ...
  •  官方的参考连接: ...用户定义的路由和 IP 转发: http://www.windowsazure.cn/documentation/articles/virtual-networks-udr-overview 如何在 Azure 中创建路由并启用 IP 转发: ...
  • 二层交换与三层IP转发

    千次阅读 2016-07-19 09:56:24
    最近学习交换与路由知识,做点笔记,作为以后的复习使用,也分享给网友学习使用。  二层交换与三层转发有什么区别呢? 最重要的是他们寻找目的地址的关键字不一样。二层交换是链路层的任务,因此二层交换...IP转发
  • 6 配置Docker进程 IP表和IP转发默认Docker开启ip转发并自动设置iptables规则,如果我们希望改变这种行为,可以在启动Docker时修改如下选项 --ip-forward=false, --iptables=false Ubuntu/Debian系统编辑 /etc/...
  • Linux中使能IP转发

    千次阅读 2011-07-26 10:08:16
    Linux系统缺省并没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令: cat /proc/sys/net/ipv4/ip_forward如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经...
  • 在启用了IP转发器的情况下部署Azure VM(Linux或Windows)以用作路由器。 本文档中的所有部署均假定您已经拥有现有的虚拟网络(VNET)和子网。 将Linux VM部署为路由器(IPv4) 该模板使用启用了单个NIC + IP转发的...
  • linux发行版默认情况下是不开启ip转发功能的。这是一个好的做法,因为大多数人是用不到ip转发的,但是如果我们架设一个linux路由或者vpn服务我们就需要开启该服务了。下面我会通过几种方式开通它。检查ip转发是否...
  • ubuntu 12.04在使能IP转发设置简介

    千次阅读 2013-05-01 23:22:27
     Linux系统缺省并没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令:  cat /proc/sys/net/ipv4/ip_forward  如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP...
  • 由于源主机ip是私有的,禁止在公网使用,所以必须将数据包的源发送地址修改成公网上的可用ip,这就是网关收到数据包之后首先要做的工作--ip转换。然后网关再把数据包发往目的主机。目的主机收到数据包之后,只认为这...
  • 大家好,今天我们学习一下在 Linux 上用 iptables 实现从一个网络接口到另一个接口的IP转发(数据包转发)。IP转发的概念是,使 Linux 机器像路由器一样将数据从一个网络发送到另一个网络。所以,它能作为一个路由器...
  • nginx 根据IP转发到指定的后端服务器

    万次阅读 2019-06-06 10:09:18
    当用户请求IP为192.168.2.11时把后端请求转发到192.168.2.11服务器的8080端口 当用户请求IP为192.168.2.12时把后端请求转发到192.168.2.12服务器的8080端口 当请求的IP不是192.168.2.11和192.168.2.12时,将请求...
  • 路由器IP转发的最长匹配原则

    千次阅读 2009-11-22 15:59:00
    IP转发,基于路由,例如OSPF、ISIS、BGP、RIP系列等,是从邻居那里通过SPF或D-V算法计算出最短路径的一种方式,在这种传输方式中,每台路由器维护一张路由转发表,简称路由表指导报文的转发。及在路由器的眼里,是...
  • Nginx反向代理实现IP转发

    千次阅读 2020-09-07 15:54:02
    二、解压到将要转发的服务器c:\nginx-1.8.0 三、修改nginx.conf配置文件 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info...
  •  专用集成电路 ASIC: Application Specific Integrated Circuit 现场可编程门阵列 FPGA: Field Programmable Gate Array 网络处理器 NP: Network Processor不可编程的IP转发引擎AS
  • grep 'word' file1 file2 file3

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 303,986
精华内容 121,594
关键字:

ip转发