IP协议
主机:配有IP地址,但是不进行路由控制的设备
路由器:即配有IP地址,有可以进行路由控制
节点:主机和路由器的统称
协议头格式
- 4位版本号:指定IP协议的版本。对于IPv4来说,就是4
- 4位头部长度:IP头部的长度是多少个32bit,也就是length*4的字节数
- 8位服务类型:3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。 4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个
- 16位总长度:IP数据报整体占多少个字节。16位总长度 = 报头 + 有效载荷
- 16位标识:唯一的主机发送的报文。进行标识分片后的片是否在一起
- 3位标志:第一位保留;第二位置1表示禁止分片,置0表示可以分片;第三位表示分片是否结束,置1结束了,值0未结束
- 13为片偏移:分片相对于原始IP报文开始处的偏移。根据片偏移将分片之后的片进行升序排列
- 8位生存时间:该报文经过的最多路由器和主机的个数
- 16位头部检验和:使用CRC进行校验。来鉴别头部是否损坏
- 32位源地址和32位目的地址:表示发送端和接收端
- 选项字段:不定长,最多40字节
网段划分
IP地址分为两个部分:
网络号:保证相互连接的两个网段具有不同的标识
主机号:同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号
不同的子网其实就是把网络号相同的主机放在一起
如果在子网中新增一台主机,则这台主机的网络号和这个子网的网络号一致,但是主机号必须不能和子网中其他的主机重复
通过合理的设置主机号和网络号,就可以保证相互连接的网络中,每台主机的IP地址都不同。但是手动管理子网内的IP是一件很麻烦的事。所以我们利用DHCP技术,自动的给子网内新增主机节点分配IP地址,避免了手动管理IP。故而一般的路由器都带有DHCP功能,同时路由器也可以看成DHCP服务器
1、所有的IP地址分为5类:
2、子网掩码
针对大多数组织都申请B类网络地址,导致B类地址很快就分配完了,而A类地址却浪费了大量地址的情况,提出了CIDR划分方案:
- 引入了一个额外的子网掩码来区分网络号和主机号;
- 子网掩码也是一个32位的正整数。通常用一串“0”来结尾
- 网络号=IP地址&子网掩码
- 网络号和主机号的划分与这个IP地址是A类、B类还是C类无关
子网掩码的表示方式:点分十进制——255.255.255.240
——140.252.20.68/24,表示的IP地址为140.252.20.68,子网掩码的高24位是1,也就是255.255.255.0
3、特殊的IP地址
- IP地址中的主机号全置0,为网络号
- IP地址中的主机号全置1,为广播地址
4、IP地址的数量
由于特殊地址的存在和IP地址不是按照主机台数来配置而是每一个网卡都需要配置一个或多个IP地址,大大降低了IP地址的数量
CIDR在一定程度上缓减了IP地址不足(提高了利用率、减少了浪费),但是IP地址的上限并没有改变。这时候的解决方式有:
- 动态分配Ip地址:只给接入网络的设备分配IP地址
- NAT技术
- IPv6:IPv6并不是IPv4的简单升级版。这是互不相干的两个协议,彼此并不兼容;IPv6用16个字节128位来表示一个人IP地址
5、私有IP地址和公有IP地址
路由
路由的过程是一跳一跳的过程问路过程。所谓的一跳,就是数据链路层中的一个区间,具体在以太网中指从源MAC地址到目的MAC地址之间的帧传输区间。
IP数据包的传输过程和问路一样。当IP数据包到达路由器时,路由器会先查看目的IP,在决定将这个数据包是直接能发送给目标主机,还是需要发送给下一个路由器