网络层协议-概览篇

6,419 阅读3分钟

这是 这次一定 要讲的网络层协议

总览:

网络层只干一件事,找对象。但由于众所周知的原因,找对象挺难的,ok, 让我们看看网络层到底如何才能找到对象:

  • IP
  • ICMP
  • IGMP
  • ARP
  • RARP

这期我们主讲 IP

IP

IP协议是网络互联协议(Internet protocol)的简称,是TCP/IP协议簇中两个重要的协议之一,是TCP/IP协议簇的运作核心,如图所示:

zonglan.png

IP的最大成功之处在于它的灵活性,它只要求物理网络提供最基本的功能,即物理网络可以传输包―IP数据报,数据报有合理大小,并且不要求完全可靠地传递。IP提供的不可靠、无连接的数据报传送服务使得各种各样的物理网络只要能够提供[数据报]传输就能够互联,这成为Internet在数年间就风靡全球的主要原因。由于IP在TCP/IP协议中是如此的重要,它成为TCP/IP互联网设计中最基本的部分,有时都称TCP/IP互联网为基于IP技术的网络。

IP是怎样实现网络互联的?各个厂家生产的网络系统和设备,如以太网、分组交换网等,它们相互之间不能互通,不能互通的主要原因是:因为它们所传送数据的基本单元-帧的格式不同。IP协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成IP数据报格式,这种转换是因特网的一个最重要的特点,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。

如果对上文不了解,请猛戳这里

这就是上一篇文章,ip数据包带着tcp包走电线的故事了,那么接下来,我们还需要了解,ip协议到底是如何确定目的地址的。

IP地址

IPv4使用32位长度的地址以标识一台计算机和同它相连的网络。 IPv6使用128位长度的地址以标识一台计算机和同它相连的网络。

IPV4 表示法

  • A类:1.0.0.0~126.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

IPV6 表示法

  • 冒分十六进制表示法 格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如: ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 这种表示法中,每个X的前导0是可以省略的,例如: 2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A

  • 0位压缩表示法

在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:

FF01:0:0:0:0:0:0:1101 → FF01::1101 0:0:0:0:0:0:0:1 → ::1 0:0:0:0:0:0:0:0 → ::

  • 内嵌IPv4地址表示法

为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用

IP的知识就先写到这了,继续深入的话都是一些硬件,软件知识,做物联网,运维的朋友可能用得上,但这个专栏就暂时不讲了。