网络基础-网络层:IP协议解析

IP协议报头

这里写图片描述

  • 4位版本号:指定IP协议的版本,对于ipv4来说,就是4
  • 4位头部长度:IP头部的长度是多少个字节,最大长度是60字节
  • 8位服务类型:3位优先权字段(已弃用),4位TOS字段,和一位保留字段。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本,四个相互冲突,只能选择其一。
  • 16位总长度:IP数据报整体占多少个字节
  • 16位标识:唯一的标识主机发送的报文,如果IP数据报在数据链路层被分片了,那么每一个片里面的这个id都是相同的。
  • 3位标志字段:第一位保留。第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文,第三位表示“更多分片”,如果分片的话,最后一个分片置为1,其他是0,类似于一个结束标记。
  • 13位分片偏移:是分片相对于原始IP报文的开始处的偏移。
  • 8位生存时间:数据报到达目的地的最大报文跳数。一般是64,每次经过一个路由,TTL-=1,一直减到0还没到达,那么就丢弃了,这个字段主要用来防止出现路由循环。
  • 8位协议:表示上层协议的类型。
  • 16位头部检验和:使用CRC进行校验,来鉴别头部是否损坏。
  • 32位源地址和32位目标地址:表示发送端和接收端。

网络层

网络层之间的通信被称作“点对点通信”
网络层是可以跨越不同的数据链路,即使是在不同的数据链路上也能实现网端节点之间的数据包传输
IP的主要作用就是在复杂的网络环境中就将数据包发给最终的目标地址

网络层与数据链路层的关系

数据链路提供在两个设备之间的通信功能。网络层则负责在没有直连的两个网络之间进行通信传输。那么有为什么非要分这么两个层次呢?
以旅行为例子:
假设我要去一个很远的地方旅行,并且没有直达的交通工具,我需要换乘不同的交通工具才能到达。所以我去报了个旅行社。旅行社为我制定好了一个详细的计划,包括什么时间乘坐火车,什么时间乘坐飞机,非常清楚。
不难发现,每一张票不管是火车票还是飞机票,只在特定区间内有效,只能够在某一限定区间内移动。这个区间就好像是数据链路。而我一开始从哪里出发要到达的目的地是哪里,这就如同网络层,行程表的作用就好像是网络层。
再仔细思考一下,如果只有行程表没有车票显然无法到达目的地,如果只有行程表没有车票,恐怕也很难到达目的地。所以只有两者皆备,才能保证到达目的地。
计算机网络中也需要数据链路和网络层才能实现向最终目标地址的通信。

主机与节点

主机:配置有IP地址,但不进行路由控制的设备
路由器:既配有IP地址又具有路由控制能力。
节点:主机和路由器的统称。

IP基础知识

IP地址
IP地址用于在“连接到网络中的所有主机中识别出进行通信的目标地址”
所有主机或路由器都必须设定自己的IP地址。
不论一台主机与那种数据链路连接,其IP地址的形式保持不变。以太网,局域网,PPP等,都不会改变IP地址的形式。
路由控制
路由控制是指将分组数据发送到最终目标地址的功能。即使网络非常复杂,也可以通过路由控制确定目的地址的通路。一旦路由控制出现异常,数据包就会迷失方向,无法到达目标地址。
多跳路由
多跳路由是指路由器或主机再转发IP数据包时,只指定下一个路由器或主机,而不是将最终目标地址为止的所有通路全部指定出来。每一个区间再转发IP数据包时会分别指定下一跳的操作,直至包到达最终目的地址。
IP面向无连接
IP面向无连接,再发包之前,不需要建立与对端目标地址之间的连接

上层如果遇到需要转发的数据,该数据会立即被压缩成IP包发送出去。

IP地址

IP地址定义

IP地址由32位整数组成,计算机识别的是二进制,而人们习惯于十进制,所以通常通常将32位的IP地址分成4组,每组之间以” . “隔开,再将每组数转换为十进制。
这里写图片描述

网段划分

IP地址由网络和主机两部分标识组成.
网络号:保证相互连接的两个网段具有不同的标识号
主机号:同一网段内,主机之间具有相同的网络号,但必须有不同的主机号
这里写图片描述

子网:不同的子网其实就是把网络号相同的主机放到一起。
如果在子网中新增一台主机,则这台主机的网络号一定不能和子网中的其他主机的主机号相同。

IP地址的分类


曾经,IP地址分为五个类别:分别为A类,B类,C类,D类,E类。
这里写图片描述

  • A类:0.0.0.0 ~ 127.255.255.255
  • B类:128.0.0.0 ~ 191.255.255.255
  • C类:192.0.0.0 ~ 223.255.255.255
  • D类:224.0.0.0 ~ 239.255.255.255
  • E类:240.0.0.0 ~ 247.255.255.255

然而,这种划分方案的局限性很明显,大多数都申请的是B类地址,就会导致B类地址很快就分配完了,而A类却浪费了大量地址。

因此引入了一个新的划分方案,CIDR
引入一个子网掩码的概念来区分网络好和主机号,子网掩码本身也是一个32的正整数。子网掩码对应IP地址的网络号全为1,主机号全为0。
将IP地址与子网掩码进行按位与操作,得到的结果就是网络号。
主机号从全0到全1就是地址范围。
下面是两个划分子网的例子:

特殊的IP地址

局域网:将IP地址中的主机号全部设位0,就表示网络好,表示局域网。
广播地址:将IP地址中的主机号全部设为1,就表示广播地址。
本地环回:127.*用于本地环回测试,通常是127.0.0.1

IP地址的数量限制

IP地址是一个4字节32位的正整数,那么一共有2的32次方个IP地址,大概是43亿左右,难道这就意味着一共只有43亿台主机能接入网络吗?
实际上,由于一些特殊的IP地址存在,数量远不足43亿。
虽然CIDR在一定程度上缓解了IP地址不管用的问题。但是IP地址的上限并没有增多。仍然不是很够用。这时候有三种方式来解决:

  • 动态分配IP地址,只给接入网络的设备分配IP地址,因此同一个MAC地址的设备,每次接入互联网中,得到的IP地址不一定是相同的。
  • NAT技术
  • IPv6:ipv6并不是IPv4的升级版,而是两个互不相关的协议,彼此互不兼容。

私有IP与公有IP

随着互联网的发展,针对IP地址明显越来越不够用的情况,提出了一种新的解决方案,不要求为每一台主机或路由器分配一个固定的IP地址,而是在必要的时候只为相应数量的设备分配一个唯一的IP地址。

私有IP地址的范围:

  • 10.0.0.0 ~ 10.255.255.255
  • 172.16.0.0 ~ 172.31.255.255
  • 192.168.0.0 ~ 192.168.255.255

除此范围之外,全部都是共有IP。
全局IP地址基本上要在整个互联网范围内保持唯一。但私有地址不需要,只要在同一个域内保持唯一即可,在不同的域里出现相同的IP地址不会影响使用。

猜你喜欢

转载自blog.csdn.net/mxrrr_sunshine/article/details/80332976
今日推荐