草庐IT

IP地址、子网掩码、网关、DNS的介绍

无名之辈 2023-03-28 原文

IP地址、子网掩码、网关、DNS的介绍



概念

  • 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器);
  • 服务器:客户端提供服务、数据、资源的机器;
  • 请求:客户端向服务器索取数据;
  • 响应:服务器对客户端请求作出反应,一般是返回给客户端数据;
  • URL:统一资源定位符(Uniform Resource Locator), 网络中每一个资源都对应唯一的地址——URL;
  • MAC地址:MAC(Media Access Control,介质访问控制)地址,又称物理地址, 如同我们身份证上的身份证号码,具有全球唯一性;
  • IP:网络互连协议(Internet Protocol),是TCP/IP体系中的网络层协议;
  • 子网掩码:子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩;
  • 网关:网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连;
  • DNS:域名系统(Domain Name System),为Internet上的主机分配域名地址的IP地址;
  • DHCP:由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。提升地址的使用率;

IP地址

IP(网络之间互连的协议)它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址有唯一性,即每台机器的IP地址在全世界是唯一的。这里指的是网络上的真实IP它是通过本机IP地址和子网掩码的"与"运算然后再通过各种处理算出来的;

  • tcp/ip协议

TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议),也叫作网络通讯协议,是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。

  • 所谓IP地址就是给每个连接在Internet上的主机分配的一个 32bit 地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长 32bit,比特换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是 “00001010000000000000000000000001” ,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号 “.” 分开不同的字节。于是,上面的IP地址可以表示为 “10.0.0.1” 。IP地址的这种表示法叫做 “点分十进制表示法” ,这显然比1和0容易记忆得多。

子网掩码

互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址在设计时就考虑到地址分配的层次特点,将每个IP地址都分割成网络号和主机号两部分,以便于IP地址的寻址操作;

子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩;子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分;子网掩码不能单独存在,它必须结合IP地址一起使用。

  • 常用子网掩码
  1. 子网掩码 “255.255.255.0” 的网络:
    1. 最后面一个数字可以在 0~255 范围内任意变化,因此可以提供 256 个IP地址。但是实际可用的IP地址数量是 256-2 ,即 254 个,因为主机号不能全是 “0” 或全是 “1” 。
  2. 子网掩码 “255.255.0.0” 的网络:
    1. 后面两个数字可以在 0~255 范围内任意变化,可以提供 256² 个IP地址。但是实际可用的IP地址数量是 256²-2 ,即 65534 个。

Tips:

  1. IP地址的子网掩码设置不是任意的,应该根据网络的规模进行设置;
  2. 如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,导致数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;
  3. 如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降;

网关

网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。


DNS

  • DNS服务器

域名服务器(Domain Name Server)。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器;

国内DNS推荐: 114.114.114.114 / 114.114.114.115

更多DNS参考: https://blog.csdn.net/qq_14989227/article/details/78342237

IP与子网掩码换算

  1. case 1
    • 如果要使这三个ip段在同一个网段内,那么这个大网段共同的子网掩码是多少呢?

      ip段一:192.168.0.1——192.168.0.254
      
      ip段二:192.168.1.1——192.168.1.254
      
      ip段三:192.168.2.1——192.168.2.254
      
    • 我们来分析下:

      # 将ip地址192.168.0.1转换为二进制
      11000000 10101000 00000000 0000000
      
      # 将ip地址192.168.1.1转换为二进制
      11000000 10101000 00000001 00000001
      
      # 将ip地址192.168.2.1转换为二进制
      11000000 10101000 00000010 00000001
      
      转换成了二进制,可以看得出,三个ip段的二进制前面 `22` 位的是不变的,那么可以将他们表示成:
      
      ip段一:192.168.0.1/22
      ip段二:192.168.1.1/22
      ip段三:192.168.2.1/22
      
      这种192.168.2.x/22形式的ip地址相信大家平时都见过,就是已经告诉了子网掩码了。
      也就是说他们共同的子网掩码二进制前面22个都是1。
      
      11111111 11111111 11111100 00000000
      

  - 结果: 转换成十进制,那就是 255.255.252.0 ,所以他们共同的子网掩码就是 255.255.252.0



Via

