首页 > 课堂 > 基础知识 > 正文

TCP/IP基础:ARP 协议

2024-09-09 00:42:25
字体:
来源:转载
供稿:网友

  严格来说,TCP/IP 协定家族并没有定义 "TCP/IP 专属的" 网路硬体规格。硬体的范围实在太过广泛了﹐标准非常多﹐当今大部份的低层网路硬体标准都是由 IEEE 制定的,但也有许多标准是厂商专属的。要让 TCP/IP 协定能够顺利与不同类型的硬体进行沟通﹐那么就需要建立起一些标准协定来让大家共同参考。以我们最常用的乙太网(Ethernet)为例﹐我们无需理会厂商如何设计网路界面的驱动程式﹐一旦它能够被系统接纳﹐网路储存层(Datalink)就能使用网路界面在实体网路上传送和接收资料了。
  IP 位址和实体位址对应之困扰
  在「网路基础」课程中﹐我们知道乙太网上面使用的传送方式叫 CSMA/CD (Carrier-Sensing Multiple Access with Collision Detection)﹕虽然讯框会在整个网段(segment)中用广播的方式传递﹐而且所有节点都会收到讯框﹐然而﹐只有目的位址符合自己实体位址的讯框才会被接收下来。因此,不管上层协定是哪一种(可以是 TCP/IP 也可以是其它),在底层的传送若是使用 Ethernet 的话,就得使用 MAC (Media Access Control) 实体位址。若要查询到当前系统目前所有界面的实体位址,我们可在 Linux 系统里面输入 ifconfig 命令﹕
  eth0  Link encap:Ethernet HWaddr 00:A0:0C:11:EA:11    inet addr:203.30.35.134 Bcast:203.30.35.159 Mask:255.255.255.224    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1    RX packets:0 errors:0 dropped:0 overruns:0 frame:0    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:100    Interrupt:3 Base address:0x300eth1  Link encap:Ethernet HWaddr 00:80:C7:47:8C:9A    inet addr:192.168.0.17 Bcast:192.168.0.255 Mask:255.255.255.0    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1    RX packets:12303 errors:0 dropped:0 overruns:0 frame:0    TX packets:12694 errors:0 dropped:0 overruns:0 carrier:0    collisions:0 txqueuelen:100    Interrupt:10 Base address:0x2e0
  从上面的命令结果中可发现:关于每一个界面的第一行资讯﹐最后的部份就是该界面的实体位址。讯框在实体网路上面传送的过程中﹐IP 位址(或曰罗辑位址)一点都派不上用场。但问题是:当我们使用 TCP/IP 的时侯,上层的协定都是以 IP 位址为传送依据的。那么﹐这时候我们就必须有一套方法来对应 IP 位址和实体位址了。
  在此一过程中﹐关键点是如果将 IP 位址对与实体位址做对应。有些使用简单实体位址的网路(如 proNET-10 )﹐其实体位址只占一个 byte 的长度﹐而且允许使用者在配置网路卡的是选择自己的实体位址。在这样的网路上进行 IP 位址和实体位址的对应﹐是比较简单的﹐我们可以把实体位址设为和 IP 位址设为一样。例如﹐假设某一个节点的 IP 位址为 192.168.1.17﹐那么我们可以将该实体位址设为 17。 这样﹐在 proNET 就可以轻易的根据 IP 位址来得到实体位址。这样的对应非常简单﹐而且要维护起来也很容易﹐在新机器假如网路的时候﹐并不需要修改或重编已存的资料。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表