IP Address Problems

  • IP Address Exhaustion

    • Class A, B, and C address structure inefficient
    • Class B too large for most organizations, but future proof
    • Class C too small
  • IP routing table size
    • Growth in # of networks in Internet reflected in # of table entries
    • Stress on router processing power and memory allocation
  • Short-term solution:
    • Classless Interdomain Routing (CIDR), RFC 1518
    • New allocation policy (RFC 2050)
    • Private IP Addresses set aside for intranets(企业内部网) (NAT)
  • Long-term: IPv6 with much bigger address space

Classless Interdomain Routing Scheme

  • CIDR uses an arbitrary(任意的) prefix length to indicate the network number

    • 205.100.0.0/22
    • /22 means mask: 11111111 11111111 11111100 00000000 - 255.255.252.0,means the mask is 22 bits long
  • Packets are routed according to the prefix w/o address classes
    • An entry in CIDR routing table contains 32-bit IP address and 32-bit mask
  • Enables supernetting to allow a single routing entry to cover a block of classful addresses

CIDR Aggregation(聚合)

  • A company is allocated the following four contiguous(相邻的) /24 networks. At some router, it is often true that all of the four networks use the same outgoing line. CIDR aggregation can be done to reduce the number of entry at the router.

    • 128.56.24.0/24; 10000000 00111000 00011000 00000000
    • 128.56.25.0/24; 10000000 00111000 00011001 00000000
    • 128.56.26.0/24; 10000000 00111000 00011010 00000000
    • 128.56.27.0/24. 10000000 00111000 00011011 00000000
      By Per-bit AND
    • 128.56.24.0/22 10000000 00111000 00011000 00000000
      (Instead of 4 entries in routing table, one entry is sufficient by CIDR)

CIDR Scheme and Range

  • CIDR deals with Routing Table Explosion Problem

    • Networks represented by prefix and mask
    • Summarize a contiguous group of class C addresses using variable-length mask, if all of them use the same outgoing line
  • Solution: Route according to prefix of address, not class
    • Routing table entry has <IP address, network mask>
    • Example: 192.32.136.0/21
    • 11000000 00100000 10001000 00000001 min address
    • 11111111 11111111 11111--- -------- mask
    • 11000000 00100000 10001--- -------- IP prefix
    • 11000000 00100000 10001111 11111110 max address
    • Eight C networks: 192.32.136.0/24 to 192.32.143.0/24

CIDR Supernetting Example (1)

  • Summarize a contiguous group of class C addresses using variable-length mask
  • Example: 150.158.16.0/20
    • IP Address (150.158.16.0) & mask length (20)
    • IP address = 10010110 10011110 00010000 00000000
    • Mask = 11111111 11111111 11110000 00000000
    • Contains 16 Class C blocks:
    • From 10010110 10011110 00010000 00000000
      i.e. 150.158.16.0/24
    • Up to 10010110 10011110 00011111 00000000
      i.e. 150.158.31.0/24

CIDR Supernetting Example (2)

  • A router has the following CIDR entries in its routing table:

    • Address/mask - - - - -Next hop
    • 128.56.24.0/22 - - - - - Interface 0
    • 128.56.60.0/22 - - - - -Interface 1
    • default - - - - -Router 2

    A packet comes with IP address of 128.56.63.10. What does the router do?

  • 128.56.63.10 and mask 22 bits
  • First, the address will be transform into binary, then use MASK by AND operation to get the prefix, finally it will match the table, if match a interface, go to it.
    • IP address = 10000000 00111000 01111111 00001010
    • Mask = 11111111 11111111 11111100 00000000
      By Per-bit AND
    • Prefix = 10000000 00111000 01111100 00001010
      i.e. 128.56.60
    • Router table lookup and match, should go to interface 1

New Address Allocation Policy

  • Class A & B assigned only for clearly demonstrated need
  • Consecutive(连续的) blocks of class C assigned (up to 64 blocks)
    • All IP addresses in the range have a common prefix, and every address with that prefix is within the range
    • Arbitrary prefix length for network ID improves efficiency
  • Address assignment should reflect the physical topology of the network
    • Facilitates the aggregation of logical packet flows into physical flows

