1:交付

网络层监视底层物理网络对分组的处理过程叫做交付,分为直接交付和间接交付

1.1:直接交付

直接交付时,分组的终点是一台与交付着连接在同一个网络上的主机,发生在俩种情况下,分组的源点和终点都在同一个物理网络上,或者是在最后一个路由器与目的主机之间进行交付.

发送方提取终点的网络地址(用掩码与分组内目的IP地址进行与运算),然后与自己所连接的网络地址比较.若匹配,交付就是直接的。

1.2:间接交付

目的主机和交付者不在同一网络上,在间接交付时,分组经过一个又一个路由器,最后到达与终点连接在同一个网络上的路由器。

2:转发

转发意味者让分组踏上通往终点的路途。转发就是将分组交付给下一跳(下一跳可能是终点,也有可能是一个中间的连接设备).

当IP作为无连接的协议时,转发的基础是IP数据报的目的地址,而当IP作为面向连接的协议时,转发的基础是附加在IP数据报上的标记(IP面向连接协议时在进行发送IP分组之前需要先打通一个链路,此时每个分组经过的路由器都是相同的,发完后需要把这链接拆了)。

2.1基于目的地址的转发

这是一种传统的方式,目前的主流方式,这种转发方式要求主机或者路由器具有一张路由表。当主机有分组要转发时,或者路由器收到分组要进行转发时,就要搜索路由表找到最后终点的路由.这样是十分低效的,因为路由表的表项数量过多导致路由器的查找效率非常低.

2.1.2转发技术

  1:下一跳方法

    下一跳的技术可以减少路由表中的内容,这种技术就是在路由表中只保留下一跳地址,而不是保留完整的路由信息.

    如下

    

2:特定网络法

    此时路由表不是对连接在同一个物理网络上的每一台主机都设置一个表项,而是用一个表项来定义目的网络本身的地址,也就是我们把连接在同一个网络上的所有主机看成是一个表项.如下

    

  3:特定主机法

    使用特定主机方法,目的主机的地址在路由表中要给出,用牺牲效率换取其他优点,比如管理人员想染所有到达主机B的分组都经过路由器某个路由器

    特定主机的路由选择主要用在检查路由或者提供安全措施这样的特殊情况下。

  4:默认方法

    主机S所连接的网络上有俩个路由器.通过R1可以把分组转发到N2,但是对于因特网其他部分,使用R2

    

3:使用分类编址时的转发

分类编址有一些缺点(造成IP地址浪费很严重),但是在分类地址中存在默认掩码.这就使得转发过程比较简单。

  3.1:无子网划分的转发

    转发模块要使用三张表,每个单播类别(A,B,C)对应一张表,如果路由器支持多播,那么还要增加一张处理D类地址的表。每张路由表要有下面三列

    1.目的网络的网络地址,它告诉我们主机的位置.

    2.下一跳的地址,在间接交付时它告诉我们分组应当交付到那个路由器,在直接交付时是空的.

    3.接口号,它定义了分组从那个输出端口发送出去(一个路由器经常会连接到多个网络,每一个连接就有一个不同的端口号或者接口)

  

  3.2:有子网划分的转发

  子网划分发生在组织的内部,处理子网划分的路由器不是在该组织站点的边界上,就是在站点边界的里面。如果组织使用了可变长度的子网划分,那么我们就需要多张表,要不然就只要一张表,

  

    

4:使用无分类编址时的转发

  使用无分类编址时,整个地址空间是完整的,没有划分类别,分组的目的地址中得不到有关网络地址的线索.为了解决这个问题,我们需要在路由表中包含掩码(/n),

