目录
网络层的作用
为了实现终端节点之间的通信(将数据传输给对端的处理 / 在网络与网络互联的环境中,将数据从发送端主机发送到接收端主机)
简单来说就是:在复杂的网络环境中确定⼀个合适的路径,实现数据包的路由和转发
网络层与它上下层之间的关系
1、网络层与传输层之间的关系:
在TCP/IP中,网络层与传输层相互协作以确保数据包能够传输到世界各地,实现可靠传输。
2、网络层与数据链路层之间的关系:
都是基于目标地址(IP/MAC)将数据发送给接收端的。但是网络层负责将整个数据发送给最终目标地址,而数据链路层只负责发送一个分段内的数据。数据链路是在互连同一种数据链路的节点之间进行包传递,而网络层可以跨越不同的数据链路,即使在不同的数据链路上也能实现两端节点之间的数据包传输。
IP地址
一、概念
IP地址用来识别TCP/IP网络中互连的主机和路由器。
IP地址分为两个部分:网络标识 + 主机标识 ---->保证唯一性。
- 网络标识:保证数据链路中相互连接的两个网段具有不同的标识。
- 主机标识:同⼀网段内, 相连的主机之间具有相同的网络标识, 但是必须有不同的主机标识。
举个例子:IP包被转发到途中的某个路由器中时,正是利用目标IP地址的网络标识进行路由。
二、分类
通过合理设置主机标识和网络标识, 就可以保证在相互连接的网络中, 每台主机的IP地址都不相同。
过去曾经提出⼀种划分网络标识和主机标识的⽅案, 把所有IP地址分为五类:
- A类: 0.0.0.0到127.255.255.255
- B类: 128.0.0.0到191.255.255.255
- C类: 192.0.0.0到223.255.255.255
- D类: 224.0.0.0到239.255.255.255
- E类: 240.0.0.0到247.255.255.255
但是随着Internet的飞速发展,这种划分方案的局限性很快显现出来:⼤多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类却浪费了⼤量地址。针对这种情况提出了新的划分方案, 称为CIDR(Classless Interdomain Routing):
- 引入⼀个额外的子网掩码(subnet mask)来区分网络标识和主机标识;
- 子网掩码也是⼀个32位的正整数,通常用⼀串 "0" 来结尾;
- 将IP地址和子网掩码进行 "&(按位与)" 操作, 得到的结果就是网络标识;
- 网络标识和主机标识的划分与这个IP地址是A类、B类还是C类无关;
举个例子:
由此可见,IP地址与子网掩码做与运算可以得到网络标识,主机号从全0到全1就是子网的地址范围。
IP地址和子网掩码还有⼀种更简洁的表示方法,例如:140.252.20.68/24,表示IP地址为140.252.20.68,,子网掩码的高24位是1,也就是255.255.255.0。
子网掩码:
- 是⼀个32位的正整数. 通常用⼀串 "0" 来结尾;
- 将IP地址和子网掩码进行 "按位与" 操作, 得到的结果就是网络标识;
特殊的IP地址:
- 将IP地址中的主机地址全部设为0, 就成为了网络标识, 代表这个局域网;
- 将IP地址中的主机地址全部设为1, 就成为了干播地址, 用于给同⼀个链路中相互连接的所有主机发送数据包;
- 127.*的IP地址用于本机环回(loop back)测试,通常是127.0.0.1