「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「专栏简介」:此文章已录入专栏《计算机网络零基础快速入门》
本章重点
- 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类(1~126) | 1.0.0.1 ~ 127.255.255.254 | 255.0.0.0 | 共有126个网络,每个网络有1600万台主机,适合大规模的网络。 |
B类(128~191) | 128.0.0.1 ~ 191.255.255.254 | 255.255.0.0 | 共有16384个网络,每个网络有6万台主机,适合中等规模的网络。 |
C类(192~223) | 192.0.0.1 ~ 233.255.255.254 | 255.255.255.0 | 共有209万个网络,每个网络有254台主机,适合小型网络。 |
D类(224~239) | 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 | 路由表的默认路由,表示整个网络,即网络内的所有主机,而非某一个主机,不可用。 |
网络号全0 | 0.x.x.x | 本网内某个特定主机 |
主机号全0 | x.0.0.0 | 网络地址,表示整个网络 |
全1地址 | 255.255.255.255 | 子网的广播地址,路由器不转发 |
主机号全1 | x.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数据报从源主机到目的主机传输期间必须保持不变。文章来源:https://www.toymoban.com/news/detail-784232.html
12)目的地址(32位):目标主机IP地址,该字段在IPv4数据报从源主机到目的主机传输期间同样必须保持不变。文章来源地址https://www.toymoban.com/news/detail-784232.html
到了这里,关于IP协议 (通俗易懂),IP协议的主要功能及实现原理,IP地址分类,IP数据包分片,IP数据报格式。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!