AND运算

数据网络设备内部是运用数字逻辑来解释地址的。在创建或转发 IPv4 数据包时,必须从目的地址中提取出目的网络地址。这一步通过 AND 运算来完成。

对 IPv4 主机地址同其子网掩码执行 AND 逻辑运算,可以确定该主机相关联的网络地址。地址和子网掩码之间的 AND 运算得到的结果就是网络地址。
AND 运算
AND 运算是数字逻辑中使用的三种基本二进制运算之一。另外两种是 OR 和 NOT。虽然这三种运算都用于数据网络中,不过用于确定网络地址的是 AND。因此,本章的讨论仅限于逻辑 AND。逻辑 AND 运算比较两个位,所得结果如下:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
任意值同 1 进行 AND 运算,所得结果都是原来的位。即,0 AND 1 得 0 而 1 AND 1 得 1。相应地,任意值同 0 进行 AND 运算,结果都为 0。AND 运算的这些特性与子网掩码配合使用便可以“遮掩”IPv4 地址的主机位。地址的每个位同子网掩码的相应位进行 AND 运算。
由于子网掩码中代表主机位的所有位都是 0,因此,所得网络地址的主机部分也全部变为 0。我们曾学过,主机部分全部为 0 的 IPv4 地址代表网络地址。
同理,子网掩码中表示网络部分的所有位均为 1。这些 1 同地址的相应位逐个进行 AND 运算时,所得各位与原来的地址位相同。
使用逻辑 AND 的原因
数据网络中的设备在主机地址和子网掩码之间执行 AND 运算的原因各异。
路由器使用 AND 运算来确定传入数据包的合理路由。路由器检查目的地址,并尝试将此地址关联到下一跳。当数据包到达路由器时,路由器对传入数据包中的 IP 目的地址和可能路由的子网掩码执行 AND 运算。由此得到的网络地址将与所用子网掩码的路由表中的路由相比较。
发送主机必须确定应该将数据包直接发送到本地网络中的主机还是应将其转发到网关。要做出此决定,主机首先必须了解自己的网络地址。
主机通过对其地址和子网掩码执行 AND 运算提取出自己的网络地址。发送主机也会对该数据包的目的地址和主机的子网掩码执行逻辑 AND 运算。得到的结果便是目的地址的网络地址。如果此网络地址与本地主机的网络地址相符,就会将该数据包直接发送到目的主机。如果两个网络地址不符,就会将该数据包发送到网关。
逻辑 AND 的重要意义
如果路由器和终端设备无需干预即可完成这些运算过程,我们为什么还要了解 AND 运算的运算方法呢?这是因为我们对网络的工作原理了解越多,对网络运行情况的预测能力也就越强,设计和(或)管理网络的准备也就越充分。
在网络验证/故障排除过程中,通常需要确定主机所在的 IPv4 网络或确定两台主机是否位于同一个 IP 网络中。我们需要从网络设备的角度来做出此决定。由于配置不正确,某台主机可能会以为自己所在的网络与预定网络不同。这可能会导致工作不正常,但检查该主机使用的 AND 运算过程就可以诊断这个问题。
此外,路由器可能有许多条不同路由都可以将数据包转发到给定目的地址。选择使用哪条路由发送给定的数据包是一个非常复杂的运算过程。例如,构成这些路由的前缀并非直接与分配给主机的网络相关联。这表示路由表中的路由可能代表许多网络。如果路由数据包的过程存在问题,就需要确定路由器做出路由决定的方式。
尽管网络管理员可以使用子网计算器,但了解如何手动计算子网也非常实用。

本文出自 “07net01” 博客,请务必保留此出处http://07net01.blog.51cto.com/1192774/571335

