美文网首页程序猿的自我修养IT好文收集其他
IP、子网掩码、缺省网关/默认网关、DNS、服务器、端口的总结

IP、子网掩码、缺省网关/默认网关、DNS、服务器、端口的总结

作者: 月下独酌灬 | 来源:发表于2016-04-21 23:27 被阅读12819次

    网络的基本概念

    • 客户端:应用 C/S(客户端/服务器) B/S(浏览器/服务器)
    • 服务器:为客户端提供服务、数据、资源的机器
    • 请求:客户端向服务器索取数据
    • 响应:服务器对客户端请求作出反应,一般是返回给客户端数据
    screenshot.png

    URL

    • Uniform Resource Locator(统一资源定位符)
    • 网络中每一个资源都对应唯一的地址——URL

    IP 、子网掩码 、路由器 、DNS

    screenshot.png

    IP地址

    IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址(每个机器都有一个编码,如MAC上就有一个叫MAC地址的东西)的差异。是32位二进制数据,通常以十进制表示,并以“.”分隔。IP地址是一种逻辑地地址,用来标识网络中一个个主机,在本地局域网上是惟一的。

    Snip20160422_4.png

    IP

    IP(网络之间互连的协议)它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址有唯一性,即每台机器的IP地址在全世界是唯一的。这里指的是网络上的真实IP它是通过本机IP地址和子网掩码的"与"运算然后再通过各种处理算出来的(要遵守TCP协议还要加报文及端口什么的,我没有细追究,现在还用不上,反正暂时知道被处理过的就行了),顺便教大家查自己真实IP的方法:

    Snip20160422_2.png Snip20160422_3.png

    子网掩码

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

    IP地址的网络号和主机号各是多少位呢?如果不指定,就不知道哪些位是网络号、哪些是主机号,这就需要通过子网掩码来实现。什么是子网掩码子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。假设IP地址为“192.168.1.1”子网掩码为“255.255.255.0”。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。这样,子网掩码就确定了一个IP地址的32位二进制数字中哪些是网络号、哪些是主机号。这对于采用TCP/IP协议的网络来说非常重要,只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。

    常用的子网掩码有数百种,这里只介绍最常用的两种子网掩码。

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

    IP地址的子网掩码设置不是任意的。如果将子网掩码设置过大,也就是说子网范围扩大,那么,根据子网寻径规则,很可能发往和本地主机不在同一子网内的目标主机的数据,会因为错误的判断而认为目标主机是在同一子网内,那么,数据包将在本子网内循环,直到超时并抛弃,使数据不能正确到达目标主机,导致网络传输错误;如果将子网掩码设置得过小,那么就会将本来属于同一子网内的机器之间的通信当做是跨子网传输,数据包都交给缺省网关处理,这样势必增加缺省网关(文章下方有解释)的负担,造成网络效率下降。因此,子网掩码应该根据网络的规模进行设置。如果一个网络的规模不超过254台电脑,采用“255.255.255.0”作为子网掩码就可以了,现在大多数局域网都不会超过这个数字,因此“255.255.255.0”是最常用的IP地址子网掩码;假如在一所大学具有1500多台电脑,这种规模的局域网可以使用“255.255.0.0”。

    网关

    网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1~192. 168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1~192. 168.2.254”,子网掩码为255.255.255.0。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目标主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此 所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。

    路由器(Windows下叫默认网关,网关就是路由,路由就是网关不要蒙)

    如果搞清了什么是网关,默认网关也就好理解了。就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。
    下方是百度百科给出的解释

    默认网关

    如何设置默认网关 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。

    • 手动设置:手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。
    • 自动设置:自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了。

    缺省网关

    缺省网关(Default Gateway)是计算机网络中一个如何将数据包转发到其他网络中的节点。在一个典型的TCP / IP网络,节点(如服务器、工作站和网络设备)都有一个定义的默认路由设置(指向默认网关)。可以在没有特定路由的情况下,明确出发送数据包的下一跳IP地址。
    下方是百度百科给出的解释:

    缺省网关

    可以看出缺省网关就是默认网关,那么有人会说既然有一样为什么又凭空多出来一个缺省网关,我的理解是这样的,应该说默认网关是缺省网关的一个子集。缺省网关有一个定义的默认路由设置(指向默认网关),缺省网关就相当于一个代理服务器暂时管理发送的数据包,当发送到目标主机时先由目标主机的缺省网关接收再找到对应的默认网关,就相当于缺省网关是父类,默认网关是子类~~

    DNS服务器

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

    DHCP服务器

    DHCP指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。提升地址的使用率。

    MAC地址

    MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。(知道这个就行了,不用往下看了)
    MAC(Media Access Control,介质访问控制)地址

    • 前24位叫做组织唯一标志符(Organizationally Unique Identifier,即OUI),是由IEEE的注册管理机构给不同厂家分配的代码,区分了不同的厂家。
    • 后24位是由厂家自己分配的,称为扩展标识符。同一个厂家生产的网卡中MAC地址后24位是不同的。
      网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。

    也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一定是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE:电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。

    在一个稳定的网络中,IP地址和MAC地址是成对出现的。如果一台计算机要和网络中另一外计算机通信,那么要配置这两台计算机的IP地址,MAC地址是网卡出厂时设定的,这样配置的IP地址就和MAC地址形成了一种对应关系。在数据通信时,IP地址负责表示计算机的网络层地址,网络层设备(如路由器)根据IP地址来进行操作;MAC地址负责表示计算机的数据链路层地址,数据链路层设备(如交换机)根据MAC地址来进行操作。IP和MAC地址这种映射关系由ARP(Address Resolution Protocol,地址解析协议)协议完成。

    服务器

    1. 服务器的分类
      按照软件开发阶段来分,服务器可以大致分为2种
      (1)远程服务器
      别名:外网服务器、正式服务器
      使用阶段:应用上线后使用的服务器
      使用人群:供全体用户使用
      速度:服务器的性能、用户的网速
      (2)本地服务器
      别名:内网服务器、测试服务器
      使用阶段:应用处于开发、测试阶段使用的服务器
      使用人群:仅供公司内部的开发人员、测试人员使用
      速度:由于是局域网,所以速度飞快,有助于提高开发测试效率
    1. 本地服务器的选择
      远程服务器就是本地内网服务器开放外网访问而已
      如果处于学习、开发阶段,自己搭建一个本地服务器即可

    端口号

    端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口,通过不同的逻辑端口来区分不同的服务。
    端口有什么用呢?我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区 分不同的服务的。

    • 公认端口(Well-Known Ports)
      这类端口也常称之为"常用端口"。这类端口的端口号从0到1023,它们紧密绑定于一些特定的服务。通常这些端口的通信明确表明了某种服务的协议,这种端口是不可再重新定义它的作用对象。80端口实际上总是HTTP通信所使用的,而23号端口则是Telnet服务专用的。
    • 注册端口(Registered Ports)
      端口号从1025到49151。分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是分配好的公认端口的常用程序。
    • 动态和/或私有端口(Dynamic and/or Private Ports)
      之所以称为动态端口,因为它一般不固定分配某种服务,而是动态分配。

    相关文章

      网友评论

      • c4681fd88558:长知识了,介绍的很详细
      • 1e4a44906059:电脑子网掩码与路由器不同能上网吗
      • ea0c4c124fd0:很厉害
      • c660d8321a5e:“请求:客户端向服务器索取数据”——这里也可能是向服务器提交数据吧?
        月下独酌灬:@Samuel_Liu 是的
      • 77536c6ef8aa:子网掩码是“255.255.0.0”的网络:
        后面两个数字可以在0~255范围内任意变化,可以提供255²个IP地址。(为什么不是256²个IP地址呢)求教 :flushed:
      • fdd3550b6fe4:总结的不错
      • 月下独酌灬:http://jingyan.baidu.com/article/08b6a591aaf79614a909227a.html
        给你个链接参考一下,好像有个花生壳的软件也能解决这个问题
      • 0f369fb39283:请问楼主,我无论是通过本地IP还是网络真实IP都找不到本PC,是什么原因?我PC上安装有数据库,试图通过部署在外网服务器上的应用访问我本地PC的数据库,始终连接不上,在局域网测试可以连接使用。
      • f478d32c91a2:加油!
      • coolart:网络这块学的太野路子,感谢梳理啊
        月下独酌灬:@coolart 有帮助就好
      • 02ce0e8ae7af:远程服务器就是本地内网服务器开放外网访问而已
        月下独酌灬:@jianshu简 恩...我补充上~~
      • VicChan:「假设IP地址为“192.168.1.1”子网掩码为“255.255.255.0”。其中,“1”有24个,代表与此相对应的IP地址左边24位是网络号;“0”有8个,代表与此相对应的IP地址右边8位是主机号。」
        这句讲得不清楚,应该是将255.255.255.0转成二进制 就是11111111,11111111,11111111,00000000
        因此高位有24个1,低位有8个0
      • 堂卿:潜意识一直想知道,但不知道自己为什么没有主动寻找答案,如今碰到了,不能错过了
        堂卿:@BW开发者 看完了,感觉明白了些,写的很清晰,赞一个
        月下独酌灬:@堂卿 我就是在这种潜意识下驱动写的,同道中人啊~~
      • 逸之:想想以前学得挺好,现在都忘得差不多了
      • hailei:先收藏。以后再找出来看。
        hailei:@BW开发者 MARK
        月下独酌灬:@BW开发者 MARK的含义
        1,先留名,以后有空再仔细看;
        2,觉得这个帖子能火,先留个名,万一火了,因为自己留过名,说不定也会跟着火;
        3,觉得没什么可回复的,随便说一句mark,表示对楼主(发帖者)的支持。
        月下独酌灬:@hailei 请用网络专用语:MARK :smile:
      • 77489b2d95c8:上课没听到,来这补补课(〜 ̄▽ ̄)〜
      • 572bab62abc2:棒棒哒
      • 25bfc2a94a75:还是不错的,适合菜鸟
        月下独酌灬:@yes5on 想画,不知道有没有空~~
        25bfc2a94a75:@BW开发者 谢谢,今晚更新图?
        月下独酌灬:@yes5on :有帮助就好~~
      • lxqljc:讲的很清楚
        月下独酌灬:@孤者行知 我也就是在百度百科的基础上加了一点自己的想法,想让大家对电脑上的东西有一定的了解,而不是文盲~~ :smile:
      • 零溢:太棒了
        月下独酌灬:@零溢 对你有帮助就好
      • 07797fd75d7d:一直都想总结这样的文章,感谢楼主。
        月下独酌灬:@elnn103 我也是用到这部分知识了,网上的东西好零散~~就总结了一篇 :blush: 大学的时候应该好好听课的...
      • 一路风尘921:门外汉路过,表示不懂~
        一路风尘921:@一路风尘921 不过我会好好学习的,作者好有心,赞。
        月下独酌灬:@一路风尘921 :flushed: ...
      • 19e38ca59171:刚好在入门,马克~
      • bc3307af3185:该有标点和换行的地方都没有,不知道是不是复制的……
        月下独酌灬:@yakiang 我是从百度百科和我自己的一些资料总结的加了一些自己的理解~~
      • 9a5e365e239e:科普工作做得好
        月下独酌灬:@Mattofla 百度百科的搬运工...
      • dongwenbo:来补课了
        月下独酌灬: @dongwenbo 😁
        dongwenbo:@今儿明儿后儿个 好好学习,天天向上
        嗯哎嘶唠咯:@dongwenbo 紧跟博哥的步伐
      • BUG研发工程师:每台电脑的ip并不是唯一的,在同一个网络內才是唯一的!
        月下独酌灬:@Wucy 额。。我指的是网络中的真实IP,不过我确实没说清,我应该把他们区分开来的,晚上会更新的
      • 68f7e106a553:介绍的详细
      • aa9458fbacff:长知识了
      • 靠靠先生:简约
        月下独酌灬:@靠靠先生 谢谢 :smile:
      • 我胖我快乐:写的好。666666
      • Juice007:B类IP地址那里应该是255²。文章中看起来是2552。
        彬哥说话: @JuiceLv B类ip改了,子掩还是255.255.255.0吗?
        月下独酌灬:@I_Lv :smile: 没注意,哈哈~~谢谢指正,已修正。
      • 竹林晓圣:公认端口那地方,0-1023共4024个
        竹林晓圣:@BW开发者 很不错的科普文,简单易懂,推荐给不太懂电脑的女生,到时候电脑连不上网她就能自己解决,不会打扰我code了^_^,
        竹林晓圣:@BW开发者 sorry,车上嗯错了,0-1023共1024个端口
        月下独酌灬:@竹林晓圣 谢谢,已修正 :blush: 但是共4024个是什么意思?

      本文标题:IP、子网掩码、缺省网关/默认网关、DNS、服务器、端口的总结

      本文链接:https://www.haomeiwen.com/subject/lrwtrttx.html