文章内容概览
虚构互联网络
从上一篇文章最初提到的一个问题来引出 虚构互联网络
对这个网络拓扑,上篇文章中提出了一个十分重要的问题:计算机 A 如何跨设施传输数据到计算机 C?
其实能够把这个小的网络拓扑放大
在这个大型网络拓扑中,计算机 A 如何将数据传输给计算机 B,这个的性质和上边那个简略的网络拓扑的性质是一样的。这个网络其实有很多的 门路 能够把计算机 A 的数据传输给计算机 B,比方:
计算机 A 的数据先通过 中型网络 、 大型网络 、 中型网络 、 小型网络 ,而后达到 计算机 B 。除了上图的这条门路以外,还能够画出别的很多门路。通过这张网络拓扑能够晓得,A 的传输门路有很多条。其实这些网络门路,对于使用者,是不须要关怀的,也就是说咱们不关怀网络是怎么连贯的,也不关怀数据包是怎么走的,这个是由网络层所解决的。网络层提出了一个十分重要的概念,虚构互联网络
虚构互联网络
- 理论的计算机网络是盘根错节的
- 不同的物理设施通过应用 IP 协定,就屏蔽了物理网络之间的差别
- 当网络中的主机应用 IP 协定相连接时,则无需关注网络细节,只需关怀 端到端的连贯
也就是说,上边提到的简单的网络拓扑,其实咱们不必关怀。只须要把两头的局部看做 虚构的互联网络 即可。如下图,计算机 A 通过网络连接到一个 虚构的互联网络 中,计算机 B 也连贯到了这个虚构的互联网络中。那么计算机 A 只须要将数据发送到虚构的互联网络中,这个虚构的互联网络就能够解决 数据传输 的问题,并且将其精确的传输到计算机 B。这个就是 虚构互联网络 的概念
IP 协定
- 对于网络层,IP 协定 是其中一个十分重要的协定
- IP 协定使得简单的理论网络变为一个 虚构互联的网络(也就是咱们只须要将终端设备连贯到这个网络中去即可,并不需要关怀里边理论的简单网络)
- IP 协定使得网络层能够 屏蔽底层细节 而专一网络层的 数据转发 (如果单从网络层去看,咱们是不必关怀 数据包 是通过海底电缆还是通过无线 WiFi 传输到目标计算机的)
- IP 协定 解决了在虚构网络中数据报传输门路的问题
在上一篇的概述篇中提到了 MAC 地址,它是每一个网络设备或网卡的 身份证 ,在数据链路层,只有领有了这个 MAC 地址,就能够进行 数据帧 的传输了。MAC 地址是 48 位,应用十六进制来示意。咱们能够将 MAC 地址开展成二进制的格局
在 网络层 ,同样也有一个地址的概念,这个地址称之为IP 地址。IP 地址总共有 32 位,个别用 点分十进制 示意。也能够开展成二进制的格局
IP 地址对于网络层来说,和 MAC 地址对于数据链路层来说,性能是相似的。这里的 IP 地址是每一个网络设备惟一的一个身份,也就是对于 网络层 来说,每一个网络设备,它都有一个 惟一的IP 地址,通过这个 IP 地址就能够标识惟一的一个设施
MAC 地址和 IP 地址不同之处
对于 MAC 地址,它是 惟一的 ,并且是 不可扭转的 。因为网卡从一个中央挪到另外一个中央,这个 MAC 地址是不变的。然而IP 地址 不同,如果咱们的笔记本在家连贯 WiFi 的时候是 IP 地址 A,当咱们把笔记本电脑拿到公司或咖啡馆,这个 IP 地址将会发生变化,因而,IP 地址对于网络设备来说,它是可变的。也就是说,如果网络设备的网络环境变了,IP 地址就会跟着变动
IP 地址
- IP 地址长度为32 位,常分成 4 个 8 位
- IP 地址常应用 点分十进制 来示意(0~255.0~255.0~255.0~255,通过计算能够晓得,最多能够示意 2 的 32 次方个 IP 地址,大略 42 亿)
IP 协定
在理解 IP 协定 之前,先看一下 IP 协定所处的一个地位。在物理层,它传输的是 0、1 这样的 比特流 ;在数据链路层,传输的是 数据帧 ,数据帧包含帧首部、帧尾部和“帧”数据,“帧”数据次要就是 IP 数据报。当初对 IP 数据报进行具体的分析,它将会分成IP 首部 和IP 数据报的数据 两个局部
要学习 IP 协定,IP 协定的 首部 是十分重要的内容,后边也会重点介绍 IP 首部的信息。下边是 IP 首部的具体格局
从上图能够看出,IP 首部中蕴含了十分多的信息,包含 版本 、 协定 、IP 地址 等。上边的每一行都是 32 个比特位,也就是 4 个字节,前边五行是必须存在的内容 ,第六行是可有可无的,第七行是 IP 数据。因而对 IP 首部来说, 至多会有 20 个字节的长度
IP 首部中每一部分的含意
- 版本:占 4 位,指的是 IP 协定的版本,通信单方的版本必须统一,以后支流版本是 4,即 IPv4,也有 IPv6
- 首部长度 :占 4 位,最大数值为 15,示意的是 IP 首部的长度,单位是“32 位字”(4 个字节),也就是IP 首部 最大长度为 60 字节
- 服务类型:这个个别是不须要关怀的
- 总长度 :占 16 位,最大数值为 65535,示意的是IP 数据报总长度(IP 首部 +IP 数据)(在前边介绍数据链路层的时候,也提到过一个长度。对于数据链路层的长度,称之为MTU,个别为 1500 字节。而 IP 数据报的最大长度有 65535 个字节,比 MTU 要大。如果真正传输的时候,如果呈现这种状况,数据链路层会对 IP 数据报进行 分片,也就是将一个较长的 IP 数据报拆分成多个数据帧来进行传输)
- 标识:协定外部所应用的,无需关怀
- 标记:标记 IP 报文是否能够进行分片
- 片偏移 :前边有提到,如果 IP 数据报的长度过长,会进行 IP 报文的分片,把一个 IP 报文拆分成多个数据帧进行数据链路层的传输。因而,如果拆分的话,就须要应用 片偏移 来记录以后的数据帧,保留的 第几个偏移的 IP 数据
- TTL:占 8 位,表明 IP 数据报文在网络中的 寿命 ,每通过一个设施(不论是路由器还是计算机),TTL 减一,当 TTL= 0 时,网络设备必须 抛弃 该报文(它解决的就是,当网络报文找不到起点的时候,防止网络报文在网络中有限的传输,以耗费带宽)
- 协定 :占 8 位,表明 IP 数据所携带的具体数据是什么 协定 的(如 TCP、UDP 等,一些协定对应的值,可参考下图)
- 校验和:占 16 位,校验 IP 首部是否有出错(接管方接管到 IP 首部之后也会进行校验,如果有错,则间接抛弃)
- 源 IP 地址 : 发送IP 数据报的网络设备的 IP 地址
- 目标 IP 地址 :IP 数据报要 达到 的目标网络设备的 IP 地址
一些协定所对应的值
这些协定的数据,应用 IP 协定进行传输的时候,都会 把 IP 首部中的协定赋不同的值。能够看到里边也有 IP 协定对应的值,也就是说,对于 IP 协定来说,IP 协定的数据还能够持续封装 IP 数据,也就是 IP 数据中的 IP 数据,在一些非凡的场合,也有它的作用
在疾速变动的技术中寻找不变,才是一个技术人的外围竞争力。知行合一,实践联合实际