目录

一、相关知识点

1、MAC地址与IP地址

2、IP地址结构

二、有类网

三、子网

1、一个有类网可以划分为多个大小相同的子网(subnet)

2、变长子网掩码(VLSM):允许将一个有类网划分为多个不同大小的子网

3、无类域间路由选择协议(Classless Inter-Domain Routing,CIDR)

四、特殊的IP地址

五、私有IP地址

六、网络地址转换

七、非军事化区(DMZ)

八、ARP协议

九、DHCP协议

十、ICMP协议


一、相关知识点

1、MAC地址与IP地址

  • MAC地址是48位,IP地址是32位,都是全局地址。
  • IP地址由ICANN统一负责并逐级分配;
  • 链路层上的传输(节点到节点)是根据要传送的下一个节点的MAC地址决定传送方向,用IP地址指明最终的目的地址(网络层)
  • IP地址属于接口(网卡 NIC)。主机或路由器的每个接口可以配置一个或多个IP地址。

2、IP地址结构

网络号 主机号

网络号也称为网络前缀、网络标识,用来确定拥有该IP地址的主机位于哪个网络,主机号用于确定主机属于该网络的哪一台主机。

二、有类网

  • 分为ABCDE类,可用的ABC类网个数要减2,因为网络号全为0和全为1的不可用;
  • 主机号同时也可以表示可用的主机个数。上图的“每个网络的地址数”即是指主机个数;
  • 点分十进制的表示(dotted decimal):X.X.X.X ,一个X表示一个字节(8位);
  • A类网第一位确定为0(0000 0000),B类网前两位确定为10(1000 0000),C类网前三位确定为110(1100 0000),故A类网的范围为:0-127;B类网的范围为:128-191;C类网的范围为:192-223。可以依此判断某个IP地址属于哪个有类网。
  • IP地址的分配:

    网络类型

    网络号位数(byte)

    主机号位数(byte)

    A

    1

    3

    B

    2

    2

    C

    3

    1

因此若一个有类地址为191.168.1.2,则属于B类网,网络号为191.168.0.0,主机号为0.0.1.2;

因此一个C类网的可用IP地址个数为2^8-2=254个;

三、子网

1、一个有类网可以划分为多个大小相同的子网(subnet)

  • 子网掩码:子网掩码必须结合IP地址一起使用,其只有一个作用:将某个IP地址分为网络地址和主机地址两部分,即是将主机号的前N位作为子网号,剩余位作为主机号。
  • 主机号全为1或者全为0的地址不可用;
  • 子网号全为1或者全为0的子网现在可用;
  • 子网掩码的另一种表示:192.168.3.1/25;表示子网掩码为255.255.255.128(前25位为1)

2、变长子网掩码(VLSM):允许将一个有类网划分为多个不同大小的子网

将一个C类网192.1.2.0划分为6个子网,分别配置2、2、2、2、50、50个接口的IP地址,使得消耗最少的IP地址。

  • 第一个子网:两个接口的地址配为192.1.2.1和192.1.2.2(主机号全0不可用),子网为192.1.2.0/30;
  • 第二个子网:由于第一个子网的主机号占据了IP地址的最后两位,所以第二个子网的网络号从第30位算起,网络号为192.1.2.4/30;
  • 第三个子网:192.1.2.8/30;
  • 第四个子网:192.1.2.12/30;
  • 第五个子网:192.1.2.64/26;
  • 第六个子网:192.1.2.128/26;

3、无类域间路由选择协议(Classless Inter-Domain Routing,CIDR)

允许把多个有类网合并为一个更大的网络,称为超网。一般是合并C类网,可以看作是缩短网络号,扩展主机地址,通过子网掩码来体现

如有类网192.24.8.0-192.24.15.0可以合并为网络号为192.24.8.0,子网掩码为255.255.255.248的超网。

  • CIDR可以显著减少路由表中的路由数量,例如上面的例子就把八个路由减少为一个路由,称为路由聚合
  • 引入CIDR且加上子网掩码后,现在的网络号可能包含了子网、即网络号的边界不确定,故可以看作是没边界的,即称为无类

四、特殊的IP地址

其中(4)和(5)说明了为什么主机地址不能是全0和全1,全0用于表示网络号,全1用于广播

环回地址仅限于本机通讯。

五、私有IP地址

无需IANA分配,任何人都可以使用的IP地址。

  • 除了上图列举的地址,其他地址都是全局地址;
  • 私有地址只能用于内部网络。主干网上的路由器会过滤掉目的地址为私有地址的IP数据报,因此离开内部网络的IP数据报必须使用IANA分配的全局地址作为目的地址。

IP分组和IP地址题目小结:

  • 把IP多播地址224.0.1.5转换为MAC多播地址是:01-00-5E-00-01-05(替换后23位);
  • IP地址192.168.1.255是用于对远程子网的广播;
  • 点分十进制IP地址以127开头的是环回地址;
  • 如果数据部分为IP分组,则以太网类型字段的值是0x0800;
  • 一个C类往可用的IP地址有254个

六、网络地址转换

