编址

TCP/IP协议的互联网需要用到四个级别的地址:

  • 物理地址(physical address)
  • 逻辑地址(logical address)
  • 端口地址(port address)
  • 特定应用地址(application-specific address)
    每种地址都与TCP/IP体系结构中的某一层相关

file

物理地址

物理地址也称为链路地址,是由结点所在的局域网或广域网为该结点指定的地址。
物理地址包含在数据链路层所使用的帧中
物理地址是最低一级的地址。
物理地址仅对链路写在网络接口卡(NIC)里的6字节(48位)的物理地址。
而LocalTalk(苹果公司)则使用一个字节的动态地址,它在站点每次入网时动态变化。

例:
file
物理地址为10的结点向物理地址为87的结点发送了一个帧。在数据链路层,帧的首部中包含了这两个物理(链路)地址,它们是此处唯一需要用到的地址。
首部的其余部分则包含的是这一层所需要的其他一些信息。帧的尾部通常包含的是用于差错检测的一些附加位
如图,物理地址为10的计算机是发送方,物理地址为87的计算机是接收方。发送方的数据链路层收到来自上一层的数据,通过附加一个首部和一个尾部,它将数据封装成了一个帧。在首部中带有接收方和发送方的物理(链路)地址,以及其他一些信息。
注意:大多数数据链路协议中目的地址(此处为87)是放在源地址(此处为10)前面的。
这个帧通过局域网传播,每个物理地址不是87的站都会丢弃这个帧,因为帧中的目的地址与自己的物理地址不匹配,而真正的目的计算机会发现该帧中的物理地址与自己的物理地址完全匹配。于是这个帧经过检查后被卸掉首部和尾部进行解封,解封后的数据部分被交付给上一层。

物理地址可以是单播(unicast,单个接收者)、多播(multicast,一组接收者)或广播(broadcast,由网络中的所有系统接收)

逻辑地址

逻辑地址对与底层物理网络无关的全局通信来说必不可少。
仅仅有物理地址还是不够的,因为不同的网络可以使用不同的地址格式。我们需要一种全局性的编址系统用以唯一地标志每台主机,做到与底层的物理网络无关。逻辑地址就是为此而设计的。
目前因特网上的逻辑地址是一个32位地址,可以用来唯一地标志连接在因特网上的每一台主机。
在因特网上不存在两台具有相同IP地址的公开编址的实体主机。
file
上图由两台路由器连接三个局域网
每个设备(计算机或路由器)在每条连接上都有一对地址(逻辑的和物理的)
在上图中,两台计算机都只连接了一条链路,因而只有一对地址。不过每个路由器都连接到三个网络上,因此每个路由器都有三对地址,一条连接对应一对地址

上图中,网络地址为A,物理地址为10的计算机需要向网络地址为P,物理地址为95的计算机发送一个分组。(这里的字母和数字只是代表,实际上不是)

发送方在网络层将数据封装入一个分组中,并加入两个逻辑地址( A 和 P )

在大多数协议中,逻辑源地址是出现在逻辑目的地址之前的(与物理地址的顺序正好相反)

网络层询问它的路由表,并找出下一跳(路由器1)的逻辑地址是F,还有一个叫地址解析协议(ARP)的协议,它会找出与该逻辑地址相对应的是路由器1的物理地址(20)
现在网络层就可以将这个地址传递给数据链路层了,再由数据链路层以物理目的地址20和物理源地址10来封装这个分组。
局域网1上的所有设备都会收到这个帧,但是除了路由器1之外,其他的路由器都会选择丢弃该帧,因为只有路由器1发现该帧中的物理目的地址与自己的物理地址是相匹配的。路由器1将该帧解封后得到数据分组,并读出其逻辑目的地址是P。由于这个逻辑目的地址与路由器1的逻辑地址不匹配,路由器1就知道了还要继续转发这个分组。
路由器1也咨询了它的路由表,而APR再次找出下一跳(路由器2)的物理目的地址,然后又创建了一个新的帧将这个分组再次封装起来,并将其发送到路由器2

请注意,这个帧的物理地址。物理源地址从10更新为99,物理目的地址从20(路由器1的物理地址)更新为33(路由器2的物理地址)。逻辑源地址和逻辑目的地址必须保持不变,否则这个分组就会丢失了。

在路由器2的情况一样。物理地址被更新,而一个新的帧被发往目的计算机。当这个帧抵达终点时,分组被解封出来。逻辑目的地址P与该计算机的逻辑地址相匹配。分组解封后得到的数据被交付给上一层。

请注意,虽然物理地址逐跳而变,但逻辑地址从源点到终点一直保持不变

端口地址

一个计算机中可能同时运行多个进程。为了使这些进程能够同时接收数据,还需要用到一种方法对不同的进程打上标号。换言之,这些进程也需要有地址。

物理地址逐跳而变,但逻辑地址和端口地址通常保持不变

特定应用地址

例如电子邮箱 admin@yuofyou.cn 、 URL www.yuofyou.cn
发送数据的计算机会将这些地址统统转换为相应的端口地址和逻辑地址。

最后修改:2022 年 03 月 08 日
如果觉得我的文章对你有用,请随意赞赏