【Coursera】Sixth Week(2)
DNS:Domain Name System
The Domain Name System convert user-friendly names,like www.umich.edu, to network-friendly IP address, like 141.211.32.166 .
也就是说 DNS 主要的工作是 域名的转换。
网络号和IP地址很重要,是因为它们把网络连接的地址 编译成计算机语言(encode)。但我们人并不是那么在意这个东西,www.facebook.com 和 www.umich.edu 才是我们真正关心的。
DNS 并不是 TCP/IP 协议簇里的层(layer),它类似于夹在 Internetwork Layer,Transport Layer,和 Internet 之间。它不在 Link Layer 中,但是它利用了Link Layer。
所以 DNS 和 domain names 紧密的联系在了一起。
- 数字的地址(像 141.211.63.45)对路由器来说是非常重要的,但是对于我们人来说是很讨厌的。
- 每一个校园都是 一些网络的结点。(原文:Each campus ends up with a lot of networks.)
- 有时候(非常少),IP地址会被重新分配。
- 当服务器移动的时候,它们需要新的地址。
路由器只是简单的根据IP地址转递数据报,它们对域名一无所知。数字地址(就像IP地址),人们很讨厌去记忆这些东西。
早期的校园中,只有一个网络号,但是现在一个校园会有20-40个网络号。非常多组的地址。
所以人们创造了域名这个概念,这种 我们可以从IP地址转换映射(switch the mapping)过来的 显而易见的名字。
DNS:Internet Address Book
- Domain Name System 是一个 大型的 快速的 分布式的 数据库(database):Internet name to Internet “phone numbers”。141.211.63.44 从左往右读起来像个电话号码。
- The IP address reflect technical “geography”.
- Domain name reflect organizational structure.
- www.si.umich.edu 从右往左念就像一个邮政的地址:2455 North Quad,Ann Arbor,Ml 48109,USA,Earth。也就是说,从最普遍的 到 最特殊的。
所以 DNS 就像是网络地址的书籍一样,它是一个大型的分布式的数据库,它使用缓存文件因此就算网络部分拥堵,速度还是很快。
www.si.umich.edu 各部分:
* edu:education institution
* umich.edu:particular educational institution University of Michigan.
* si.umich.edu:the school of information at the University of Michigan.
* www 是学校里的一个特殊的服务器
Domain Name Space
域名是被拥有的,它们有点像层次结构一样。Educause 组织 拥有 .edu 这个域名,他们拥有是否给予你这个域名的权利。
在.com 和 .org 首先注册的人拥有优势,也有一些规定,比如如果我拥有了 www.cocacola.com 然后我并没有特别的目的去使用它,拥有 Cocacola商标 的人就会收回它,除非我有一个合法的目的来拥有它。
密歇根大学,在原有的基础上创建了一个子域的机制。如果我们想要有一个学习的系统:ctools.umich.edu,我们需要去申请并给出合理的理由来争取到它。
也就是说,你需要向域名的拥有者申请,由域名的拥有者来决定是否给予你。
Transport Control Protocol(TCP)
- Transport Layer 的责任 是 显示通向 应用 的可信赖的 端对端的通道(present a reliable end-to-end pipe to application)。
- 数据按合适的要求抵达目的地,否则的话是因为连接终止了(closed)。
- TCP 使得 发送端 和目的端的系统 保存数据(已经到达目的地的无序的数据 或者是 中途丢失需要重新发送的数据)的缓存。
- TCP 提供 在应用之间的个体的连接(TCP provides individual connections between applications)。
TCP 在一定程度上 弥补了IP协议的不完美,TCP 在目的端和发送端的 缓存机制 使得网络迅速的发展。
对于 applications 来说,我们所要做的事情,就是从上图的左端,发送数据,然后从上图的右端,可靠的有序的接收数据。
关于 TCP/IP连接栈 内部的实现细节,是复杂的,每一层都解决了各自的问题,最终提供了可靠快速的服务。
花费了无数的金钱和精力,解决了栈内部实现的这些问题。
2016/8/5