网络地址转换(Network Address Translation, NAT)是一种把内部地址映射为外部地址的技术(例如将私有地址映射为全局地址)

  • 出口路由器在内网数据报发往外网时自动把内网地址映射为外网地址的方法称为动态NAT。每个动态映射都关联一个TTL,如果在TTL的时间内没有使用该映射则该映射会被出口路由器删除。而直接由管理员添加映射的方法称为静态NAT,不会自动删除。
  • NAPT把端口号也加入到NAT的映射中,也称为PAT或者过载NAT;

七、非军事化区(DMZ)

位于内部网络和外部网络之间,并为双方提供因特网服务的区域。内网主机可以访问内网主机、DMZ和因特网,可以使用内部地址和全局地址访问DMZ的服务器。而外部主机只能通过全局地址访问DMZ的服务器,不能访问内网主机

八、ARP协议

APR(Address Resolution Protocol)协议:地址解析协议,可以把IP地址映射为MAC地址。

  • 源主机发送一个广播帧,询问哪台主机的IP地址是X.X.X.X,对应的主机收到信息后向源主机发送一个带有自己MAC地址的单播帧表示它是源主机要找的主机。
  • ARP协议没有超时重传机制,超时没有收到响应则丢弃用于ARP查询的IP分组;
  • 源主机获得的映射结果(IP地址->MAC地址)会缓存在ARP表中<IP address, MAC address, TTL>,当TTL超时则会删除对应的ARP表项,TTL的取值由系统确定;
  • 当收到ARP请求时目的主机会缓存源主机的映射,其他主机如果已缓存该映射则会重置TTL;
  • ARP协议是链路层上的协议,所以一台主机无法通过ARP协议取得远端主机的MAC地址(即非同一个直连网上的主机);
  • 如果一个帧的数据部分是IP分组,则可以说明该帧是一个ARP包,其协议类型为0x0800(表示IP协议),硬件类型为1(表示以太网);
  • 多播IP地址转MAC地址的规则是替换MAC地址的低23位
  • 利用ARP协议发送一个ARP请求(ARP请求是广播帧),如果有收到ARP响应则说明该IP地址已经被使用,如果没有收到响应则说明该IP地址目前没有被使用。(即该IP地址是否属于当前以太网的某台主机的IP地址)
  • 并非任何物理网络都需要用ARP协议获取MAC地址,比如点对点网络(PPP)则不需要MAC地址就能传输数据(直接将帧从点对点链路所连的接口转发出去)
  • ARP代理:

    一台路由器连接两个子网(以太网): N1-[R1]-N2。如果一台主机从一个子网移到另

    <p><span style="color:#000000;">一个子网,并修改为另一个子网的IP地址,如何增加路由器的功能使这台主机还可以 </span></p><p><span style="color:#000000;">接收到用原IP地址发给它的数据报?</span></p><p>可以利用ARP协议,当其他主机在N1查询该主机(移走的主机)的原IP地址的MAC地址时,<strong>R1要用自己的MAC地址进行响应</strong>,这样的话其他主机就会把IP数据报用帧发给R1,R1再转发给该主机。</p>
    </li>
    

九、DHCP协议

DHCP协议(Dynamic Host Configuration Protocol):用于主机在加入网络时动态租用IP地址。

数据报格式如下:

  • HType硬件类型:以太网为1;
  • HLen硬件地址长度:以太网为6;
  • Xid:表示一次DHCP会话;
  • Ciaddr:客户IP地址(0.0.0.0或要续租的IP地址);
  • Yiaddr:由服务器分配给客户的IP地址;
  • Siaddr:服务器的IP地址;

协议服务过程:

  • DHCP discover:首先,客户端向所有DHCP服务器请求租用一个IP地址;
  • DHCP offer:服务器收到请求后从地址池中选取一个未用的IP地址发送给客户端;
  • DHCP request:客户端从多个响应的服务器中选择一个(附上要租用的IP地址)并告知其他服务器拒绝他们提供的IP地址;
  • DHCP ack:被客户端选择的服务器发回一个响应,正式赋予客户端要租用的IP地址;

十、ICMP协议

ICMP(Internet Control Message Protocol):因特网控制消息协议,用于主机或路由器发布网络级别的控制消息。向源主机发送错误信息以及原数据帧的头部和数据部分的前8个字节。

ping当前网络的广播地址时,将会发送由广播帧封装而成的ICMP消息。

一般格式:

不可达消息的格式:(类型3)

注意区分网络不可达和主机不可达。

回响请求(类型=8)和答复消息(类型=0)

时间超时消息(类型11)

ICMP重定位消息:(类型5)

如果主机A经过R1向R2发送数据包,当R1发送该数据包的转发端口就是其接收端口时,则会发送重定位消息给主机A,让A直接把数据包发给R2;

常见的ICMP响应类型总结:

ICMP数据报类型

ICMP数据报代码

描述

3

0

目的地址为私有地址(网络不可达)

3

1

用目的地址没有查到匹配的路由项(主机不可达)

3

4

需要分段但是设置了DF(分段错误)

11

0

IP数据报的TTL在路由器上减到0

