IP分组交付和转发
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分组交付和转发的更多相关文章
- TCP/IP协议原理与应用笔记19:IP分组的交付和路由选择
1. 引言: (1)互联网结构: 信息:IP分组(直接广播地址(Directed Broadcast Address),其指定了在一个特定网络中的"所有主机".) 节点:路由器.主 ...
- IP分组
IP 分组为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词.图 显示了在不同的I n t e r n e t层之间传递数据时用来描述数据的名词.我们把传输协议交给 I P ...
- IP分组和分片
本文讨论两个问题①IP数据报的首部②IP数据报的分片 TCP/IP模型分为五层,从上到下依次是应用层.传输层.网络层.数据链路层和物理层. IP数据报是网络层的概念. IP数据报的首部 版本号:0~3 ...
- 基于CIDR的IP分组转发算法
话不多说,直接上运行截图 #include<iostream> #include<vector> using namespace std; struct ...
- iptables实现IP地址重定向(转发)
iptables不单只防火墙这么简单,NAT转发这些都很强大.但是市面上iptables的教程基本都是围绕着CentOS 6来展开的,而对于CentOS 7和Ubuntu又不一样的写法,尤其是Ubun ...
- UDP用户数据报协议和IP分组
UDP总体的封装格式例如以下: 以下是8字节UDP首部: 当IP层依据协议字段把UDP报文向上传送到UDP模块后,UDP模块再依据port号将数据发送到对应的进程中,以此实现进程到进程间的通信. 16 ...
- 基于TCAM 的高速路由查找
摘要 随着路由器接口速率的提高,传统的软件路由查找机制已经不能满足要求.目前常见的硬件解决方案是采用TCAM实现关键词 TCAM,路由查找,最长前缀匹配. 1.引言 路由器转发IP 分组时,转发引擎需 ...
- 哈工大 计算机网络 实验三 IPv4 分组收发实验&IPv4 分组转发实验
计算机网络实验代码与文件可见github:计算机网络实验整理 实验名称 IPv4 分组收发实验&IPv4 分组转发实验 实验目的: (注:实验报告模板中的各项内容仅供参考,可依照实际实验情况进 ...
- IP 层收发报文简要剖析6--ip_forward 报文转发
//在函数ip_route_input_slow->ip_mkroute_input注册, /* * IP数据包的转发是由ip_forward()处理,该函数在ip_rcv_finish() * ...
随机推荐
- Unity3D插件-自制小插件、简化代码便于使用(新手至高手进阶必经之路)
Unity3D插件-简化代码.封装功能 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 FindT() ...
- hihocoder1545 : 小Hi和小Ho的对弈游戏(树上博弈&nim博弈)
描述 小Hi和小Ho经常一起结对编程,他们通过各种对弈游戏决定谁担任Driver谁担任Observer. 今天他们的对弈是在一棵有根树 T 上进行的.小Hi和小Ho轮流进行删除操作,其中小Hi先手. ...
- 蓝桥杯 BASIC-3:字母图形
基础练习 字母图形 时间限制:1.0s 内存限制:256.0MB 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCD ...
- Windows系统清除远程连接记录的方法
=============================== 1.点击“开始->运行”,在输入框中键入regedit并回车. 在打开的注册表编辑器中, 找到“HKEY_CURRENT_USER ...
- 线上服务内存OOM问题定位[转自58沈剑]
相信大家都有感触,线上服务内存OOM的问题,是最难定位的问题,不过归根结底,最常见的原因: 本身资源不够 申请的太多 资源耗尽 58到家架构部,运维部,58速运技术部联合进行了一次线上服务内存OOM问 ...
- CTF之ROT加解密
常见的ROT加密包括ROT5,ROT13,ROT18,ROT47 ROT5:只是对数字进行编码.用当前数字往后数的第五个数字替换当前数字: 例:123sb——>678sb ROT13:只是对字母 ...
- hdu2073-2078
hdu2073 数学 #include<stdio.h> #include<math.h> double len(double x){ )*(x+)); } int main( ...
- 字符串匹配--扩展KMP模板
对于一个字符串 s 以及子串 t ,扩展KMP可以用来求 t 与 s 的每个子串的最长公共前缀 ext [ i ],当然,如果有某个 ext 值等于 t 串的长度 lent ,那么就说明从其对应的 i ...
- LeetCode Majority Element Python
Given an array of size n, find the majority element. The majority element is the element that appear ...
- 红黑树-算法大神的博客-以及java多线程酷炫的知识
http://www.cnblogs.com/skywang12345/p/3245399.html 解释第5条:从 ->根节点(或者任意个结点)到->所有的末端节点的路径中 ->黑 ...