Network Layer

网络层作用

  网络层的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做”网络地址”,简称”网址”。
  如果是同一个子网络,就采用”广播”方式发送,否则就采用”路由”方式发送。(”路由”的意思,就是指如何向不同的子网络分发数据包)

  网络层出现以后,每台终端设备就有了两种地址,一种是MAC地址,一种是网络地址,二者之间没有任何联系,MAC地址绑定在网卡之上,网络地址由管理员分配。
  逻辑上看,先处理网络地址,再处理MAC地址

IP协议

  规定网络地址的协议,叫做IP协议。

IPV4

  IPV4的IP地址由32位二进制组成,通常采用点分十进制的方法来书写。
  点分十进制:每八位(二进制)分为一组,转化为十进制,中间用 “ . “ 来间隔。
  IP地址可以分为网络号和主机号,它们可以通过子网掩码来划分
  判断两个IP地址是否在同一个子网络内的方法:只需要将IP地址与子网掩码进行AND运算,如果结果相同,那么两个IP地址就在同一个子网络中。
  IP协议的作用主要有两个:一个是为每一台计算机分配IP地址,另一个就是确定哪些地址在同一个子网络中。

IPV6(待续)

IP数据包

  IP协议发出的数据包就叫IP数据包。IP数据包也分为Head和Payload(也用Data表示)
hd&data
  ”标头”部分主要包括版本、长度、IP地址等信息,”数据”部分则是IP数据包的具体内容。它放进以太网数据包后,以太网数据包就变成了下面这样。
ethernetpacket
  IP数据包的”标头”部分的长度为20到60字节,整个数据包的总长度最大为65,535字节。因此,理论上,一个IP数据包的”数据”部分,最长为65,515字节。前面说过,以太网数据包的”数据”部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割成几个以太网数据包,分开发送了。

ARP协议

  定义: ARP(地址解析协议)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议

  对ARP协议的解释:

  关于”网络层”,还有最后一点需要说明。
  因为IP数据包是放在以太网数据包里发送的,所以我们必须同时知道两个地址,一个是对方的MAC地址,另一个是对方的IP地址。通常情况下,对方的IP地址是已知的(后文会解释),但是我们不知道它的MAC地址。
  所以,我们需要一种机制,能够从IP地址得到MAC地址。
这里又可以分成两种情况。第一种情况,如果两台主机不在同一个子网络,那么事实上没有办法得到对方的MAC地址,只能把数据包传送到两个子网络连接处的”网关”(gateway),让网关去处理。
  第二种情况,如果两台主机在同一个子网络,那么我们可以用ARP协议,得到对方的MAC地址。ARP协议也是发出一个数据包(包含在以太网数据包中),其中包含它所要查询主机的IP地址,在对方的MAC地址这一栏,填的是FF:FF:FF:FF:FF:FF,表示这是一个”广播”地址。它所在子网络的每一台主机,都会收到这个数据包,从中取出IP地址,与自身的IP地址进行比较。如果两者相同,都做出回复,向对方报告自己的MAC地址,否则就丢弃这个包。
  总之,有了ARP协议之后,我们就可以得到同一个子网络内的主机MAC地址,可以把数据包发送到任意一台主机之上了。