网际协议IP与其配套协议

来源:互联网 发布:云服务器绑定域名 编辑:程序博客网 时间:2024/04/29 19:55

网际协议IP与其配套协议

@(计算机网络)

IP协议是TCP/IP协议簇中最重要的两大协议之一。与其配套的协议有:

  • 地址解析协议–ARP
  • 逆地址解析–RARP
  • 网际控制报文协议–ICMP
  • 网际组管理协议–IGMP

其中ARP和RARP支撑IP协议运行,ICMP和IGMP的运行需要IP的支撑。

四种不同的中间设备

  • 物理层:转发器(repeater)
  • 数据链路层:网桥/桥接器(bridger)
  • 网络层:路由器(router)
  • 网络层以上:网关(gateway)

注:用网关连接两个不兼容的系统时需要再高层进行协议的转换

在数据链路层和物理层使用中间设备,仅仅是把一个网络扩大了,网路层看来,还是一个网络。称不上网络互连。

此外,网关由于比较复杂,现在是用的较少。

这么一看,网路互连的任务只能交给路由器了。

而路由器是一台专用计算机,用于实现网际互联。这是个重任,我们能畅游网络,路由器功不可没。(这里的网际互联的路由器,不是我们手边的那个小路由器)。

这是真实的情况,但是,历史往往有些奇怪,比如几何分布不是几何等等。名字和真实的事情并不是完全对应,但我们往往习惯于从名字推导含义。

由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关。–《计算机网路 5th》

也就是在TCP/IP体系里,也就是目前最大的互联网因特网中,网际互联是在网络层实现的。在逻辑上形成了一个虚拟互联网络,真实连接仍然是异构的物理互联。

在网络层统一使用IP协议进行通信。

互联网可由多种异构网络互联而成。

分类IP地址

IP地址就是给因特网上的每一个主机或路由器的每一个接口分配一个全世界唯一的32位标识符。
使得我们可以在因特网上方便寻址。

IP编址的的三个阶段:

  • 分类IP地址:最基本的编址法
  • 子网划分:对分类IP地址的改进
  • 构成超网:较新的无分类编址法

分类IP地址就是把IP地址分为若干固定类,每一类由:

  • 网络号:标识主机或路由器所连接的网络,网络号在因特网范围内是唯一的
  • 主机号:网络号指明的前提下,标识主机或路由器,唯一

两次唯一,保证了IP地址:网络号+地址号在整个因特网范围内是唯一的

A、B、C类地址都是单播地址。D类是多播地址。但是在A、B、C类地址内部,主机全1表示的是对此网络内的主机进行广播。

  • A类:(0…)8b + 24b –约占全部IP地址的50%
  • B类:(10…)16b+16b –约占全部IP地址的25%
  • C类:(110…)24b+8b –约占全部IP地址的12.5%
  • D类:1110+28b多播地址
  • E类:(1111)+保留未用

现在广泛采用的是CIDR,无分类编址,用的是超网,分类编址已经是过去式了。当然我国正在积极倡导推行IPv6,要在新的网络秩序重建下掌握更多话语权又是另外的事情了。

三类地址取值细节###:

A类网络号只有1个字节,也即8b,且第一个bit固定为0,则实际只有7bits可用。但是可以指派的网络号是272=126个.
减掉的2:

  • 全0:表示本网络(this)
  • 全1:01111111:保留作为环回测试地址。比如用Flask这样的网络框架,在本地测试运行时,是127.0.0.1:5000这样的套接字。用于本地进程之间的通信。过程是:主机发送目的地址是环回地址的IP数据报,本主机上的协议栈就处理数据报中的数据,不把数据发送到网络。

即:可用的网络号是1~126

注:10.x.x.x是保留的私有地址

看完网络号,自然再来关注主机号。

A类地址主机号占3个字节,最大主机数为2242.

减2的原因:

  • 全0的主机号表示该IP地址是该主机所在的单个网络地址,强调单个是因为主机可以连接到多个网络。流出一个全0的主机号状态标识网络号,可以在后面的网关地址概念处用到。
  • 全1的主机号:该网络上的所有主机

到这里需要强调一下,粗略计算一下,A类地址有(272)(2242)231个。整个IP地址共有:232个。实际上因为前面的固定标记,以及保留的E类地址,总数还不到232个。而A类地址直接妥妥地占到了一半。总共就126个可用的A类IP地址,一个地址就可以自由分配2242个主机地址,是非常方便的。像B类,C类,一个机构稍微大一点,就不得不申请多个才能完成全部的主机互联。这其实是非常不公平的事情。毫无疑问,A类地址几乎都在北美,这也是为什么我们需要加快推进IPv6的一个侧面原因吧。IPv4不够用当然是主要的。网络空间的公平也是追求的目标。

B类地址:网络号2B固定是从10开始,那么就不存在全0全1的网络号了。但是要减1,减1的原因是:

  • 128.0.0.0不分配。

即:网络号从128.1~191.255

注:去掉私有地址:172.16.x.x~172.31.x.x

主机号一样是减2,全0全1不分配。

C类地址:3B的网络号前面的三位从110开始。那么有21位可以用。但是仍然有一个虽然不是全0全1,不分配的是:192.0.0.0.

其实B、C类网络号去1,A类去2可以这么记忆。B、C类可分配的比特中,全0也不用。因为环回地址有A类的就够了,所以只减1.
这没有任何逻辑,纯粹助记而已。

IP地址是逻辑地址,是用软件实现的。

物理地址是数据链路层和物理层使用的地址,是硬件地址。

硬件地址固化在网卡上的ROM中,硬件地址又称之为MAC地址。

发送数据从高往下,封装到数据链路层的帧时,数据链路层看不到IP地址,在每段链路之间的跨越都是通过MAC地址进行的。

既然数据链路层看不到IP地址也就意味着源IP地址和目的IP地址在转发过程中不会改变,而可被数据链路层看到的MAC地址,在每一段跳跃时都要改变。值得注意的是用私有地址的NAT路由器,要有一次穿上公网(因特网)可识别的IP地址。又一次变化。如果对方主机也连接在NAT路由器上,则在目的端又有一次变化。

在计算机网络中,甚至在整个计算机相关的系统中,屏蔽下层的实现细节是一种非常重要的设计思想。在更高层次的抽象上谈论问题,是对问题的简化,可是本身这种抽象的把握需要一定的理解。

1 0
原创粉丝点击