『TCP/IP详解——卷一:协议』读书笔记——09
2013-08-22 12:42:26
- 3.4 子网寻址
子网编码:不是把IP地址看成由单纯的网络号和主机号组成,我们把主机号再分成子网号和主机号。这样做是因为,A、B类地址为主机号分配了太多的空间,可分别容纳的主机数为224-2和216-2(由于全0和全1的主机号都是无效的,所以我们把总数减2)。但是这么多主机肯定用不完,所以我们把这个蛋糕再切小一点。这种新的分配方法由管理员来定。

上图是一个B类网络地址,原本16位主机号被分成了8位子网号和8位主机号,于是就有了254个子网和254台主机。但是我们并不要求一定要按字节(8 + 8)来分配,我们可以按位随意分配(但是子网号和主机号都不能少于2位)。
Q:30个C类地址,和包含30个子网的B类地址那个比较好用呢?
A:我们不说那一个好用,各有各的优点。但是相比于30个C类地址,分成子网后的B类地址,肯定会比部分之前损失一些可使用的地址(分网后主机号全0和全1的不能用了)。但子网对外部路由器来说隐蔽了内部网络组织的细节(外网不知到内网是怎么分的,因为外网的数据报是先发给网关gateway,然后网关解析子网地址,发给相应的主机),这对信息安全有一定的意义。其次,子网划分缩减了路由表的规模(在10.8小结,介绍用C类地址也可以所见路由表的技术)。例如,B类地址140.252被分成了若干子网的事实对于所有子网以外Internet路由器都是透明的。为了到达IP地址开始部分为140.252的主机,外部路由器只需要知道通往IP地址140.252.104.1(gateway)的路径。这就是说,对于网络140.252只需一个路由表目,而如果采用30个C类地址,则需要30个路由表目。
(粗线——以太网,虚线——点对点链路)
如上图所示:一份来自Internet的数据报到达gateway,它的目的地值是140.252.57.1。路由器gateway需要知道子网号是57,然后把它送到kpno。同样,kpno必须把数据报送到R55,最后由R55把它送到R57。
- 3.5 子网掩码
Q:主机是怎么知道自己的IP地址的?
A:任何主机在开机的时候都会进行‘指定主机IP地址’的工作,大多数系统把IP地址存在一个磁盘文件里供引导时读用。在第5章中,我们会介绍对于一个没有磁盘保存这种文件的系统是如何在引导时知道自己的IP地址的。
子网掩码:除了IP地址之外,主机还需知道有多少比特用于子网号及多少比特用于主机号。这是在引导过程中通过子网掩码来确定的。子网掩码是一个32bit的值,其中值为1的比特留给网络号和子网号,为0的比特留给主机号。子网掩码经常采用十六进制来表示,特别是当界限不是一个字节时。

给定IP地址和子网掩码后,主机就可以确定IP数据报的目的是:(1)本子网上的主机;(2)本网络中其他子网中的主机;(3)其他网路的主机。如果知道本机的IP地址,那么就知道它是否为A类、B类或C类地址(从IP地址的高位可以得知),也就知道网络号和子网号之间的分界线。而根据子网掩码就可知道子网号与主机号之间的分界线。下图为举例:

- 3.6 特殊情况的IP地址

上图中:0表示全0,-1表示全1,netid、subnetid和hostid分别表示不为全0或全1的对应字段。子网号栏为空表示该地址没有进行子网划分。
我们把表分成3部分:头两项为特殊的源地址、中间项为环回地址、最后四项为广播地址。
源地址:网络号为0,是主机在用BOOTP协议确定本机IP地址过程中的初始地址。
广播地址:12章会讲~
- 3.7 一个子网的例子

这个例子是文中采用的子网,以及如何使用两个不同的子网掩码。本例中,数据报经过140.252.104.1的路由器传进来,到经过140.252.1的子网,进入我们例子中要讨论的140.252.13的子网。但是这个子网中包含两个网络——以太网和SLIP子网,这样的话原来的子网划分就无法区分这两个网络,为了不让主机跨越不同的网络就要使用不同的子网号,我们的解决方法是将子网号从8位扩充为11位,把主机号减为5位。这就叫做变长子网,我们的第二个子网掩码是255.255.255.224。

11位子网号中的前8bit始终是13。在剩下的3bit中,我们用二进制001表示以太网,010表示点对点SLIP链路。这个变长子网掩码在140.252网络中不会给其他主机和路由器带来问题——只要目的是子网140.252.13的所有数据报都传给路由器sun(IP地址是140.252.1.29),如上图所示。如果sun知道子网13中的主机有11bit子网号,那么一切都好办了。请看下表:

