当前位置: 首页 > 后端技术 > PHP

计算机网络基础(二)---网络层详解-IP协议

时间:2023-03-29 18:55:12 PHP

文章内容概述虚拟互联网从上一篇文章末尾提到的一个问题,虚拟互联网来源于上一篇文章末尾提到的一个问题上一篇文章。对于这个网络拓扑,在之前的文章中提出了一个很重要的问题:电脑A是如何跨设备向电脑C传输数据的?事实上,这个小网络拓扑可以在这个大网络拓扑中放大。计算机A向计算机B传输数据的方式与上面的简单网络拓扑相同。事实上,这个网络中有很多路径可以将计算机A的数据传输到计算机B。比如计算机A的数据首先经过一个中型网络,一个大型网络,一个中型网络,然后一个小网络,然后到达计算机B。除了上图中这条路径,还可以画出很多其他的路径。从这个网络拓扑我们可以知道A有很多传输路径,其实用户不需要关心这些网络路径,也就是说我们不关心网络是怎么连接的,也不关心A是怎么连接的。数据包走。这是由网络层解决的。网络层提出了一个很重要的概念,virtualInternetvirtualInternetnetwork实际的计算机网络错综复杂,不同的物理设备使用IP协议来屏蔽物理网络之间的差异当网络中的主机使用IP协议进行通信时连接,你不需要关注网络的细节,你只需要关心端到端的连接。换句话说,我们不需要关心上面提到的复杂的网络拓扑。只需将中间部分视为虚拟互联网即可。如下图所示,电脑A通过网络连接到一个虚拟互联网,电脑B也连接到这个虚拟互联网。那么电脑A只需要将数据发送到虚拟互联网,这个虚拟互联网就可以解决数据传输的问题,准确的传输到电脑B。这就是虚拟互联网络的概念IP协议对于网络层来说,IP协议是非常重要的协议之一IP协议使得复杂的实际网络变成了一个虚拟的互联网络(即我们只需要将终端设备连接到这个网络上即可)去,不需要关心里面实际复杂的网络)IP协议使得网络层屏蔽了底层的细节,专注于网络层的数据转发(如果只看网络层,我们不不需要关心数据包是通过海底电缆还是通过无线WiFi传输到目的计算机的IP协议,解决了虚拟网络中数据报传输路径的问题,在上一篇文章的概述中,MAC地址是提到了,它是每个网络设备或者网卡的ID卡,在数据链路层,只要有这个MAC地址,就可以传输数据帧,MAC地址是48b其,以十六进制表示。我们可以将MAC地址扩展成二进制格式。在网络层,也有地址的概念,称为IP地址。IP地址共有32位,一般用点分十进制表示。它还可以扩展为二进制格式。IP地址类似于网络层,MAC地址类似于数据链路层。这里的IP地址是每个网络设备的唯一标识,即对于网络层来说,每个网络设备都有一个唯一的IP地址,通过IP地址可以识别出设备唯一的MAC地址和MAC地址。IP地址和MAC地址的区别在于它是唯一的,不能更改。因为网卡从一个地方搬到了另一个地方,所以MAC地址没有变。但是IP地址不同。如果我们的笔记本在家里连上了WiFi,就是IP地址A,当我们把笔记本电脑带到公司或者咖啡厅时,这个IP地址就会发生变化。因此,IP地址因网络设备而异。是可变的。也就是说,如果网络设备的网络环境发生变化,IP地址也会随之变化。IP地址的长度为32位,通常分为4个8位的IP地址。255.0~255,通过计算可知最多可以表示IP地址的2的32次方,约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数据报的总长度(IPheader+IPdata)(在介绍数据链路层的时候,也提到了传递一个长度。数据链路层的长度称为MTU,一般为1500字节。一个IP数据报的最大长度为65535字节,大于MTU,如果实际传输,如果出现这种情况,数据链路层会对IP数据报进行分片,即将一个长的IP数据报拆分成多个数据帧进行传输)Identification:Usedinternallyby协议,无需关心label:labelIP报文是否可以fragmentedandoffset:如前所述,如果IP数据报的长度过长,则会对IP报文进行分片,将一个IP报文拆分成多个数据帧进行数据链接。路层传输。所以,如果是拆分的话,需要用分片偏移量来记录当前数据帧,偏移量保存的IP数据TTL:8位,表示IP数据报文在网络中的生命周期,每一个设备(不管是路由器还是电脑),TTL减一。当TTL=0时,网络设备必须丢弃该报文(解决了当网络报文找不到终点时,防止网络报文在网络中丢失的问题。无限传输消耗带宽)协议:8位,表示IP数据携带的具体数据是什么协议(如TCP、UDP等,部分协议对应的值请参考下图)Checksum:16位,检查是否有IP报头错误(接收方收到IP报头后也会进行校验,如果有错误则直接丢弃)SourceIPaddress:发送IP数据报的网络设备的IP地址DestinationIPaddress:IP的数据报到达的目标网络设备的IP地址。一些协议对应的值。这些协议的数据在使用IP协议传输时,IP头中的协议会被赋予不同的值。可以看出IP协议也有对应的值,也就是说对于IP协议来说,IP协议的数据可以继续封装IP数据,也就是IP数据中的IP数据.在一些特殊的场合,也有其技术人的核心竞争力,就是在瞬息万变的技术中找到相同点。知行合一,理论与实践相结合