当主机A向另一个网络上的主机B发送包时,主机A利用ARP协议找到本地网络上的路由器的物理地址,把包转发给它。路由器会按照如下步骤处理数据包:
1)如果数据包的生命周期已到,则该数据包被抛弃。
2)搜索路由表,优先搜索路由表中的主机,如果能找到具有目标IP地址的主机,则将数据包发送给该主机。
3)如果匹配主机失败,则继续搜索路由表,匹配同子网的路由器,如果找到匹配的路由器,则将数据包转发给该路由器。
4)如果匹配同子网的路有器失败,则继续搜索路由表,匹配同网络的路由器,如果找到匹配的路由器,则将数据包转发给该路由器。
5)如果以上匹配操作都失败,就搜索默认路由,如果默认路由存在,则按照默认路由发送数据包,否则丢弃数据包。
从以上路由器的处理步骤可以看出,IP协议并不保证一定把数据包送达目标主机,在发送过程中,会因为数据包结束生命周期,或者找不到路由而丢弃数据包。
(2)域名
尽管IP地址能够唯一标识网络上的主机,但IP地址是数字型的,用户记忆数字型的IP地址很不方便,于是人们又发明了另一种字符型的地址,即所谓的域名(Domain Name)。域名地址具有易于理解的字面含义,便于记忆。IP地址和域名一一对应。例如JavaThinker网站的域名为www.javathinker.org,对应的IP地址为:221.130.187.148。 域名是从右至左来表述其意义的,最右边的部分为顶层域,最左边的则是这台主机的机器名称。域名一般可表示为:主机机器名.单位名.网络名.顶层域名。如:mail.xyz.edu.cn,这里的mail是xyz学校的一个主机的机器名,xyz代表一个学校的名字,edu代表中国教育科研网,cn代表中国,顶层域一般是网络机构或所在国家地区的名称缩写。
DNS(Domain Name System)协议采用DNS服务器来提供把域名转换为IP地址的服务。DNS服务器分布在网络的各个地方,它们存放了域名与IP地址的映射信息。用户需要访问网络上某个主机时,只需提供主机的直观的域名, DNS协议首先请求地理上比较近的DNS服务器进行域名到IP地址的转换,如果在该服务器中不存在此域名信息,DNS协议再让远方的DNS服务器提供服务。
(3)URL(统一资源定位器)
URL是Uniform Resource Locator的缩写,表示统一资源定位器。它是专为标识网络上资源位置而设的一种编址方式,大家熟悉的网页地址就属于URL。URL一般由三部分组成:
应用层协议://主机IP地址或域名/资源所在路径/文件名
例如JavaThinker网站的BBS的URL为:http://www.javathinker.org/bbs/index.jsp。其中“http”指超文本传输协议,“www.javathinker.org”是Web服务器的域名,“bbs”是网页所在路径,“index.jsp”才是相应的网页文件。
|