Longest Prefix Match

  • By CIDR, multiple entries may match a given IP destination address ,but different prefix
  • Example: perform CIDR on the following three /24 IP addresses (but 128.56.24.0/24 to a different port)
    • 128.56.25.0/24;
    • 128.56.26.0/24;
    • 128.56.27.0/24;
    • By CIDR aggregation(Per-bits AND): 128.56.24.0/22
    • What if a packet with destination IP address 128.56.24.1 comes? It belongs to another port

Example of Longest Prefix Match

Classless Interdomain Routing (CIDR)的更多相关文章

  1. Netmask, 子网与 CIDR (Classless Interdomain Routing)

    Netmask, 子网与 CIDR (Classless Interdomain Routing) 我们前面谈到 IP 是有等级的,而设定在一般计算机系统上面的则是 Class A, B, C.现在我 ...

  2. [转]CIDR简介

    IP Subnetting and Variable Length Subnet Masks Subnetting Basics 子网划分(subnetting)的优点: 1.减少网络流量 2.提高网 ...

  3. IP协议

    因特网协议(Internet Protocol, IP)是Internet的核心协议之一, 工作在网络层.IP协议提供节点间的寻址,路由以及顺序控制, 流量控制等服务. IP协议分为IPv4和IPv6 ...

  4. (转) IPv6相关RFC

    转自http://blog.csdn.net/lucien_cc/article/details/12688477 IPv6 Spec RFC 2460 : Internet Protocol, Ve ...

  5. IPv6 tutorial 4 IPv6 address syntax

    https://4sysops.com/archives/ipv6-tutorial-part-4-ipv6-address-syntax/ Now that you know about the n ...

  6. How Network Load Balancing Technology Works--reference

    http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balan ...

  7. wireshark filter manualpage

    NAME wireshark-filter - Wireshark filter syntax and reference SYNOPSIS wireshark [other options] [ - ...

  8. 【计算机网络】 一个小白的网络层学习笔记:总结下IP,NAT和DHCP

    前言:这篇文章是学习网络层协议时候总结的笔记,前面的主要部分介绍的都是IP协议, 后半部分介绍NAT协议和DHCP协议 参考书籍 <计算机网络-自顶向下>       作者 James F ...

  9. OSPF(Open Shortest Path First)

    1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...

随机推荐

  1. shell输入与输出功能

    一.shell输入功能 1. 2. 二.shell输出功能 1.字符界面前景颜色 2.字符界面背景颜色 3.其他输出命令 ①cat 输出文本,将文本的格式也输出 ②tee 既输出,也保存到文件里 ③m ...

  2. 初识http2.0

    初识http2.0 HTTP2.0性能增强的核心:二进制分帧 HTTP 2.0最大的特点: 不会改动HTTP 的语义,HTTP 方法.状态码.URI 及首部字段,等等这些核心概念上一如往常,却能致力于 ...

  3. HDU 4283 (第k个出场 区间DP)

    http://blog.csdn.net/acm_cxlove/article/details/7964594 http://www.tuicool.com/articles/jyaQ7n http: ...

  4. img底部空白以及多余的空白文本节点解决方案

    1:img底部有空白的问题 img的css属性display的默认值是inline,这样会导致img的vertical-align的默认值是 baseline; baseline又不是bottom,只 ...

  5. 移动web中的幻灯片切换效果

    百度或者谷歌下类似的插件有很多,原理都差不多,关键适合自己的项目,如果移动端要引入jquery这么大的插件,只能呵呵了.... 下面是工作中针对webkit内核的浏览器写的,html很简单: < ...

  6. kafka controller重构

    Kafka Controller 是 Kafka 的核心组件,在前面的文章中,已经详细讲述过 Controller 部分的内容.在过去的几年根据大家在生产环境中应用的反馈,Controller 也积累 ...

  7. Python 2 和Python 3的区别

    print input urlopen print print在版本2的使用方法是: print 'this is version 2' 也可以是 print('this is version 2') ...

  8. FPGA学习系列 各种门器件程序积累

    1. 两输入与(and)门 entity and2gate is Port ( x : in STD_LOGIC; y : in STD_LOGIC; z : out STD_LOGIC);end a ...

  9. 什么是shell? bash和shell有什么关系?

    什么是Shell?      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核.      ...

  10. GIT团队合作探讨之一-保持工作同步的概念和实践

    感谢英文原文作者,这是我看到的关于git协同工作写的最清晰简洁的文章了: https://www.atlassian.com/git/tutorials/syncing/git-push SVN使用一 ...