更多相关文章
  • 这篇文章主要介绍了CSS3中Animation属性的使用详解,是CSS3入门学习中的基础知识,需要的朋友可以参考下 在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是”Keyframes”,我们把他叫做“关键帧”,玩过flash的朋友可能对这个东西并不会陌生.下面我们就一起来看 ...
  • 最近刚好系统学习到linux文件权限这一块,在"umask值及其对应的文件权限"这一个问题上,找过视频看(老男孩老师的视频,强烈推荐),也看过鸟哥的书,当然也在网上找了找,发现计算方法都是多种多样的,但是个人觉得掌握一种就好了,看了各种方法,觉得其实大多数都是在找规律,不是找规律 ...
  • 上一篇我们对ASP.NET中常见的内置对象做了概述,现在我们开始了解怎么用,用哪里,何时用,首先我们从Request和Response说起. 大家在开发过程中,免不了会遇到这样一个问题,就是从客户端传值到服务端,或者从服务端传值到客户端,在这里我们用到的就是Request和Response. 一.R ...
  • leetcode原文引用:   Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id. ...
  • 课程介绍    本课程讲述使用WebSphere Studio Application Developer去开发与J2EE标准相兼容的应用程序,主要包括以JSP/Servlet/ JavaBean为核心的Web应用程序,讲解EJB的原理及开发要点,同时介绍如何使用EJB开发环境.JAVA编码工具.以 ...
  •   类别 课程 证书种类 适用对象 CIW Associate CIW基础课程(CIW Foundations) CIW Associate 所有的互联网从业人员 系统管理大师Master CIW Administ-rator(通过CIW Assistant和右边三个考试即可获得) 服务器管理专家( ...
一周排行
  •  打开eclipse,依次点击如下选项Window->Preferences-> Java -> Installed JREs.步骤见下图.       选中Installed JREs选项出现下图 ...
  • 来看看最专业的建议: 自去年下半年开始,很多网站被恶意代码说困扰,攻击者在动态网页的SQL数据库中注入恶意的HTML < SCRIPT>标签.这种脚本攻击行为在2008年第一季度开始加速传播,并继续影响有 ...
  •       二叉堆是一种特殊的堆,二叉堆是完全二叉树.二叉堆满足堆特性:父结点的键值总是保持固定的序关系于任何一个子结点的键值,且每个结点的左子树和右子树都是一个二叉堆.       当父结点的键值总是大于或等于任何 ...
  • 近日,中原房产等上海几十家房产中介召开发布会,宣布联合封杀搜房网,即日起下架在上海的所有房源.早在今年6月,搜房网在北京.广州.成都等多个大型城市遭到房产中介的联合抵制和逼宫,其中杭州中介集团下架搜房房源给搜房网以沉 ...
  • Facebook正在部分Pages(品牌主页)测试新版面,旨在方便商家在视频版块以大尺寸突出显示视频.品牌主页访客还可以实时查看其他人的评论. 新的测试界面还一改以往的相簿式视频罗列方式,转而采用标准的视频列表版式. ...
  • 现在很多for Mobile的HTML5网页内都有快速滚动和回弹的效果,看上去和原生app的效率都有得一拼. 要实现这个效果很简单,只需要在元素上加一行css代码即可: -webkit-overflow-scroll ...
  • 易网科技讯9月29日消息9月28日下午,阿里巴巴上市公司宣布将支付5.40亿元现金,分两期获得中国万网(以下简称"万网")在中国营运的股权. 今天,万网创始人.总裁兼CEO张向东来到了易网的访谈间 ...
  • 题意: 有m个仓库,n个零售商店,两两之间有运送货物的单位费用: 对于给定的仓库的储存量和商店的需求量,计算最优运输方案和最差运输方案:  题解: 建图: 从源点s到每个仓库连容量为货物数的边: 从每个商店到汇点t连 ...
  • sysctl -a | grep fs.filefs.file-nr = 39392      0       372197fs.file-max = 372197 nr就是已经用的,今天有需要,找了一把,记录一下 ...
  • 鼠标事件采用回调函数的形式,即需要鼠标处理点击移动事件的话,首先必须创建一个回调函数. 如下形式: void my_mouse_callback( //回调函数的声明,而回调函数也是需要这种参数格式 int even ...