48位的MAC地址和32位的IP地址都是全局的(全球分配的),但是IP地址空间是分层的,是可路由的(routable)。
IP地址由ICANN统一负责并逐级分配。亚洲由APNIC负责,中国由ANNIC负责。
IP地址属于接口(网卡)。主机或路由器的每个接口可以配置一个或多个IP地址。
点分十进制(dotted decimal)
一个IP地址可以划分为两个部分:网络号(network numbers)和主机号(host identifier)。
网络号也称为网络前缀(nerwork prefix)、网络标识(network ID)。它是用于确定拥有该IP地址的主机位于哪个网络。
主机号用于确定属于该网络的哪台主机。
问题:
. 下面哪些关于两个IP地址的说法是正确的?
A.如果它们在不同的网络,则它们的网络号必须不同.
B.如果它们在不同的网络,则它们的主机号必须不同.
C.如果它们在相同的网络,则它们的主机号必须相同.
D.如果它们在相同的网络,则它们的网络号必须相同.
E.如果它们在相同的网络,则它们的主机号必须不同.
答案:ADE
问题:
下面的IP地址中A类、B类、C类地址分别有几个?
92.168.1.100
129.32.123.54
223.89.201.145
220.18.255.254
124.254.200.254
191.64.220.8
66.254.1.100
192.1.100.1
202.15.200.12
答案:
A类:第一位确定为0,范围为:0~127,所以:92.168.1.100 124.254.200.254 66.254.1.100三个属于A类网
B类:前两位确定为10,范围为:128~191,所以:129.32.123.54 191.64.220.8两个属于B类网
C类:前三位确定为110,范围为:192~223,所以:223.89.201.145 220.18.255.254 192.1.100.1 202.15.200.12四个属于C类网
问题:有类地址191.168.1.2的网络号和主机号分别是什么?
答:因为为191开头,所以为B类地址,前16位为网络号,后16位为主机号,所以网络号为191.168.0.0,主机号为0.0.1.2
问题;一个C类网可用的IP地址有多少个?
答:根据问题,可知是一个确定的C类网,IP地址为可用主机个数,2^8-2=254个。
子网划分:
一个有类网可以划分为多个相同大小的子网(subnet)。
C类网192.168.1.0划分为四个子网的子网掩码为255.255.255.192,子网号分别为00、 01、 10、 11。
*主机号为全1或全0的地址被保留,不能使用。
*子网号为全0或全1的子网现在都可以使用(以前规定不可使用)。
子网掩码即将主机号的前n位拿出来作子网号,主机号的剩余部分作主机号。
将子网掩码与ip地址作与运算,便可以得到网络地址,将取反后的子网掩码与ip地址作与运算,便可以得到主机地址。
例子:
假设有一个 I P 地址: 192.168.0.1
子网掩码为: 255.255.255.0
化为二进制为: I P 地址 11000000.10101000.00000000.00000001
子网掩码 11111111.11111111.11111111.00000000
将两者做 ' 与 ' 运算得: 11000000.10101000.00000000.00000000
将其化为十进制得: 192.168.0.0
这便是上面 IP 的网络地址,主机地址以此类推。
3)将B类地址的子网掩码255.255.0.0的主机地址前5位置1(B类地址的主机位包括后两个字节,所以这里要把第三个字节的前5位置1),得到 255.255.248.0
注意:划分成子网,是将主机号的前n位设为1,比如要包含3个子网,则将子网掩码的主机那一段前两位设为1,划分包含多少主机就是将主机号的后方空出来,比如划分包含三个主机,则将后两位空出来使用,将掩码的主机部分的前6位设为1。
用长度来表示子网掩码:/26表示255.255.255.192,即前面26位为1.
IP为:200.19.90.128/25
表示前25用来表示子网掩码,也就是11111111 11111111 11111111 10000000变长子网掩码(Variable-Length Subnet Mask,VLSM)允许把一个有类网划分成多个不同大小的子网。
变长子网掩码专用于一些特定情况下,如为了最大限度地节省地址,会在不同的网络中使用不同的掩码长度,即变长子网掩码。
使用无类路由协议能够支持VLSM网络设计,在网络规划中,这是一个优点,因为可以为每条链路分配合适数量的IP地址。在给定的链路上,通过分配最小数量的IP地址,就可以节省IP地址。例如,对于点对点链路,可以使用/30的子网掩码,因为仅需要两个可用的IP地址,而在以太网网段上,/27的子网掩码可以容纳30台主机,如果你正使用有类路由协议,就必须对所有链路使用/27的掩码。在点到点链路上,这将不可避免的浪费28个主机地址。(/27的增量为32,减去网络地址与广播地址,共30个可用的主机地址)
例如:给定一个有类网199.1.12.0,如何把它们划分为四个子网,使它们可以分别容纳 100, 60, 25和20台主机?
解析:为d类地址,第一个包含100台主机,化为二进制是1100100,则子网掩码后七位使用,将最后一段的第一位设为1,即子网掩码为11111111.11111111.11111111.10000000,255.255.255.128,包含25位1,为/25,网络号为199.1.12.0
第二个包含60台主机,网络号在第一个已经包含127台主机后,往后顺延,只能从128开始,所以网络号为199.1.12.128,子网掩码后6位空出,所以子网掩码为255.255.255.192
第三个包含25台主机,网络号在第二个128+64之后为192,所以网络号为199.1.12.192,子网掩码为:255.255.255.224
第四个包含20台主机,网络号为192+32=224,为199.1.12.224,子网掩码为:255.255.255.224
子网1: 199.1.12.0XXXXXXX/25 (100台主机)
子网2: 199.1.12.10XXXXXX/26 (60台主机)
子网3: 199.1.12.110XXXXX/27 (25台主机)
子网4: 199.1.12.111XXXXX/27 (20台主机)
用长度来表示子网掩码: /26表示255.255.255.192
例2:
一个C类网192.1.2.0划分为6个子网,它们分别需要配置2、2、2、2、50、50个接口的IP地址。如果要求消耗最少的IP地址,请采用点分十进制(dotted decimal)格式(a.b.c.d)写出它们的子网号和子网掩码(地址从小到大):
第一个:192.1.2.0 保留后两位主机位,子网掩码为:255.255.255.252
第二个:网络号向后递推三个,因为第一个占用了三个,从第四个开始,为192.1.2.4,子网掩码为255.255.255.252
第三个:网络号为:192.1.2.8,子网掩码为:255.255.255.252
第四个:网络号为:192.1.2.12,子网掩码为:255.255.255.252
第五个:网络号为:192.1.2.64,子网掩码为:255.255.255.192
第五个:网络号为:192.1.2.128,子网掩码为:255.255.255.192
例3:
一个192.168.100.0/24的C类地址段,现在需要划分5个区域的地址段为A B C D E
1) A区域有100台主机,它的网段的网段号和子网掩码是多少
2) B区域有25台主机,它的网段的网段号和子网掩码
3)C区域有20台主机,它的网段的网段号和子网掩码
4) D区域有12台主机设备,它的网段的网段号和子网掩码
5) E区域的路由器接口网络号是192.168.100.248 子网掩码是255.255.255.252 ,路由器2个接口分别是?
1)A:子网号为:192.168.100.0,子网掩码为:255.255.255.128
2)B:子网号为:192.168.100.128,子网掩码为:255.255.255.224
3)C:子网号为:192.168.100.160,子网掩码为:255.255.255.224
4)D:子网号为:192.168.100.192,子网掩码为:255.255.255.240
5)对于E区域,因为子网掩码为255.255.255.252,那么该子网的规模为4,除掉网络号地址还有广播地址,那么只剩下了两个接口地址为192.168.100.249和192.168.100.250。
允许把多个有类网合并为一个更大的网络,称为超网(supernet)。
CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。
例如,把有类网192.24.8.0~192.24.15.0合并为网络号为192.24.8.0、子网掩码为255.255.248.0的超网。
例:如果用8个C类网193.10.24.0~193.10.31.0形成一个超网(supernet),该超网的子网号和子网掩码是什么?
答:子网号为:193.10.24.0,子网掩码为:255.255.248.0
CIDR可以显著减少路由表中路由的数量,上例就把八个路由减少为一个路由,称为路由聚合(route aggregation)。
通过引入CIDR,加上子网掩码,现在的网络号(可能包含子网号)可以看成是没有边界,即是无类的。
CIDR 地址块
子网:IP地址均分为网络位和主机位两段,假设一个网络中的主机为450台,那么分配一个C类地址不够用,分配一个B类地址又显得太浪费,在这种情况下,就提出了子网化的概念,子网的定义就是把主机地址中的一部分主机位借用为网络位。如在一个B类地址172.16/16,可以借用7位做为网络地址,一个形如172.16.2/23的地址段就可以满足该网络的需求。其中172.16/16称为主网,172.16.2/23称为子网。
简单的说凡是借了位就用到了CIDR,
借少了位(网络位为主机位)叫超网,比如:192.168.1.0/22
借多了位(主机位为网络位)叫VLSM(子网),比如:192.168.1.0/28
例:IP地址192.168.1.255是做什么的?
答:对远程子网的广播,因为头为192,所以为c类网,最后8位为255,符合上方条件4,为广播。
问:点分十进制IP地址以127开头的是什么地址?
答:环回地址
私有IP地址就是无需IANA分配、任何人都可以使用的IP地址:
(1) 10.0.0.0 ~ 10.255.255.255
(2) 172.16.0.0 ~ 172.31.255.255
(3) 192.168.0.0 ~ 192.168.255.255
私有地址只能用于内部网络。主干网上的路由器会过滤掉目的地址为私有地址的IP数据报(怪不得我的远程桌面连接地址172.18.159.39只能在校园网内部使用……)。因此。离开内部网络的IP数据报必须使用由IANA分配的全局地址作为目的地址。
例:下面哪些地址为私有地址?
A.10.200.10.1
B.192.1.1.5
C.172.15.1.10
D.172.32.1.1
E.192.168.254.1
F.192.169.1.1
G.172.31.200.254
H.192.168.255.254
答:A,E,G,H
网络地址转换(Network Address Translation,NAT)是一种把内部地址映射为外部地址的技术。例如,把私有地址映射为全局地址。
出口路由器在内网数据报发送外网时自动把内网地址映射为外网地址的方法称为动态NAT。每个动态映射都关联一个TTL。如果TTL时间内没有使用一个映射,该映射将被出口路由器删除。
直接由管理员加入映射的方法称为静态NAT。静态NAT加入的映射不会被自动删除。
例:采用NAT技术,如果从外网发回的IP分组中应该转换的IP地址和端口号是哪个?
A.源IP地址和源端口号
B.目的IP地址和目的端口号
C.源IP地址和目的端口号
D.目的IP地址和源端口号
解析:B,从内网发往外网时,需要将源地址转换成外部地址才能发出去;
从外网发往内网时,需要将目的地址转换成内部地址才能传进来。
NAPT(Network Address Port Translation)把端口号也加入到NAT的映射中,也称为PAT(port address translation)或带有过载NAT(NAT with overload)。
下面的图显示了从私有网络的主机发包给Web服务器的地址转换方法:
位于内部网络和外部网络之间并为双方提供因特网服务的区域。
内网主机可以访问内网主机、DMZ和因特网。内网主机可以使用内部地址或全局地址访问DMZ的服务器。
外部主机只能通过全局地址访问DMZ的服务器,不能访问内网主机。
联系:
网络中带有IP地址的分组到达链路层后,链路层协议会根据IP头中的IP地址来产生MAC地址。
MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(Istitute of Electrical and Electronics Engineers,电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的MAC地址。
将IP地址转换成MAC地址的规则是,替换低23位:
例:把IP多播地址224.0.1.5转换为MAC多播地址是什么?
答:01-00-5E-00-01-05
地址解析协议可以把IP地址映射为MAC地址。
问题:ARP请求包的字段哪些是已知的?
A.source IP address
B.source MAC address
C.source port number
D.dest IP address
E.dest MAC address
F.dest port number
答:ABD,源IP地址,源MAC地址,目的IP地址是已知的。
问题:关于ARP协议,下面哪些说法是正确的?
A.一台主机可以通过ARP协议通过远端IP地址(非直连网)取得其对应的MAC地址。
B.在收到ARP请求后源主机的IP地址和MAC地址的映射会缓存在目的主机中。
C.一个ARP请求可以同时包括多个IP地址。
D.ARP请求会超时重传。
E.任何物理网络都要使用ARP协议获得MAC地址。
F.缓存的IP地址和MAC地址的映射具有生存期
答:BF,源主机获得的映射结果会缓存在ARP表中,缓存与目的主机中;ARP没有超时重传机制,超时没有收到响应,则丢弃会引发ARP查询的IP分组
windows中的ARP表:
逆地址解析协议(Reverse Address Resolution Protocol,RARP):将MAC地址转换成IP地址。
问:用什么办法可以确定一个IP地址在一个以太网中没有(正在)被用?
方法是利用ARP协议发送一个ARP request,查询该IP地址的MAC地址,如果有接收到ARP response,说明该IP地址已经被使用;如果没有接收到ARPresponse即没有响应说明该IP地址没有正在被用
问:ping可以在子网中产生一个广播帧,请给出并解释方法。
Answer:ping本网一个不存在的IP地址,因为ARP映射表中肯定没有,所以会发送ARP请求。ARP请求就是广播帧。或者直接ping对本网的广播,例如:ping192.168.1.255。这个ICMP消息会用广播帧封装。
Explanation:
ping非本网的IP地址,会匹配默认网关,而默认网关的MAC地址可能已缓存。
用于主机在加入网络时动态租用IP地址。
问:在一个以太网中,哪个DHCP数据包可以让该网络中的每个DHCP服务器知道DHCP客户端是否选用了它提供的IP地址?
A.DHCP discover
B.DHCP offer
C.DHCP request
D.DHCP ack
解析;如上图,DHCP request可以告知每个DHCP服务器这个客户端选择的是否是服务器提供的IP地址。
因特网控制消息协议(Internet Control Message Protocol)用于主机或路由器发布网络级别的控制消息。
ICMP消息的一般格式:
ICMP消息的常见类型:
ICMP不可达消息:
代码 | 含义 | 说明 |
0 | 网络不可达 | 目的地址为私有地址,路由表出错等 |
1 | 主机不可达 | 不能找到到目的网络的路由 |
2 | 协议不可达 | 上层协议不存在 |
3 | 端口不可达 | UDP端口号没有绑定进程。 如果是TCP协议,则发送TCP 复位消息而不是本消息 |
4 | 分段错误 | 需要分段但是设置了DF |
5 | 源路由错误 | IP源路由选项出错 |
ICMP回响请求和答复消息(ping):
回响(echo)请求:类型 = 8; 回响答复:类型= 0
• 从回响请求收到的标识符、序号和数据将拷贝到回响答复中。
• 标识符和序号用来区分不同的响应。例如:把进程号记录为标识符,并记录发送序号。
ICMP时间超时消息:
代码为0,说明TTL减为0
代码为1,说明重组IP时段超时
ICMP重定位消息:
Code Description
0 Redirect datagrams for the Network.
1 Redirect datagrams for the Host.
2 Redirect datagrams for the Type of Service and Network.
3 Redirect datagrams for the Type of Service and Host.
A经过R1向R2发送数据包,当 R1发现把一个数据包转发给R2的接口就是其接收接口,则会把从网络重定向消息发给主机A,要主机A直接把发往这些网络的数据报直接发给R2。
问题:
转发IP分组时,在下面哪些情况下,路由器会发送ICMP数据报通知源主机?
A.IP数据报的TTL在路由器上减到0.
B.对IP数据报进行了分段.
C.用目的地址没有查到匹配的路由项.
D.目的地址只匹配了默认路由.
E.头部检验出错.
F.IP分组头部有选项.
答案:ACE,可查上方表。
填写发送的ICMP数据报的类型和代码:
类型 | 代码 | |
A | 11 | 0 |
B | - | - |
C | 3 | 1 |
D | - | - |
E | 12 | 0 |
F | - | - |