我很难理解pipe理机构如何分配IP地址,公司使用BGP来通告这些IP,以及互联网如何工作。 那么,DNS到底在哪里呢?
任何人都可以提出一个很好的阅读这个东西是如何工作的? 我想我有几个问题。 首先是ARIN(或任何其他pipe理机构)是否真的很重要? 如果他们不在身边,会不会有混乱? 当他们分配一个块,他们不正常地分配它? 你必须使用BGP来做广告,纠正? 我一直习惯于已经路由IP的封闭式主机环境(专用/共享)。
那么,DNS如何进入? 与我的注册商,我能够注册一个DNS服务器(eNom) – 这实际上是什么意思? 我已经安装了绑定,并做了所有的工作,我运行我自己的DNS服务器,但他们注册该DNS服务器? 我只是不明白。
我觉得这是我应该知道的,我不知道,而且我感到非常沮丧。 这就像..简单..互联网如何工作? 从分配IP到公司路由,以及DNS。
我想我有一个例子 – 我有这个IP空间让我们说158.124.0.0/16(示例)。 该公司有158.124.0.0/17互联网面临。 (首先,公司为什么要分配IP块,然后不使用它们,为什么不使用保留的内部空间10.x和192.x?)。 所以,那就是我所在的地方。 我该怎么做才能在互联网上获得这些IP并可用? 假设我在芝加哥有一个数据中心,在纽约有一个数据中心。 我无法上传图片,但我可以在这里链接: http : //begolli.com/wp-content/gallery/tech/internetworkings.png
我只是想了解从IP块分配到使用BGP的公司(获得公共AS#?)以及DNS如何发挥作用?
我的照片会是什么样子? 我试图把一个场景放在一起,不知道我是否做得很好。
IP由IANA分配给区域互联网注册pipe理机构(RIR)。 看到这个( 列表和地图 )的RIR。 RIR随后将小块IP出租给个别公司(通常是ISP)。 有要求(包括费用和使用certificate)获得分配,没有维持这些手段的租赁损失。
一旦公司租用了RIR的一个或多个块,他们需要某种方式告诉世界其他地方在哪里find一个特定的IP(或其子集)。 这是BGP进入的地方。 BGP使用称为自治系统(AS)的大型networking概念。 AS知道如何在自己内部进行路由。 当路由到另一个networking时,它只知道AS网关和这些外部地址的“下一跳”。 AS号码也由IANApipe理 。
在一个AS内,即使是一个像ISP那样大的networking,他们也可能使用多种路由协议(RIP,OSPF,BGP,EIGRP和ISIS)来在内部路由stream量。 也可以使用静态路由表,但在大多数应用中完全不切实际。 内部路由协议是一个巨大的话题,所以我将通过说服务器故障还有其他问题来简化,这些话题可以比这里更公正。
人类不记得数字,所以我们发明了主机名。 跳过历史logging,我们使用域命名系统(DNS)来跟踪哪个主机名指向什么IP地址。 这些由IANApipe理的中心注册pipe理机构还负责确定顶级域名(TLD)(例如“.com”或“.net”)在由根服务器提供服务的根区中。 IANA代表“根区”pipe理,此pipe理员只接受合格注册商的更新。
您可以使用注册商“购买”一个域名,这是一个TLD的子域名。 此注册本质上创build该子域,并指定您控制它的名称服务器(NS)和胶水(A)logging。 您将这些指向一个承载您的域名的DNS服务器 。 当客户想要从域名parsing您的IP时,客户端联系他们的DNS服务器进行recursion查询,从根服务器开始,find您的DNS服务器并最终获得相关信息。
至于“理事机构”:每个人都同意使用它们。 没有(或很less)法律要求任何人进行合作。 互联网是有效的,因为人们select合作 。 理事机构提供了一个容易合作的手段。 所有各种RFC,“标准”等都没有人被迫使用它们。 但我们明白社会是build立在合作的基础上的,这样做符合我们自己的利益。
通过合作培育的效率与BGP的stream行原理是一样的,大家基本同意使用它。 在ArpaNet的日子里,他们开始用手工configuration的路由表; 然后随着互联网的复杂性逐渐发展到一个更为全面的体系,但每个人都“同意”使用任何新的标准。 同样的名字parsing与主机文件说,networking将分发,并最终成长为我们今天知道的DNS系统。 (引用中的“同意”,因为很多时候less数人对新标准提出了要求,没有其他人有更好的select,所以被接受了)。
这种合作水平需要相信IANA。 正如你所看到的,他们pipe理着大部分不同系统的内核。 IANA目前是美国政府赞助的非营利性公司(类似于美国邮政局),它不是政府的一部分,尽pipe只是几乎没有删除。 过去几年,人们担心美国政府可能会对IANA采取一些控制措施,作为对付世界其他国家政府或平民的“武器”(特别是通过SOPA和PIPA等法律,但没有通过,但可能成为未来法律的基础) 。
目前,IANA已经通过创build新的顶级域名(TLD)来自筹资金(尽pipe是非盈利性公司)。 “xxx”TLD被一些人视为勒索式的筹款活动,因为很大一部分注册人“捍卫”他们的名字。 互联网号码分配当局(IANA)也提出了私人拥有的顶级域名(TLD)申请(单价为18万美元;申请被淹没后暂停申请,近一半来自亚马逊),其中许多申请导致了新的通用顶级域名 。
所有的公共互联网广告,DFZ(Default-Free Zone),都是通过BGP(边界网关协议)完成的,ISP的内部路由如何变化很大。 大多数人会在自己的路由器(BGP通常与IGP,如OSPF一起使用)以及客户端之间在内部使用BGP,如果您没有自己的AS号码,则可以使用私有AS你的ISP,当他们向DFZ宣布你的地址空间的时候,他们只需从as-path中删除私有AS。 对于较小的非冗余链路,您也可以在PE上使用静态路由。 实际的“任务”就在你的注册服务商的数据库中,whois数据库,RIPE / ARIN等为此运行自己的数据库。
尝试在Linux whois 158.124.0.0/16
上运行命令whois 158.124.0.0/16
。
与DNS一样,反向DNS服务器在whoislogging中指定。
这是一个非常古老的问题,但是在弄清楚互联网是如何工作的时候,我也有许多相同的问题。 像其他答案一样,networking书籍给出了BGP和DNS的概述,但仍然让我感到困惑。 例如,通过m.root-servers.net提供的a.root-servers.net作为根服务器,但是如果DNS服务器不能自己使用DNS,那么DNS服务器如何知道在哪里可以find这些服务器。
IP,子网划分,DNS等的基本知识被认为是这个答案。 我正在处理“差距”,我可能也是提问者,关于互联网如何运作。 绝不是我的专家,但这是我对差距的理解。
IP地址
首先要注意的是,当互联网开始成为ARPANET时,每个人都知道每个人,IP地址的路由表都是手工编码的。 我假设IP的分配过程是通过电话完成的。 随着互联网变得太大,BGP被多个networking(AS)用来宣告他们拥有公有IP,或者可以通过自己的AS到达另一个AS。 信任在那里,AS不会宣传他们没有的IP。
今天,没有那么多的信任。 相反,ISP可以从IANA和地区主pipe部门下载并validation每个AS的IP分配。 这些下载现在通过公钥密码学进行validation。 所以当IANA“分配一个IP地址”时,他们正在改变他们的logging(或者地区当局真的改变他们的logging)。 所有其他AS可以下载并authentication他们的logging。
这些logging是重要的,因为ISP不能接受其他ISP的IP地址。 ISP可以将BGP通告与经过validation的IPlogging进行比较。 如果任何BGP通告显示最后一个AS不是IANA和RIRauthenticationlogging中的AS,则BGP通告不会更改它们自己的路由。
更常见的是,一个stream氓ISP或AS可以宣传他们有一条通过他们没有的AS的路由。 AS1已经注册了IP,目前AS5使用AS5→AS4→AS3→AS1→IP。 AS2向AS5通告AS5-> AS2-> AS1-> IP的路由。 除了AS2实际上没有与AS1的连接。 它可能会丢失数据包,也许会挫败AS1的托pipe客户。 或者AS2可能是一个小公司networking,与AS5和AS1的多宿主安排。 他们的路由器configuration错误,并通过一个小公司的networking公布path。 几乎所有的ISP都抛弃了这些BGP客户的广告,而只是通过终止BGP广告。
更有可能的情况是,巴基斯坦的巴基斯坦境外试图通过这种IP劫持closuresYoutube,在巴基斯坦之外closuresYoutube,因为巴基斯坦境外的巴基斯坦认为他们的BGP广告是正确的。
最后,对于这样的IP劫持并没有一个完美的防御。 在美国等大多数国家,这种滥用BGP的行为可能会因为违约而受到惩罚,如果必须的话,其他ISP将closures与该AS的对等连接。 互联网服务提供商也可以不理会整个IANA和RIR设备,并将IP地址redirect到他们自己的服务器。 这对任何https站点都不起作用,假设ISP没有任何CA的私钥。 经济上从中获益甚微。 只有像埃及这样的独裁政府才会发生,最近埃及从国外closures了所有的BGP广告给他们的ISP。
DNS服务器
一旦IP表正确,DNS就简单了。 根服务器都是DNS服务器代码中的硬件IP地址。 a.root-servers.net是198.41.0.4,IP地址是一个AS内的任意一个。 在a.root-servers.net的情况下,AS是Verisign,并且有五个不同的站点。 在美国,这两个网站是纽约和洛杉矶。 选播就像是你有一个123大街的地址,你说:“你在哪个城镇并不重要,去123大街,你会发现我的业务之一。 纽约的123大街和洛杉矶的所有顶级域名都会给出相同的答案。 AS(在这种情况下,Verisign)通过OSPF,内部BGP和其他路由协议在内部计算出哪个服务器具有最less的跳数。 所以在丹佛的路由器可以去洛杉矶,而芝加哥的路由器去纽约。 Anycast主机可以使用相同的路由过程,因为主机不提供路由stream量。
其中一台根服务器提供com顶级域的IP地址。 然后该域名为yoursite.com提供域名。 注册服务商确实与运行顶级域名的人签有合同。 因此,如果顶级域名目前没有yoursite.com的logging,则可以使用who-is服务器添加logging。 然后,通过访问,注册商将您提供给yoursite.com的DNSlogging,您将更改DNS服务器中的logging以转到您的IP地址。
由于DNS全部依赖于多个IP地址,所以您可以像使用ASvalidationIPregistry和BGP分配一样来解决问题。 这是http网站的关键部分。 Https具有对证书的附加保护。 所以,一个ISP不能将他们自己的根服务器和顶级域名服务器的请求重新路由到自己的IP地址,比如说citibank.com。 如果他们这样做,给用户的IP地址将是一个不同的IP地址,但他们的服务器将不会有花旗银行的私钥。
不,我不是在开玩笑(15年前我开始写这本书,但它仍然非常相关): http : //www.amazon.com/Internet-Dummies-John-R-Levine/dp/0764506749
那么,回到这里的BGP问题=)