1. IP协议
Internet Protocol,TCP/IP网络体系中的网际互联协议。唯一标识了互联网中的一台设备,相当于“身份号码”。互联网中的一台网络设备可以拥有多个IP地址,但一个IP地址只能对应一台网络设备,IP地址具有唯一性。
⭐ IP 协议提供无连接的、不可靠的、尽力的数据报传递服务:
(1)无连接的传递:
发送端可在任意时刻发送数据,而接收端不知道何时接收到来自哪里的数据。每个IP数据报独立处理和传输。一台主机发出的数据报序列,可能会走不同的路径, 甚至会出现丢失。
(2)不可靠的传递
IP 协议本身不保证 IP 数据报投递的结果。 在传输的过程中,IP 数据报可能会丢失、重复、延迟和乱序等, IP 协议不对内容作任何检测,也不将这些结果通知收发双方。
IP 数据报的丢失,通过路由器发ICMP报文 告知,必要时,由高层实体(如 TCP)负责差错恢复动作。
(3)尽力投递服务
每个数据链路上会规定一个最大传输单元 MTU,如果 IP 数据报的长度超过 MTU,那么网络层就会把这些报文分割成一个一个的小组(分组)。(分组传输)
2. IP地址
2.1 IP地址构成
IP 数据报中含有收/发方的 IP 地址。
IP地址由4部分数字组成,每部分是8位的二进制数字,所以共有32位(bit),4 个字节。每个IP地址又划分为网络地址和主机地址:{<网络地址/网络号><主机地址/主机号>},前者表示属于互联网哪一个网络,后者表示属于该网络中的哪一个主机。
注:
(1)IPV4为32位,4字节,而IPV6地址占128bit,16字节。
(2)IP 地址并不是根据主机台数来配置的,而是根据网卡(网络适配器)来的。
MAC 地址(链路层地址)也是根据网卡来配置的,一台主机拥有多少个网卡就有多少个 MAC 地址。为什么还需要IP地址?
网络层指定:哪个源IP地址发送到哪个目标IP地址,这两个 地址在传输过程中是不会变化的。
数据链路层则是根据 MAC 地址在一个接一个的区间中进行传输的,而源MAC地址和目的MAC地址是变化的,要经过多个中间节点。
网络层在其中也做了 路由控制,即要走哪条链路。
2.2 IP地址的划分(IPV4)
五大类,一般使用最多比较常见是A类、B类和C类。如下图所示:
网络地址和主机地址全0为本地地址(0.0.0.0),表示本地网络或主机;网络地址和主机地址为全1为广播地址(255.255.255.255)是当前子网的广播地址,表示所有网站都可接收发出的信息,通常这两种IP地址不能作为互联网中的主机IP地址。因此没类IP地址都要去除这两个地址。
2.2.1 A类地址
0和127是保留地址,A类地址的范围其实是1~126。
以64.32.16.8为例,64表示网络号,后面3段表示主机号。网络地址的最高位必须是0,可用A类网络有126个,所以A类IP地址的网络地址数:126(2^7-2)个,可容纳主机2^24-2(16777214)台。
2.2.2 B类地址
范围从128~191,如176.168.128.1,第一、二段为网络号,剩下的两段(16位)为主机号,即第一个可用 网络号 128.1。网络地址最高位必须是10,可用的B类网络地址:16382(2^14-2)个,可容纳主机2^16-2 (65534)台。
2.2.3 C类地址
范围从192~223,如192.168.1.1,前三段为网络号,最后一段为本地主机号。网络地址最高位为110,C类网络地址达2^21-2(2097150)个,可容纳主机 2^8-2 (254)台。
2.2.4 D类地址
范围从224~239,D类IP地址以1110开始,是一个专门保留的地址,它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它表示共享同一协议的一组计算机。
2.2.5 E类地址
范围从240~254,以11110开始,为将来使用保留。
2.3 IP广播/单播
广播
主机号全为 1, 指定某个网络下的所有主机,用于广播。
广播地址用于在同一个链路中相互连接的主机之间发送数据包,即一个发送方对应多个接收方。接收方根据实际情况决定是接收还是丢弃。
- 在本网络内广播的叫做本地广播。
- 在不同网络之间的广播叫做直接广播。
IP 单播
一个发送方和一个接收方。单播是可以穿透路由器的,也即路由器会对数据包其进行转发:
IP 多播
上面D类地址说到D类地址用于IP 多播,首位是 1110认为是多播地址,而剩下的 28 位可以称为多播的组编号。
多播(组播)
将包发送给特定组内所有主机,(可以穿透路由器),即一个发送方,特定的多个接收方。
小结:IP地址类型
(1)网络地址:标识一个网络,主机地址全0,如192.168.10.0/24,标识了一个网络,其中的IP地址有192.168.10.1、192.168.10.2、...、192.168.10.254。网络地址不能分配给主机。
(2)广播地址:向网络中所有节点发送数据的特殊地址。主机部分全为1。192.168.10.255/24即为192.168.10.0/24网络的广播地址。
(3)节点地址:可分配给网络中的设备地址。例如192.168.10.1/24至192.168.1.254/24。
2.4 子网划分
上述的IP地址表示方式称为两级IP地址。但是这样的划分方式导致每一类网络地址 划分不够均衡,导致对IP地址空间的利用率会偏低造成资源浪费,因此出现了子网划分。
子网划分就是将原来的两级IP地址进一步划分为三级IP地址,即:{<网络地址/网络号>,<子网地址/子网号>,<主机地址/主机号>}。即将主机地址划分为子网号和子网内的主机号。
子网主机号不能全 0 或全 1。
需要注意的是:某单位划分子网后,对外仍表现为一个网络,即本单位外的网络看不见本单位内的子网划分。
例如网络地址
145.13.0.0
划分成 3 个子网:145.13.3.0
、145.13.7.0
、145.13.21.0。
- 网络地址就是只指定了网络号,未指定主机号,主机号全 0。
- 子网地址就是指定网络号和子网号,主机号为0,不指定。
子网掩码 subnet mask:作用是将某个 IP 地址划分成网络地址和主机地址两部分。
由连续的0和1组成(0 或 1 必须连续)。二级 IP 地址中的网络号和三级 IP 地址中的网络号 + 子网号对应到子网掩码中都用 1 来表示,而主机号对应到子网掩码中用 0 来表示。
A、B、C 类的子网掩码如下:
将 IP 地址与子网掩码做按位 AND(与)运算(只有两个都为 1,结果才为 1,否则为 0),得出的就是网络地址:
子网划分:假设对C类地址 192.168.1.0
(二级 IP 地址),使用子网掩码 255.255.255.192
对其进行子网划分:
子网掩码 255.255.255.192 中共有 26 个 1,即代表网络号 + 子网号共 26 位,需要从 8 位主机号中借用 2 位作为子网号。所以子网地址4个:00、01、10、11。
以网络地址 192.168.1.0
(C 类二级 IP 地址),子网掩码 255.255.255.192
为例,可以写成:192.168.1.0/26
,表示网络号 + 子网号共 26 位。
3. 路由控制
① 路由控制 Routing 是指将 IP 数据报发送给最终目标地址的功能。
为了将数据包发送给目标主机,所有主机和路由器都维护着一张路由控制表(Routing Table),该表记录着如下两个字段:
- IP 地址
- 如果想要到达这个 IP 地址,在当前路由器,数据包的下一步应该是发送到哪个路由器
在发送 IP 数据报时,首先要确定 IP 数据报首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 数据报转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择相同位数最多的网络地址,也就是最长匹配。
默认路由 Default Route 就是指路由表中任何一个地址都能与之匹配的记录。如果一张路由表中包含所有的网络和子网信息,将会造成无端的浪费。这时,默认路由就是一个不错的选择。默认路由一般标记为 0.0.0.0/0
或 default。
环回地址:
localhost
和127.0.0.1。
环回地址是同一台计算机上的程序之间在进行网络通信时所使用的一个默认地址。当计算机使用这个特殊的 IP 地址或主机名时,数据包就不会流向网络。
② 路由协议
路由控制表的形成有两种方式:
- 一种是管理员手动设置,也叫静态路由控制
- 另一种是路由器与其他路由器相互交换信息时自动刷新,也叫动态路由控制
为了让动态路由即时刷新路由控制表,在网络上互联的路由器之间必须设置好某种协议,保证正常读取路由控制信息。这种协议就称为路由协议。
根据路由控制的范围将路由协议大致分为两类:
- 外部网关协议 EGP(包含 RIP、OSPF 等协议)
- 内部网关协议 IGP(包含 BGP 等协议)
没有 EGP 就不可能有世界上各个不同组织机构之间的通信,没有 IGP 就不可能有机构内部的通信。