「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》
本章重点
- IP协议的作用是什么?
- IP地址分类有哪些?
- IP数据包为什么分片?怎么分片?
IP协议
IP是一种
「不可靠」的
「端到端」的数据包
「传输服务」,主要实现两个功能:数据传输 和 数据分片。
一、IP地址
IP协议根据「IP地址」将数据传输到指定的目标主机,就像你寄快递的时候需要提供一个收货地址一样。
IP地址是全世界唯一的 32 位「二进制」数,通常用4位点分十进制来表示。
在 cmd 中执行 ipconfig 命令,查看本机的IP地址:
为了便于寻址以及层次化构造网络,每个IP地址分为「网络号码」和「主机号码」两个部分,同一个物理网络上的所有主机都使用同一个网络号码。
1)IP地址分类
IP地址分为A、B、C、D、E五类。
A类地址第一段是网络号码,剩下三段是主机号码;
B类地址前两段是网络号码,剩下两段是主机号码;
C类地址前三段是网络号码,最后一段是主机号码;
类别IP范围子网掩码描述A类(1126)1.0.0.1 ~ 127.255.255.254255.0.0.0共有126个网络,每个网络有1600万台主机,适合大规模的网络。B类(128191)128.0.0.1 ~ 191.255.255.254255.255.0.0共有16384个网络,每个网络有6万台主机,适合中等规模的网络。C类(192223)192.0.0.1 ~ 233.255.255.254255.255.255.0共有209万个网络,每个网络有254台主机,适合小型网络。D类(224239)224.0.0.0 ~ 239.255.255.255组播地址E类(240~255)240.0.0.0 ~ 255.255.255.254保留地址
2)私有IP地址
A、B、C类地址中,分为公有IP和私有IP。
公有IP就是「可以注册」购买的IP;
私有IP就是「无法注册」的,用于内部使用的私有地址,私有地址如下:
A类 10.0.0.0–10.255.255.255,1个
B类 172.16.0.0–172.31.255.255,16个
C类 192.168.0.0–192.168.255.255,255个
A、B、C类地址范围中,私有IP外的地址都是公有地址(特殊地址除外)。
3)特殊IP地址
部分地址拥有特殊的含义,比如下面这些:
类型地址格式描述全0地址0.0.0.0路由表的默认路由,表示整个网络,即网络内的所有主机,而非某一个主机,不可用。网络号全00.x.x.x本网内某个特定主机主机号全0x.0.0.0网络地址,表示整个网络全1地址255.255.255.255子网的广播地址,路由器不转发主机号全1x.255.255.255广播地址,对当前网络所有主机进行广播环回地址127.0.0.1 ~ 127.255.255.254代表本机IP,可用于测试网络连通性
IP地址是数据传输功能的基础,有了IP地址,我们就能知道数据要发送到什么地方。
二、数据分片
IP协议负责将网络层的IP数据报(IP分组)传输到链路层,由链路层将数据封装成帧。
帧最多只能封装 1500 字节(默认)的数据,当超过上限时,就需要分割数据,放到多个数据帧中传输,到达目标主机后,再将数据重组起来。
分割和重组的操作在路由器中完成,发送方发送的信息经过路由器时,路由器会将数据「分割」,放到不同的数据帧中,并在帧首部的字段(MF)标明数据的顺序;
当数据传输到目的路由器后,再根据帧首部的字段将信息「重组」,发送给目标主机。
三、IP数据报
IP协议从网络层传输到数据链路层的数据叫做IP数据报;
IP数据报分为首部和数据两个部分:
首部分由固定部分(20字节)和可变部分组成,首部格式如下:
1)版本(4位):IP协议版本,目标主机按照此版本解释数据,如果目标主机使用的是其他版本,则丢弃数据报。
2)首部长度(4位):数据报协议头长度,最小值为5,最大值为15。
3)服务(8位):用于分配优先级、延迟、吞吐量以及可靠性;前3位是优先级,后面4位成为服务类型,最后1位没有定义。
4)总长度(16位):IP数据报的字节长度(协议头部和数据),其最大值为65535字节。
5)标识(16位):一个整数,数据报分段时,用于识别当前数据报。
6)标记(3位):由3位字段构成,最低位(MF)控制分段,存在下一个分段置为1,否则置0代表该分段是最后一个分段;中间位(DF)指出数据报是否可进行分段,如果为1则机器不能将该数据报进行分段;第三位即最高位保留不使用,值为0。
7)分段偏移(13位):指出数据在源数据报中的相对位置,用于重组源数据。
8)生存时间(8位):一种计数器,在丢弃数据报的每个点值依次减1直至减少为0。这样确保数据报拥有有限的环路过程(即TTL),限制了数据报的寿命。
9)协议(8位):指明上层接收数据报的协议。
10)头部校验和(16位):该字段帮助确保IP协议头的完整性。由于某些协议头字段的改变,这就需要对每个点重新计算和检验。计算过程是先将校验和字段置为0,然后将整个头部每16位划分为一部分,将个部分相加,再将计算结果取反码,插入到校验和字段中。
11)源地址(32位):源主机IP地址,该字段在IPv4数据报从源主机到目的主机传输期间必须保持不变。
12)目的地址(32位):目标主机IP地址,该字段在IPv4数据报从源主机到目的主机传输期间同样必须保持不变。
版权归原作者 士别三日wyx 所有, 如有侵权,请联系我们删除。