我们看到sun和bsdi都有两个IP地址,因为它们既是主机又是路由器,所以各有两个接口。这个表中的最后一行是图3-10中的广播地址140.252.13.63:它根据以太网子网号(140.252.13.32)和图3-11中的低5位置1(16+8+4+2+1=31)得来的,这个地址被称作以子网为目的的广播地址(subnet-directed broadcast address)。
『TCP/IP详解——卷一:协议』读书笔记——09的更多相关文章
- 『TCP/IP详解——卷一:协议』读书笔记——10
2013-08-22 22:57:17 3.8 ifconfig命令 这个命令在Linux系统下可以通过下面的指令阅读说明文档: ifconfig 由于书中作者用的系统比较早的某Unix系统,所以我的 ...
- 『TCP/IP详解——卷一:协议』读书笔记——01
从今日起开始认真研读TCP/IP详解这本经典制作,一是巩固我薄弱的计算机网络知识,二来提高我的假期的时间利用率.将心得与思考记录下来,防止白看-哦耶 2013-08-14 18:47:06 第一章 概 ...
- 『TCP/IP详解——卷一:协议』读书笔记——18
2013-08-27 15:44:52 第7章 Ping程序 7.1 引言 “ping”这个名字来源于声纳定为操作.Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达.该程序发送 ...
- 『TCP/IP详解——卷一:协议』读书笔记——14
2013-08-25 11:32:06 第5章 RARP:逆地址解析协议 5.1 引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站,则需要采用其 ...
- 『TCP/IP详解——卷一:协议』读书笔记——13
2013-08-24 16:03:39 4.6 ARP代理 ARP代理(Proxy ARP):如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求.这样可 ...
- 『TCP/IP详解——卷一:协议』读书笔记——11
2013-08-23 20:00:18 第4章 ARP:地址解析协议 4.1 引言 ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一个TCP/IP协议. ...
- 『TCP/IP详解——卷一:协议』读书笔记——07
2013-08-20 17:51:49 第三章 IP:网际协议 3.1 引言 IP是TCP/IP协议族中最为核心的协议.所有的TCP.UDP.ICMP和IGMP数据都以IP数据报格式传输.再来看一下图 ...
- 『TCP/IP详解——卷一:协议』读书笔记——06
2013-08-20 14:41:01 2.8 最大传输单元MTU MTU,最大传输单元:以太网和802.3对数据帧的长度都有一个限制,其最大值分别是1500和1492字节.这个不同网络对应的传输上限 ...
- 『TCP/IP详解——卷一:协议』读书笔记——05
2013-08-19 22:35:57 2.6 PPP:点对点协议 PPP点对点协议修改了SLIP协议中的所有缺陷: 1. 在串联链路上封装IP数据报的方法.PPP即支持数据为8位&无奇偶检验 ...
- 『TCP/IP详解——卷一:协议』读书笔记——04
2013-08-18 16:31:17 第2章 链路层 2.1 引言 链路层主要有三个目的: 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接受ARP应答 为RARP发送RARP请求和接 ...
随机推荐
- WCF使用小结:(1)WCF接收HTTP POST数据的处理方法
在WCF 4.0中,为我们创建Restful API有了更好的支持.通过定义UriTemplate,WebInvoke就可以快速开发API接口. 这里我记录一下HTTP POST数据时要如何接收POS ...
- BVT & BAT & SVT
1. BVT(Build Verification Test) a. BVT概念 Build Verification test is a set of tests run on every new ...
- eclipse配置javacv0.8
之前配置了一次javacv,但是忘了做笔记,这次又重新查了一遍资料,很多东西模棱两可,浪费了很多时间,这次配置成功,总结如下,希望能帮到大家. 如不明确,可以联系我. javacv下载 https ...
- linux文件上传
租了个服务器,要把自己打的war包打上去发布,服务器是linux的(本机是mac).以前都是用wget命令,把需要上传的东西先放到github上面再在服务器上用wget命令下载.最近不知道什么原因,w ...
- 2016-08-15: C++ traits
#include <stdio.h> template <typename T> struct TraitsHelper { static const bool isPoint ...
- 关于新闻,在线编辑器建表时此字段一定要为text
create table about( content text )engine=myisam default charset=utf8; 项目的各个建表语句 create database day4 ...
- XidianOJ 1076 小W喜欢的数字
题目描述 大家都知道,小W是一名大帅哥,当然比起Light还是有点儿差距的!帅气的小W认为0-9这些数字,只有1,3,5是完美的. 欲问小W为什么,小W总是说"帅哥,是不需要解释的" ...
- VBS中对Error的处理
VBScript语言提供了两个语句和一个对象来处理"运行时错误",如下所示: On Error Resume Next语句 On Error Goto 0语句 Err对象 简单介绍 ...
- asp.net前台绑定时间格式时,定义时间格式
<%#Eval("news_time","{0:yyyy-MM-dd}") %><%#((DateTime)Eval("news_t ...
- CSS 概念 Block Inline Containing block
Block 元素 包括 "block-level box," "block container box," and "block box" ...