Classless Interdomain Routing (CIDR)
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)的更多相关文章
- Netmask, 子网与 CIDR (Classless Interdomain Routing)
Netmask, 子网与 CIDR (Classless Interdomain Routing) 我们前面谈到 IP 是有等级的,而设定在一般计算机系统上面的则是 Class A, B, C.现在我 ...
- [转]CIDR简介
IP Subnetting and Variable Length Subnet Masks Subnetting Basics 子网划分(subnetting)的优点: 1.减少网络流量 2.提高网 ...
- IP协议
因特网协议(Internet Protocol, IP)是Internet的核心协议之一, 工作在网络层.IP协议提供节点间的寻址,路由以及顺序控制, 流量控制等服务. IP协议分为IPv4和IPv6 ...
- (转) IPv6相关RFC
转自http://blog.csdn.net/lucien_cc/article/details/12688477 IPv6 Spec RFC 2460 : Internet Protocol, Ve ...
- IPv6 tutorial 4 IPv6 address syntax
https://4sysops.com/archives/ipv6-tutorial-part-4-ipv6-address-syntax/ Now that you know about the n ...
- 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 ...
- wireshark filter manualpage
NAME wireshark-filter - Wireshark filter syntax and reference SYNOPSIS wireshark [other options] [ - ...
- 【计算机网络】 一个小白的网络层学习笔记:总结下IP,NAT和DHCP
前言:这篇文章是学习网络层协议时候总结的笔记,前面的主要部分介绍的都是IP协议, 后半部分介绍NAT协议和DHCP协议 参考书籍 <计算机网络-自顶向下> 作者 James F ...
- OSPF(Open Shortest Path First)
1.概述 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,所以所有厂商都可以用. OSPF的流量使用IP协议号. O ...
随机推荐
- [错误记录_C] 还未给指针变量正确赋值的情况下,就使用它的值
错误的代码: 错误的结果: 错误原因分析: 在使用(1) 将pB,pC的值赋给pA的lchild和rchild时: 还未给指针变量pB和pC赋值,现在pB和pC中存的是个垃圾值 Note: (2)- ...
- RN记录
react-native run-android 出现 java.lang.nullpointerexception(no error message) 错误 删除 工程目录\android.grad ...
- Linux基础之命令练习Day3-文件管理:cat,tar,gzip,vim,ln
一. 文件合并 cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [ ...
- 《Visual C++ 2010入门教程》系列五:合理组织项目、使用外部工具让工作更有效
原文:http://www.cnblogs.com/Mrt-02/archive/2011/07/24/2115631.html 这一章跟大家分享一些与c++项目管理.VAX.SVN.VS快捷键等方面 ...
- listview cacheColorHint,listSelector属性
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用的依 ...
- Jenkins 修改主目录正解 workspace
方法一: 停止Jenkins服务 net stop Jenkins 找到Jenkins安装目录,Config.config文件,找到WorkSpaceDir配置,修改为目标地址,保存. 启用Jenki ...
- 第四次作业-第一次scrum冲刺
团队成员 周斌 舒 溢 许嘉荣 唐 浩 黄欣欣 1.第一次冲刺任务安排 对Github上的HUSTOJ开源项目进行Fork,搭建基本环境 2.用户需求 ①基本功能显示在首页 ②能够提交题目并判题,并对 ...
- Python学习系列----第四章 函数
4.1 函数定义 函数是python中重要的工具.函数用关键字 def 来定义.def 关键字后跟一个函数的标识符名称,然后跟一对圆括号.圆括号之中可以包括一些变量名,该行以冒号结尾.接下来是一块 ...
- Php 性能参数优化 及 Iptables 防火墙限制用户访问平率
Php-Fpm.Conf 文件配置优化 [global] pid = run/php-fpm.pid process_control_timeout=5 [www] listen.allowed_cl ...
- 初看Mybatis 源码 (三) SQL是怎么执行的
前面说到Java动态代理,Mybatis通过这种方式实现了我们通过getMapper方式得到的Dao接口,可以直接通过接口的没有实现的方法来执行sql. AuthUserDao mapper = se ...