计算机网络基础

2024 年 11 月 29 日 星期五
/ ,
14

计算机网络基础

学习计算机网络基础过程中的一些自己的思考,疑问和总结。

协议

在计算机网络中,我们所说的协议,指的是设备之间用来通信的规则和约定。就像人类交流需要共同的语言和规则(例如英语中的语法、句子结构),计算机在网络中互相通信也需要一种标准化的语言,这种语言就是协议

协议的本质:共同的规则

假设你和别人通电话:

  1. 规则1:谁先说话?
    • 电话接通后,通常是打电话的人先说“你好”。
  2. 规则2:如何回应?
    • 接电话的人会说“你好,请问找谁?”
  3. 规则3:挂电话的顺序
    • 通话结束时,通常会互相说再见,然后挂断。

如果没有这些规则,双方可能会陷入混乱,比如同时说话,或者没人知道什么时候挂电话。

在计算机网络中,类似的规则就是协议,它确保数据通信有序准确,避免混乱。

协议的核心特点

  1. 标准化:所有设备都必须遵循统一的规则。
  2. 分层结构:通常协议被分为不同层次(如TCP/IP协议的4层)。
  3. 可互操作:不同厂商的设备(比如苹果和安卓)能通过相同的协议通信。

协议里面为什么还有协议?

为了分工明确、层次清晰,让网络通信既高效又灵活。这种分层结构就像一个团队合作的过程,每个成员专注于自己的职责,遵守共同的规则,最终完成一个复杂的任务。

DNS

根DNS有哪13个?

虽然我们通常说根DNS服务器有13个,实际上这些13个是逻辑服务器的标识符,每个逻辑服务器背后都有多个实际运行的物理服务器,分布在全球,通过任播(Anycast)技术提供服务。

13个根DNS服务器的标识和运营机构

标识符根服务器名称运营机构
Aa.root-servers.netVerisign, Inc.
Bb.root-servers.netUSC-ISI
Cc.root-servers.netCogent Communications
Dd.root-servers.netUniversity of Maryland
Ee.root-servers.netNASA Ames Research Center
Ff.root-servers.netInternet Systems Consortium (ISC)
Gg.root-servers.netU.S. Department of Defense (DISA)
Hh.root-servers.netU.S. Army Research Lab
Ii.root-servers.netNetnod
Jj.root-servers.netVerisign, Inc.
Kk.root-servers.netRIPE NCC
Ll.root-servers.netICANN
Mm.root-servers.netWIDE Project (Japan)

任播(Anycast)技术

任播(Anycast)是一种网络通信技术,它允许多个服务器共享一个相同的IP地址,用户的请求会被自动路由到最近或最优的服务器节点,以提供服务。这种技术在根DNS服务器、内容分发网络(CDN)和负载均衡等场景中被广泛使用。

任播的核心思想

用一个通俗的类比来解释:

  • 广播(Broadcast):像一个大喇叭广播消息,所有人都能听到。
  • 单播(Unicast):像一对一的电话交流,特定的一个人接收消息。
  • 任播(Anycast):像你拨打了一个服务电话(比如12345热线),后台有多个接线员,系统会把你分配给最近的空闲的接线员。

在任播中,虽然多个服务器使用同一个IP地址,但每次请求只会到达其中一个节点。

常见误解:只有13台根服务器?

虽然只有13个逻辑标识符,但每个逻辑服务器由多台物理服务器组成,这些物理服务器分布在全球的多个地点。通过Anycast技术,用户查询会被路由到最近的物理服务器节点,提供高效的服务。

  • 全球物理服务器数量:根DNS的物理服务器数量远超13个,实际上有上千台分布在全球。
  • 为何只定义13个?
    • 根DNS的协议采用IPv4,最初UDP报文的长度限制为512字节,每条根服务器的地址需要32字节,因此最多容纳13个逻辑服务器。

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...