IP分组交付和转发的更多相关文章

  1. TCP/IP协议原理与应用笔记19:IP分组的交付和路由选择

    1. 引言: (1)互联网结构: 信息:IP分组(直接广播地址(Directed Broadcast Address),其指定了在一个特定网络中的"所有主机".) 节点:路由器.主 ...

  2. IP分组

    IP 分组为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词.图 显示了在不同的I n t e r n e t层之间传递数据时用来描述数据的名词.我们把传输协议交给 I P ...

  3. IP分组和分片

    本文讨论两个问题①IP数据报的首部②IP数据报的分片 TCP/IP模型分为五层,从上到下依次是应用层.传输层.网络层.数据链路层和物理层. IP数据报是网络层的概念. IP数据报的首部 版本号:0~3 ...

  4. 基于CIDR的IP分组转发算法

       话不多说,直接上运行截图         #include<iostream> #include<vector> using namespace std; struct ...

  5. iptables实现IP地址重定向(转发)

    iptables不单只防火墙这么简单,NAT转发这些都很强大.但是市面上iptables的教程基本都是围绕着CentOS 6来展开的,而对于CentOS 7和Ubuntu又不一样的写法,尤其是Ubun ...

  6. UDP用户数据报协议和IP分组

    UDP总体的封装格式例如以下: 以下是8字节UDP首部: 当IP层依据协议字段把UDP报文向上传送到UDP模块后,UDP模块再依据port号将数据发送到对应的进程中,以此实现进程到进程间的通信. 16 ...

  7. 基于TCAM 的高速路由查找

    摘要 随着路由器接口速率的提高,传统的软件路由查找机制已经不能满足要求.目前常见的硬件解决方案是采用TCAM实现关键词 TCAM,路由查找,最长前缀匹配. 1.引言 路由器转发IP 分组时,转发引擎需 ...

  8. 哈工大 计算机网络 实验三 IPv4 分组收发实验&IPv4 分组转发实验

    计算机网络实验代码与文件可见github:计算机网络实验整理 实验名称 IPv4 分组收发实验&IPv4 分组转发实验 实验目的: (注:实验报告模板中的各项内容仅供参考,可依照实际实验情况进 ...

  9. IP 层收发报文简要剖析6--ip_forward 报文转发

    //在函数ip_route_input_slow->ip_mkroute_input注册, /* * IP数据包的转发是由ip_forward()处理,该函数在ip_rcv_finish() * ...

随机推荐

  1. ZOJ2067 经典 DP(单调队列优化)

    题目:一个由‘.’和‘#’组成矩形,统计里面'.'组成的矩形的个数. 点击打开链接 自己写挂了,懒得搞了 #include <stdio.h> #include <string.h& ...

  2. Tomcat问题:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined ,At least one of these environment variable is needed to run this program

    一眼就能看出来是jdk的环境有问题,但是用了这么久的jdk一直都配置的好好的,怎么一到Tomcat上就这么矫情了. 最后查解决方案,原来是我的jdk从官网直接下载的,虽然我修改了java_home,但 ...

  3. BZOJ4916: 神犇和蒟蒻【杜教筛】

    Description 很久很久以前,有一只神犇叫yzy; 很久很久之后,有一只蒟蒻叫lty; Input 请你读入一个整数N;1<=N<=1E9,A.B模1E9+7; Output 请你 ...

  4. Visual Studio Code 使用指南

       安装 VSCode是微软推出的一款轻量编辑器,采取了和VS相同的UI界面,搭配合适的插件可以优化前端开发的体验. HTML Snippets:增强了zen-coding,增加了H5的自动补全,安 ...

  5. 1010. Radix (25) pat

    Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The an ...

  6. hello1与hello2在glassfish上部署

    部署hello1 打开项目实例 找到hello1(tutorial-examples-master\web\jsf\hello1) 并在当前目录打开cmd并输入mvn install命令在hello1 ...

  7. Boosting学习笔记(Adboost、GBDT、Xgboost)

    转载请注明出处:http://www.cnblogs.com/willnote/p/6801496.html 前言 本文为学习boosting时整理的笔记,全文主要包括以下几个部分: 对集成学习进行了 ...

  8. 罗技 M558 鼠标维修记录

    罗技 M558 鼠标维修记录 故障现象 按键不灵敏 拆机内部图 前进键 后退键 左键 右键 中键 自定义功能键 使用的是 OMRON 按键,好东西,质量可以. 但毕竟是机械的东西,还是有老化,用万用表 ...

  9. spring 注解列表

    table th:first-of-type { width: 15%; } table th:nth-of-type(2) { } 注解 作用 例子 @SuppressWarnings 忽略警告 类 ...

  10. 工欲善其事必先利其器系列之:更换Visual Studio代码风格.

    前言:如果你厌倦了默认的VS的背景颜色,可以在studiostyl下载.vssettinggs文件,将其导入VS中,黑色的风格还是蛮不错的,如果用的12的话就没这个必要了我觉得. 从网站下载后会得到扩 ...