有关IP地址、子网掩码、网关、DNS的介绍的更多相关文章

  1. ruby - 从 Ruby 中的主机名获取 IP 地址 - 2

    我有一个存储主机名的Ruby数组server_names。如果我打印出来,它看起来像这样:["hostname.abc.com","hostname2.abc.com","hostname3.abc.com"]相当标准。我想要做的是获取这些服务器的IP(可能将它们存储在另一个变量中)。看起来IPSocket类可以做到这一点,但我不确定如何使用IPSocket类遍历它。如果它只是尝试像这样打印出IP:server_names.eachdo|name|IPSocket::getaddress(name)pnameend它提示我没有提供服务器名称。这是语法问题还是我没有正确使用类?输出:ge

  2. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  3. ruby-on-rails - 与 ActiveMerchant 一起使用的最佳支付网关是什么? - 2

    我需要使用ActiveMerchant库在我们的一个Rails应用程序中设置支付解决方案。尽管这个问题非常主观,但人们对主要网关(BrainTree、Authorize.net等)的体验如何?它必须:处理定期付款。有能力记入个人帐户。能够取消付款。有办法存储用户的付款详细信息(例如Authotize.netsCIM)。干杯 最佳答案 ActiveMerchant很棒,但在过去一年左右的时间里,我在使用它时发现了一些问题。首先,虽然某些网关可能会得到“支持”——但并非所有功能都包含在内。查看功能矩阵以确保完全支持您选择的网关-http

  4. ruby-on-rails - 验证电子邮件地址是 Paypal 用户 - 2

    我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby​​库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status

  5. ruby - 在 TCPServer (Ruby) 中,我如何从客户端获取 IP/MAC? - 2

    我想在Ruby的TCPServer中获取客户端的IP地址。以及(如果可能的话)MAC地址。例如,Ruby中的时间服务器,请参阅评论。tcpserver=TCPServer.new("",80)iftcpserverputs"Listening"loopdosocket=tcpserver.acceptifsocketThread.newdoputs"Connectedfrom"+#HERE!HowcanigettheIPAddressfromtheclient?socket.write(Time.now.to_s)socket.closeendendendend非常感谢!

  6. H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档) - 2

    目录H2数据库入门以及实际开发时的使用1.H2数据库的初识1.1H2数据库介绍1.2为什么要使用嵌入式数据库?1.3嵌入式数据库对比1.3.1性能对比1.4技术选型思考2.H2数据库实战2.1H2数据库下载搭建以及部署2.1.1H2数据库的下载2.1.2数据库启动2.1.2.1windows系统可以在bin目录下执行h2.bat2.1.2.2同理可以通过cmd直接使用命令进行启动:2.1.2.3启动后控制台页面:2.1.3spring整合H2数据库2.1.3.1引入依赖文件2.1.4数据库通过file模式实际保存数据的位置2.2H2数据库操作2.2.1Mysql兼容模式2.2.2Mysql模式

  7. ruby-on-rails - 从 Geocode 经纬度获取地址 - 2

    对于我的大部分应用程序,我从Geocoder获取城镇/城市的纬度、经度、邮政编码等。我只是投入城市和州,作为返回,我得到了我处于一个有field的场景中。该场所需要一个地址,我正在从另一个来源获取该场所的纬度和经度。使用Geocodergem,我可以通过给地址提供经纬度来获取地址吗? 最佳答案 在Rails控制台中运行。latitude=40.0397longitude=-76.30144geo_localization="#{latitude},#{longitude}"query=Geocoder.search(geo_loca

  8. ruby - 没有 nginx 的 Puma - 同一 IP 上的多个 ruby​​ 应用程序 :PORT - 2

    Nginx在生产中的重要性通常基于它为慢速客户端提供服务的能力;在RESTfulAPI的设置中,它似乎是生产堆栈的一个不必要的层,尤其是Puma(不像广泛使用的unicorn可以处理nginx工作)。Pumacanallowmultipleslowclientstoconnectwithoutrequiringaworkertobeblockedontherequesttransaction.Becauseofthis,Pumahandlesslowclientsgracefully.HerokurecommendsPumaforuseinscenarioswhereyouexpect

  9. Java IP归属地查询(离线方式+在线方式,内附查询IP方法) - 2

    一、离线方式1.1.下载ip2region.xdbGitHub项目地址:https://github.com/lionsoul2014/ip2region我们首先需要下载一个ip2region.xdb的文件下载地址:https://github.com/lionsoul2014/ip2region/blob/master/data/ip2region.xdb打开后点击如图的Download图标即可下载。下载完成后,需要将该文件放到我们的项目中。ps:我是直接放到服务器的,因为放在项目的资源文件夹下,当我们调试的时候使用JavaSpring自带的工具去获取该文件的绝对路径时,没有任何问题,能够正

  10. IP数据报格式 - 2

    1、报文格式前几篇总结过较多网络层的知识,ARP,ip地址、子网掩码等等。这次总结一下IP数据报的报文格式IP数据报的格式能够说明IP协议都具有什么功能。在TCP/IP的标准中,各种数据格式常常以32位(4字节)为单位来描述的。wireshark中IP数据报文呈现一个IP数据报文由首部和数据两部分组成。首部的前一部分是固定长度,共20字节。是所有IP数据报文必须具有的。在首部的固定部分的后面是一些可选字段,其长度可变。2、首部个字段意义  1、版本占4位,指IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。版本号为6(即IPv6)  2、首部

随机推荐