IP, Subnet Mask, Default Gateway, DNS Servers都是啥东西?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP, Subnet Mask, Default Gateway, DNS Servers都是啥东西?相关的知识,希望对你有一定的参考价值。

如题,要写信息课论文,不知道IP, Subnet Mask, Default Gateway, DNS Servers都是干什么的,另外请帮忙比较一下IPv4和IPv6,谢谢

IP是英文Internet Protocol(网络之间互连的协议)的缩写,中文简称为“网协”,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP协议就可以与因特网互连互通。IP地址具有唯一性,根据用户性质的不同,可以分为5类。另外,IP还有进入防护,知识产权,指针寄存器等含义。
子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
默认网关(Default Gateway)一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。
DNS的全称是Domain Name Server,一种程序,它保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
IPv4,是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基石的协议。1981年 Jon Postel 在RFC791中定义了IP,Ipv4可以运行在各种各样的底层网络上,比如端对端的串行数据链路(PPP协议和SLIP协议) ,卫星链路等等。局域网中最常用的是以太网。IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。
IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。IPv6与IPv4相比有以下特点和优点:
  (1)更大的地址空间。IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128-1个地址。夸张点说就是,如果IPV6被广泛应用以后,全世界的每一粒沙子都会有相对应的一个IP地址。
  ⑵更小的路由表。IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
  (3)增强的组播(Multicast)支持以及对流的支持(Flow-control)。这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台。
  (4)加入了对自动配置(Auto-configuration)的支持。这是对DHCP协议的 从“长沙模式”看IPv6网络演进思路改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。
  (5)更高的安全性。在使用IPv6网络中,用户可以对网络层的数据进行加密并对IP报文进行校验,这极大地增强了网络安全。
参考技术A IP 网络地址
Subnet Mask子网掩码
Default Gateway网关
DNS Servers DNS服务器
通俗点讲,IP就是一个网络内的其中一个地址,与客户端电脑一一对应。网关就是这些地址与其他网络连接的一个节点。就好像小区里每家每户是一个IP,出去的时候都需要经过大门,这个就是网关。
子网掩码是与IP地址结合使用的一种技术,子网掩码是将一个网络划分为几个子网;子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。普通路由器下面设置的均为255.255.255.0.
DNS服务器是用来将我们常用的以字母数字结合的网址变成对应IP的一个服务器。例如,你输入www.baidu.com,那么DNS服务器将此字符串转换成对应的百度服务器的IP地址,然后你就能上了百度的网站。
IPv6设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。因为现行的IPv4能包含的IP数量是有限的,也就是255四次方,实际上远远不够世界上每台电脑分配一个,就造成了现在所谓的IP资源枯竭。IPv6的出现主要就是解决这个问题,就好像以前手机号是十位的,后来都变成11位。当然,在技术上还有一些其他改进,例如安全性等方面,这些就属于话外,最大的作用就是能使用的IP数量大大增多

使用 vnet_subnet_id 通过 terraform 启动 AKS 群集 - Azure

【中文标题】使用 vnet_subnet_id 通过 terraform 启动 AKS 群集 - Azure【英文标题】:Using vnet_subnet_id to bring up the AKS cluster through terraform - Azure 【发布时间】:2020-12-24 13:24:04 【问题描述】:

我正在尝试使用 terraform 创建一个 AKS 集群。我正在使用 default_node_pool 块中的 vnet_subnet_id 参数 - 所以 Kubernetes 节点出现在我在这里传递的子网 ID 中。 但是,我还希望有条件地能够以正常方式创建 kubernetes 集群,即不使用 vnet_subnet_id 参数(因为这是参数只是可选的)。这样它只会在属于“节点资源组”的 Vnet/子网(通常方式)

 default_node_pool 
        name = "$var.name"
        vm_size = "$var.aks_node_type"
        vnet_subnet_id = "$var.subnetid"
     

是否可以执行一个条件并实现这两个场景。

【问题讨论】:

【参考方案1】:

当然,使用这样的东西:

vnet_subnet_id = var.condition == "something" ? var.subnetid : null

然后根据这个条件,它会将其放入您的子网ID或创建一个新的

【讨论】:

好的@4c74356b41,我刚试过这个。我得到了这个错误。 invalid variable syntax: "null". Did you mean 'var.null'? If this is part of inline template` 参数,那么您必须使用两个美元符号转义插值。例如:$a 变为 $$a` 我正在使用 - Terraform v0.11.11 + provider.azurerm v1.39.0 这是我尝试过的 - vnet_subnet_id = "$var.subcheck == "true" ? var.subnetid : null" 哦,哈哈。使用 0.11 我不确定你是否有条件语法,你应该升级 10 0.13(或至少 0.12)并使用 azurerm 2+,你使用的东西已经过时了

以上是关于IP, Subnet Mask, Default Gateway, DNS Servers都是啥东西?的主要内容,如果未能解决你的问题,请参考以下文章

cisco路由器IOS恢复方法之ROMMON恢复

怎么正确的计算一个ip地址的subnet id?

docker-compose 容器固定IP(network subnet)

docker-compose 容器固定IP(network subnet)

翻译自mos文章怎么正确的计算一个ip地址的subnet id?

docker flannel网络部署和路由走向分析