目录
IP 协议(Internet Protocol),又称之为网际协议,IP 协议处于IP 层工作,它是整个TCP/IP 协议栈的核心协议,上层协议都要依赖IP 协议提供的服务,IP 协议负责将数据报从源主机发送到目标主机,通过IP 地址作为唯一识别码,简单来说,不同主机之间的IP地址是不一样的,在发送数据报的过程中,IP 协议还可能对数据报进行分片处理,同时在接收数据报的时候还可能需要对分片的数据报进行重装等等。
IP 协议是一种无连接的不可靠数据报交付协议,协议本身不提供任何的错误检查与恢复机制。
1. IP地址
1.1 IP地址概述
为了标识互联网中的每台主机的身份,设计人员为每个接入网络中的主机都分配一个IP 地址(Internet Protocol Address),是一个32 位的整数地址,只有合法的IP 地址才能接入互联网中并且与其他主机进行通信,IP 地址是软件地址,不是硬件地址,硬件MAC 地址是存储在网卡中的,应用于本地网络中寻找目标主机。而IP 地址能让一个网络中的主机能够与另一个网络中的主机进行通信,无需理会这些主机之间的MAC地址。
简述一下主机与路由器连入网络的通信的方法:一台主机通常只有一条链路连接到网络,一般只有一个网卡;当主机中想发送一个数据报时,它就在该链路上发送,一个网卡对应一个MAC 地址与IP 地址,当然,主机也可能有多个网卡,这样子主机就有多个MAC 地址与IP 地址。
每个IP 地址长度为32 比特(4 字节),因此总共有 个可能的IP 地址,大约有40亿个IP 地址能被使用的。这些地址一般按所谓点分十进制记法(dotted-decimal notation)书写,即地址中的每个字节用它的十进制形式书写,各字节间以点分隔开。例如, IP 地址为192.168.0.122,192 是该地址第一个8 比特的十进制等价数,168 是该地址第二个8 比特的十进制等价数,依次类推。
1.2 IP地址编址
每个主机的IP 地址的一部分都由其所在的子网决定的,所以又出现了IP 地址分类编址的概念,网络的类型决定了IP 地址将如何划分成网络部分和节点部分,在分类编址中,设计者把所有的IP 地址划分为5 大类,分别为A、B、C、D、E 五类,每一类地址都觉定了其中IP 地址的一部分组成。
- A类地址
(1)A类地址第1字节为网络地址,其它3个字节为主机地址。它的第1个字节的第一位固定为0.
(2)A类地址网络号范围:0.0.0.0---127.0.0.0 地址范围0.0.0.0到127.255.255.255
(3)A类地址中的私有地址和保留地址:
① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
范围(10.0.0.0---10.255.255.255)
② 127.X.X.X是保留地址,用做循环测试用的。
- B类地址
(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。它的第1个字节的前两位固定为10.
(2) B类地址网络号范围:128.0.0.0---191.255.0.0。地址范围128.0.0.0到191.255.255.255。
(3) B类地址的私有地址和保留地址
① 172.16.0.0---172.31.255.255是私有地址
② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
191.255.255.255是广播地址,不能分配
- C类地址
(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个字节为主机地址。另外第1个字节的前三位固定为110。
(2)C类地址网络号范围:192.0.0.0---223.255.255.0。地址范围 192.0.0.0到223.255.255.255
(3) C类地址中的私有地址:
192.168.X.X是私有地址。(192.168.0.0---192.168.255.255)
- D类地址
(1) D类地址不分网络地址和主机地址,它的第1个字节的前四位固定为1110。
(2) D类地址范围:224.0.0.0---239.255.255.255
- E类地址
(1) E类地址不分网络地址和主机地址,它的第1个字节的前五位固定为11110。
(2) E类地址范围:240.0.0.0---255.255.255.254
IP地址如果只使用ABCDE类来划分,会造成大量的浪费:一个有500台主机的网络,无法使用C类地址。但如果使用一个B类地址,6万多个主机地址只有500个被使用,造成IP地址的大量浪费。因此,IP地址还支持VLSM技术,可以在ABC类网络的基础上,进一步划分子网。
1.3 特殊IP地址
一些特殊用途的地址,这些地址是不允许分配给任何一个网络的主机使用的。
1.3.1 受限广播地址
广播通信是一对所有的通信方式,受限广播地址用于定义整个互联网,如果设备想使IP 数据报被整个网络所接收,就发送这个目的地址全为1 的广播包,但这样会给整个互联网带来灾难性的负担,所以在任何情况下,路由器都会禁止转发目的地址为255.255.255.255 的广播数据包,因此这样的数据包仅会出现在本地网络中(局域网),255.255.255.255 这个地址指本网段内的所有主机, 相当于“房子里面的人都听着”通知所有主机。
1.3.2 直接广播地址
直接广播地址是主机号全为1 而得到的地址,广播地址代表本网络内的所有主机,使用该地址可以向网络内的所有主机发送数据,比如一个IP 地址是192.168.0.181,这是C 类地址,所以它的主机号只有一个字节,那么对主机号全取1 得到一个广播地址192.168.0.255,向这个地址发送数据就能让同一网络下的所有主机接收到。
A、B、C 三类地址的广播地址结构如下:
- A 类地址的广播地址为:XXX.255.255.255(XXX 为A 类地址的第一个字节取值范围)。
- B 类地址的广播地址为:XXX. XXX.255.255(XXX 为B 类地址的前两个字节取值范围)。
- C 类地址的广播地址为:XXX. XXX. XXX.255(XXX 为C 类地址的前三个字节取值范围)。
注意:这个地址在IP 数据报中只能作为目的地址。另外,直接广播地址使一个网段中可分配给设备的地址数减少了1 个。
1.3.3 多播地址
多播地址用在一对多的通信中,即一个发送者,多个接收者,不论接受者员数量的多少,发送者只发送一次数据包。多播地址属于分类编址中的D 类地址, D 类地址只能用作目的地址,而不能作为主机中的源地址。
1.3.4 环回地址
127 网段的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如在电脑中使用ping 命令去ping 127.1.1.1 就可以测试本地TCP/IP 协议是否正常。用通俗的话表示,就是“我自己”,不能以127 网段中的IP 地址作为主机地址,因此A 类地址又少了一个可用网络号。
1.3.5 本网络本主机
IP 地址32bit 全为0 的地址(0.0.0.0)表示的是本网络本主机,这个IP 地址在IP 数据报中只能用作源IP 地址,这发生在当设备启动时但又不知道自己的IP 地址情况下。在使用DHCP 分配IP 地址的网络环境中,这样的地址是很常见的,主机为了获得一个可用的IP 地址,就给DHCP 服务器发送IP 数据报,并用这样的地址(0.0.0.0)作为源地址,目的地址为255.255.255.255(因为主机这时还不知道DHCP 服务器的IP 地址),然后DHCP服务器就会知道这个主机暂时没有IP 地址,那么就会分配一个IP 给这个主机。
2. 局域网与广域网的概念
2.1 局域网
局域网(Local Area Network,缩写为LAN),又称内网,指覆盖局部区域(如办公室或楼层)的计算机网络,局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能,是在一定区域内由多个计算机连接组成的网络,比如腾讯、阿里的内网,在内部的计算机上的数据可以互联互通、数据共享等。简单来说,当我们使用的开发板接入路由器的时候,电脑的网络也接入路由器,那么开发板与电脑就组成局域网,数据在链路层上是互联互通的。当然,板子也能通过网线直连电脑,这样子也是组成一个局域网络,数据可以在两个主机之间进行通信。
2.2 广域网
广域网(Wide Area Network,缩写为 WAN),又称广域网、外网、公网。是连接不同地区计算机以进行通信的网络,这种网络通常会跨越很大的范围,覆盖的范围从几十公里到几千公里,它能连接多个地区、城市并能提供远距离通信服务,但是注意的是我们说的广域网并不等同于互联网。
互联网就是由无数个局域网,通过广域网线路汇聚互联起来,就形成了互联网。互联网的特点是开放、互联,如果一个公司的局域网没有连接到互联网,那这个局域网就不属于互联网,仅仅属于内部通信的网络。
示意图虽然简单,却把LAN、WAN、Internet 三者全包含了。无线路由器把电脑、手机等设备连接到局域网LAN 上,并分配IP 地址,即局域网IP,我们可以称之为LAN-IP,LAN-IP 所到之处,就是局域网的范围,像我们电脑的IP 地址(192.168.0.xxx)就是一个局域网IP&#x