11

1

IP数据报重组超时

12

0

头部检验出错

5

1

对主机重定向

计算机网络:IP地址相关推荐

  1. 计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

    楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等 ...

  2. 计算机网络IP地址的计算方法

    IP地址是计算机网络的基础,每台联网的设备,都需要正确的配置IP地址,否则网络不会畅通. IPv4地址分为两个部分,网络位和主机位,共32位.如何确定网络位是多少?主机位是多少?需要子网掩码来实现.子 ...

  3. 计算机网络ip地址的分类

    IP地址分类需要用好几个知识点才能讲清楚,各位看官且慢. 文章目录 0.预备知识 1.特殊规定 1.1私有地址 1.2 特殊地址 2.宏观上分类 0.预备知识 ip地址用32位表示 ip地址=网络号+ ...

  4. 计算机网络-IP地址的分类

    目录 1 前言 2 分类 2.1 各类 IP 地址的网络号字段和主机号字段 2.2 点分十进制记法 2.3 A类IP地址 2.4 B类IP地址 2.5 C类IP地址 2.6 IP 地址的指派范围 2. ...

  5. 计算机网络——IP地址与MAC地址

    1.1.1 认识IP地址 IP地址用于在TCP/IP通信协议中标记每台计算机的地址,通常使用十进制来表示,但在计算机内部,IP地址是一个32位的二进制数值. IP地址 网络号 表示其所属的网络段编号. ...

  6. 0分配不到地址_前端学习计算机网络——IP地址的划分及其分类

    点击上方"前端印象",选择"设为星标"第一时间关注技术干货! 本文是该系列文章的第二篇,将了解Internet中使用的网络层地址,又称IP地址.每个设备都至少需 ...

  7. 计算机网络ip地址划分方法,ip地址怎么划分 ip地址划分方法【图文】

    IP地址指的是互联网的协议地址,它的全称为IP Address,IP地址是IP协议当中的一种地址格式,互联网上的任意一个网络以及它们的主机使用的逻辑地址都是由IP地址分配的,那么你知道IP地址是怎样进 ...

  8. 如何设置计算机网络ip地址,图文解说如何设置IP地址

    不论是局域网还是广域网,处于同一个网络的计算机,都可以给其设置一个唯一的IP,作为唯一的身份标识! 下面,本文就给您介绍一下,局域网中如何设置一台计算机的IP地址. 首先,在桌面上找到"网上 ...

  9. 计算机网络ip地址在哪,w7的ip地址在哪?小编教你怎么查看

    很多刚开始使用windows7系统的朋友不知道w7的ip地址在哪.w7的ip地址在哪?小编教你怎么查看w7的ip地址.今天小编就带来了两种非常简单查看w7的ip地址的方法供大家学习.w7的ip地址在哪 ...

  10. 计算机网络——IP地址总述

    文章目录 1.IP地址概述 2.IP地址的表示 2.1分类的IP地址 2.2划分子网 2.3构造超网 1.IP地址概述     互联网是一个单一的抽象的网络.IP地址是给互联网上每一台主机的每一个接口 ...

最新文章

  1. 生物技术行业十年回顾:微生物组发展未达预期?
  2. Microbiome:在人工肠道中建立动态线性模型指导设计和分析微生物组研究
  3. Visual studio 2017基本配置
  4. r语言和python-R语言和Python —— 一个
  5. Rxjs 的一些学习笔记
  6. java jsp总结
  7. Notes of the scrum meeting(2013/10/23)
  8. 问题 C: 能被3整除吗?
  9. CTF—攻防练习之HTTP—命令执行漏洞
  10. java 反射覆盖方法_使用 Cobertura 和反射机制提高 Java 单元测试中的代码覆盖率...
  11. 竞赛成绩管理系统用c语言编写,学生成绩管理系统代码(c语言编写).doc
  12. [JNI]开发之旅(7)JNI函数中调用java对象的方法
  13. PM经验谈 项目管理工具必备的5个功能
  14. 计算机组成原理——存储器容量扩展(字扩展、位扩展、字位扩展)
  15. matlab绘制小人奔跑动图,如何做奔跑的小人运动规律-动画初学者入门教程
  16. linux虚拟机对外部sd卡格式化和分区
  17. 【Java编程系列】java用POI、Itext生成并下载PPT、PDF文件
  18. 0716 process finished with exit code 0 解决
  19. Linux详细到爆炸的一篇文章
  20. 亚马逊程序员:我曾拼命逃离996

热门文章

  1. 用c语言编写爱心的代码是什么
  2. Unity 3D学习笔记(5)物体的碰撞/触发检测
  3. ChatGLM-6B论文代码笔记
  4. 转载 | 身份访问与管理(IAM)的定义、应用与提供商
  5. 考勤 日历 ajax,vue实现钉钉的考勤日历
  6. 蒟蒻重返c++,学海拾贝(二)
  7. 手把手教你做时间序列图
  8. 阿里云的云端实践有哪些?
  9. 数据同步工具—DataX—Web部署使用
  10. Thinkphp——hook类行为扩展