网络层主要负责端与端的传输(数据从发送端传输到接收端)
IP协议
数据从A端跨网络经过路径选择,传到B端
协议头格式:
4位版本号:指IP协议的版本 IPV4(32bit,占4字节)、IPV6(128bit,占16字节,)
IPV4与IPV6是不相干的两个协议,彼此不兼容,IPV6还没有普及
4位头部长度:IP头部的长度是多少个32bit(length4的字节数:20/4=5个长度) 附:4bit最大数字是15,所以头部最大长度是154=60字节
16位总长度(将报头和有效载荷分离):IP数据报整体占多少个字节
16位标识(id):唯一的标识主机发送的报文(如果IP报文在数据链路层被分片了,那么每一片里面的id都相同)
3个标志位:第一位保留;第二位为0表示禁止分片,第三位是更多分片,分片则最后以为置0,其它置1
13位分片偏移:分片相对于原始IP报文的偏移位置,偏移数=偏移位置*8(除最后一个报文外)
8位生存时间(TTL):到达目的IP的最大报文跳数(一般为64,每经一个路由,TTL-=1,减到0 没到达就丢弃),目的是防止出现路由循环
8位协议:表示上层协议的类型(指有效载荷应该给谁)
IP地址、MAC地址、端口号的概念
IP地址:标识公网上唯一一台主机的地址
MAC地址:标识数据从A主机发送到B主机途中经过的结点
端口号:标识特定主机上的唯一一个网络服务进程
IP地址+端口号:标识网络上某一个主机的某一个端口
源端口号、目的端口号:比如数据是m发的,要发给n,m是源端口号,n是目的端口号
源IP地址、目的IP地址:比如数据从A主机到B主机,A主机的地址就是源IP地址,B主机的地址就是目的IP地址
源MAC地址、目的MAC地址:比如我要从A点到B点,中间会经过b、c、d点,b、c、d就是MAC地址,从b到c,b是源MAC地址,c是目的MAC地址,从c到d,c源MAC地址,d是目的MAC地址
IP地址详解
标识公网上唯一一台主机的地址
1.组成
IP地址由网络号和主机号组成(保证IP地址唯一的)
网络号保证连接的两个网段具有不同的标识
主机号是在同一网段内,主机之间有相同网络号,但主机号必须不同
从上图可以看出:
- 不同子网就是把网络号相同的主机放一起
- 如果子网中新增一台主机,那这个主机的网络号与该子网的网络号相同,主机号必须不同
- 我们不用手动管理子网内的IP,DHCP技术可以自动给子网内新增主机节点分配IP地址(一般路由器都带DHCP功能)
2.划分网段
之前的划分: 把IP地址分为5类
A类:0.0.0.0~127.255.255.255 子网掩码 255.0.0.0
B类:128.0.0.0~191.255.255.255 子网掩码 255.255.0.0
C类:192.0.0.0~223.255.255.255子网掩码 255.255.255.0
D类:224.0.0.0~239.255.255.255子网掩码 255.255.255.255
E类:240.0.0.0~247.255.255.255
新的划分方案CIDR:引入子网掩码来区分IP地址(网络号和主机号)
子网掩码也是32位正整数,通常用一串“0“结尾
IP地址(网络号和主机号)的划分与这个IP地址是A类、B类还是C类无关
特殊的IP地址
将IP地址中的主机地址全设为0,就成了网络号,代表这个局域网
全设为1,就成了广播地址,用于给同一链路中相互连接的所有主机发送数据包
3.IP地址、子网掩码、网络号的计算
例如:IP地址与子网掩码表示为:140.252.20.68/28,则:
-
提示:以下运算是十进制与二进制之间的转化
-
IP地址为:140.252.20.68
-
子网掩码的高28位是1,即255.255.255.240(28属于网络标识,从头数到第几位为止)
-
网络号=IP地址&子网掩码=140.252.20.64
把子网掩码中为0的位,对应到IP地址中设置为0就可以了,在这个例子中,子网掩码中高28位是1,则低6位是0,所以把对应的IP地址低6位设置位0就是网络号
-
广播号=网络地址 | ~子网掩码=140.252.20.80
把子网掩码对应的IP地址低6位设置为1就是广播号
子网地址范围=网络地址~广播地址=140.252.20.64 ~ 140.252.20.79
4.IP地址的数量限制
CIDR虽然比之前的划分高效,但IP地址仍然不够用,解决方式有三种:
- 动态分配IP地址
只给接入网络的设备分IP地址,所以,同一个MAC地址的设备,每次接入互联网种,得到的IP不一定相同 - NAT技术
能够将私有IP对外通信时转为全局IP,这是将私有IP与全局IP相互转化的技术方法。像学校,内部采用每个中断设置私有IP,而在路由或必要的服务器上设置全局IP。全局IP要求唯一,但私有IP不需要,不同局域网种出现兄台的私有IP是完全不影响的 - IPV6