IP协议的特性总结

目录

1. 地址管理

1.1 动态分配

1.2 NAT(网络地址转换)机制

1.3 IP地址的组成

1.4 IP地址网络号和主机号的划分

1.4.1 IP地址分类(ABCDE类)

1.4.2 子网掩码

1.5 特殊的IP地址

2. 路径规划

3. IP协议报文格式

3.1 分包

3.2 组包


1. 地址管理

      IP地址在之前跟大家简单介绍了一下:网络基本知识分享_Crystal_bit的博客-CSDN博客

IPv4是传统的IP协议,是4个字节,这个32位整数能表示的地址数为2^32个,是不足以我们全世界的人使用的,所以在IPv4中,我们通过两种方法去解决,分别是动态分配IP地址和NAT机制.IPv6是比IPv4更新的IP协议,是16个字节,有128位去表示IP地址.

注:IPv6从根本上解决(可以表示的地址数是2^128个)了IP地址不够分配的问题.

1.1 动态分配

        动态分配指只有某个设备上网才给它分配对应的ip地址,如果不是上网状态,那么就不给它分配ip,简单来说,就是不多就省着点用.

注:只是缓解ip地址不够用的问题,但是不能根本上解决该问题.

1.2 NAT(网络地址转换)机制

         将所有ip地址分为两大类,分别是内网IP(在不同局域网可以重复)和外网IP(必须唯一).该机制提高ip利用率.

内网ip:10.*  172.16.* ~ 172.31.*  192.168.*,除内网ip之外,其余都是外网ip.而内网设备不能直接被外网设备访问(当然内网设备访问其他内网设备),不然我们的本地数据就会不安全,但是内网设备是可以访问外网设备的.

注:之前博客中我们说过端口号可以拿来区分同一个主机的不同程序,但是它也可以用来区分不同主机的不同程序,比如多个主机将数据发送给同一个路由器时,路由器就会记下是主机哪个程序发送的数据,返回数据的时候也根据记下的端口号返回给该主机的程序.

1.3 IP地址的组成

        主要分为网络号和主机号,网络号用于标识一个局域网,主机号用于标识一个局域网内部的主机.

注:一个路由器有两个在不同的局域网的ip地址,可以用它将两个局域网连起来.

1.4 IP地址网络号和主机号的划分

         一个IP地址的前三个字节不一定就是网络号,网络号和主机号的划分有两种方式:一种是根据IP地址进行分类,这种方式一般出现在教科书或者我们笔试面试中,实际我们使用的是另一种叫子网掩码的方式,并且家用网络的子网掩码一般都是255.255.255.0.

1.4.1 IP地址分类(ABCDE类)

           A类:0 + 7位网络号 + 24位主机号.      B类:10 + 14位网络号 + 16位主机号.

           C类:110 + 21位网络号 + 8位主机号.  D类:1110 + 28位多播组号.

           E类:11110 + 27位(留待后用)

         每个类别的网络号和主机号长度固定.

1.4.2 子网掩码

           子网掩码是一个32位的整数(二进制),左侧有多少个1,那么ip地址的哪些位就是网络号.比如255.255.255.0,一个255以二进制表示就是八个1,也就是一个字节,三个255,就是24个1,一共就是3个字节,所以前三个字节就是网络号,最后一个字节是主机号.

注:左侧都是1,右侧都是0,不会出现1010的混合情况.

1.5 特殊的IP地址

        ● 主机号为0(192.168.0.0)的ip就是网络号,局域网里不应该存在某个主机号为1的主机.

        ● 主机号为全1(192.168..0.255)为广播地址,在不知道目标ip是什么时,靠广播功能去探测.

往广播地址上发送udp数据报,该数据报会被转发给整个局域网的所有主机.

        ● 环回ip(127.*),对应特殊的虚拟网卡,通过虚拟网卡传输数据属于纯内存操作,比普通ip传输数据的速度要更快.

        ● 主机号为1(192.168.0.1) 大部分情况下一般作为"网关ip",并不强制约定.网关是局域网的出入口.

注:Tcp不支持广播.


2. 路径规划

      我们做旅游攻略的时候,我们从源目的前往旅游地的路线肯定不止一条,那路径规划就是给我们指明具体应该走哪一条路. 网络环境下是很复杂的,我们没办法把整个网络环境记录在某一个路由器下,路由器只能记录邻居的信息(通过路由表整个数据结构),转发数据的过程是渐进式的,类似于问路的过程,比如你去到一个陌生的地方,一般会找附近的人问路,附近的人不一定知道你的目的地究竟在哪里(该路由器的路由表中没有目的ip),但是会指引你一条他们认为更接近目的地的路径(相当于路由器的指出的默认路径-->在路由表的"下一跳表项"),会将你指向更上级的路由器(路由表的ip会更多,匹配到目的ip的几率会更大),就这样逐渐问路,然后找到目的ip主机.

注:此外还有诸多细节,比如路由表如何匹配?路由表如何生成?这里还涉及很多复杂的生成算法,我就不进行拓展学习了.


3. IP协议报文格式

IP协议的特性总结_第1张图片

在网络层,IP协议会完成分包和组包的功能(如果承载数据长度超过数据链路层数据帧的最大载荷长度(MTU),就会在IP层分包,使分出来的数据长度都能在MTU之内).

3.1 分包

        一个大的IP数据报拆分成多个小的数据报之后,对应的16位标识这个字段值都是一样的, IP虽然能拆包,但是传输的UDP最大长度也是64k,拆分出来的IP数据报只有一份UDP首部,该首部UDP长度还是只有2个字节.

3.2 组包

        多个小的ip数据报通过自己的13位片偏移来确定它们之间的先后顺序是什么样的,然后用来组包.而3位标志位,1位是不用,有1位表示是否分包了,最后1位表示当前包是否是最后一个子包(结束组包的标记).


总结完毕~撒花~

你可能感兴趣的:(网络,理论总结,tcp/ip,网络,服务器)