文章内容概览

虚构互联网络

从上一篇文章最初提到的一个问题来引出虚构互联网络

对这个网络拓扑,上篇文章中提出了一个十分重要的问题:计算机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数据,在一些非凡的场合,也有它的作用

在疾速变动的技术中寻找不变,才是一个技术人的外围竞争力。知行合一,实践联合实际