请熟悉TCP/IP协议和对子网掩码有见解的高手们进来一下下,小弟有困惑

作者&投稿:冀军 (若有异议请与网页底部的电邮联系)
TCP/IP协议里没有子网掩码和默认网关选项~

你打开的是拨号连接的属性。
需要打开本地连接的属性才有 。
请确认一下。

我想在程序中根据配置来设置TCP/IP协议的IP地址和子网掩码,如何实现?最好用API函数来实现,修改注册表方法我自己实现了,只是把拨号网络适配器的TCP协议的IP地址也改变了。

以下答案为本人原创,绝非复制。分两部分来回答你的疑问。

一、子网掩码的含义和根据子网掩码划分子网

一个IP地址必然属于某一个网络,或者叫子网。子网掩码就是用来指定某个IP地址的网络地址的,换一句话说,就是用来划分子网的。

例如,一个A类网络可以容纳16777214台主机。但是在实际运用中,不可能把一个A类网络只用于一个子网,因为那样管理起来很不方便,也会出现广播风暴等种种问题,所以需要根据实际需求把它划分为若干个较小的子网。一个B类网络可以容纳65534台主机,往往也是需要划分子网的。即便一个小型企业内部,为了部门之间的职能的需要,配置那些电脑可以互相访问,哪些不能互相访问,就需要通过划分子网的方法来实现。

子网划分的问题看起来很复杂,其实也不是很复杂。只要把IP地址的位数、网络位数、主机位数、子网掩码的位数这几个概念搞清楚,就觉得很简单了。

IP地址位数=网络位数+主机位数=32位。子网掩码的位数就是网络的位数。

A类网络的网络位数是8位,子网掩码就是11111111.00000000.00000000.00000000,换算成二进制表示为255.0.0.0。

B类网络的网络位数是16位,子网掩码就是11111111.11111111.00000000.00000000,换算成十进制表示为255.255.0.0。

C类网络的网络位数是24位,子网掩码就是11111111.11111111.11111111.00000000,换算成十进制表示为255.255.255.0。

A类网络加长子网掩码到16位就把一个A类网络划分为256个B类网络同样大小的网络,再加长到24位就又把每个B类大小的子网划分为256个C类网络大小的子网。就是这个道理。一个大的网络,通过把子网掩码加长,使网络位多了,也就是网络数目多了,子网就多了。

当然你也可以不划分为256个子网,而划分为128个,64个,32个,16个,8个,4个,2个。

一个B类网络的默认子网掩码为255.255.0.0,你如果想把它划分为2个子网,网络位数就成立17位,也就是说子网掩码就变成了255.255.128.0;想划分为16个子网,因为16是2的4次方,所以网络位数加4变成了20位,也就是说子网掩码加长,成了20位,就是255.255.240.0。依此类推。

一个C类网络的默认子网掩码为24位的,那么主机位=32-24=8位,2的8次方等于256,所以一个C类网络的IP地址数量(包括网络地址和广播地址)为256个。

但是你仍然可以通过加长子网掩码的手段,把一个C类子网划分为更多的子网。划分的子网数必定是2的n次方个,每个子网的IP数量必定是2的(8- n)次方个。

子网掩码加长1位,划分2个子网;加长2位,划分4个子网,加长6位,划分2的6次方个,也就是64个子网。

子网掩码的1的个数表示网络位的个数,简单地来说,网络位是不属于你控制的,是上级主管给你的,给你多少就是多少。但是主机位是你可以控制的,你可以把它缩短,把缩短出来的位数加到网络位中,这样网络位就长了,子网数就多了,相应地每个子网的IP数量就少了。

记住下面的公式,遇到再复杂的子网划分问题也难不倒你了。

IP地址位数=32
网络位+主机位=32
子网掩码加长n位,则在当前子网基础上划分为2的n次方个子网。每个子网的IP地址数量=2^(32-划分前子网掩码位数-n)

二、如何根据子网划分的目标计算子网掩码

简单来说,子网掩码就是网络地址的位数。

一个IP地址一共有32位,其中靠前的某些位表示网络地址,后面的某些位表示主机位。

网络位数+主机位数=IP地址位数=32

知道了这个道理,计算子网掩码的方法就是:已知子网内IP数的多少,求出主机位的位数,用32减去主机位数就等于网络位数,也就是子网掩码。

举最简单的例子。一个C类网络,包括256个主机位置,256是2 的8次方,所以主机位是8,那么网络位就是32-8=24,也就是说子网掩码是24位,用二进制表示就是11111111.11111111.11111111.00000000,换算成十进制就是255.255.255.0

再比如一个C类网络划分的子网,每个网络主机IP数是32, 而32是2的5次方,所以主机位是5,那么网络位就是32-5=27,也就是说子网掩码是27位,用二进制表示就是11111111.11111111.11111111.11100000,换算成十进制就是255.255.255.224

再比如一个B类网络划分的子网,每个网络主机IP数是1024, 而1024是2的10次方,所以主机位是10,那么网络位就是32-10=22,也就是说子网掩码是22位,用二进制表示就是11111111.11111111.11111100.00000000,换算成十进制就是255.255.252.0

子网划分是通过改变子网掩码的位数来实现的。比如一个C类IP地址,默认子网掩码是24位的,二进制表示是11111111.11111111.11111111.0000000,换算成10进制的就是255.255.255.0。

如果是这样的子网掩码,后面的8位都可以用来做为主机的位置,2 的8次方等于256,一共有256个IP位置,因为有2个不能用,所以可用的主机位置为254个。

但是你要把这样一个地址划分成2个子网,就要从主机位里拿出一位来作为网络地址,网络地址就成了25位了。相应地主机位就成了7位了,2 的7次方等于128,一共有126个地址可用。

这是从正向来说的,就是已知要划分的子网数,求每个子网的主机数。但是在实际工作中往往是先知道每个子网的主机数,让你划分子网。其实也很简单。

首先你算一下主机数更接近于2 的几次方,那么主机位数就是几位。32减去主机位就是网络位。

举例说明。假如给你一个C类IP地址192.168.0.0。假如你想划分2个子网,一个里面有100台电脑,另一个有50台电脑。

100大于2的6次方,小于2的7次方,所以主机位数取7位。那么网络位数就是32-7=25位。25位的子网掩码11111111.11111111.11111111.10000000 换算成10进制的就是
255. 255. 255. 128,这就是第一个子网的子网掩码,网络号为192.168.0.0/25,网络地址192.168.0.0,主机地址192.168.0.1~192.168.0.126,广播地址192.168.0.127

50大于2的5次方,小于2的6次方,所以主机位数取6位。那么网络位数就是32-6=26位。26位的子网掩码11111111.11111111.11111111.11000000 换算成10进制的就是
255. 255. 255. 192,这就是第二个子网的子网掩码,网络号为192.168.0.128/26,网络地址192.168.0.128,主机地址192.168.0.129~192.168.0.190,广播地址192.168.0.191

注:以上的这些内容其实是我把以前我给其他网友的3个提问的回答拼接到一起又整理了一下搞出来的。可能看起来比较乱,对不起了。你搜搜网上的那些回答,比我的更乱。

子网掩码和子网划分的概念和方法,对于不会的人来说,特别难。一旦你会了,又会觉得特别简单。也许你看了我上面的回答还是云里雾里,看着很头大。但说不定哪一天你就豁然开朗了,又会觉得这些东西很简单,根本不用写那么多。

这个就是子网掩码的知识了,如果是255就代表相同,比如子网掩码是255.255.255.0,那么192.168.1.1和192.168.2.1就不是一个,如果修改成255.255.0.0就是一个了。还有分成不同段的就是对最后一位进行修改了,你将255分成8个1,8个1的时候就是255,范围是0-255.修改7个1就是254,两个网段不是一个范围,6个1是252,四个是一个网段,计算方法是我自己理解的,八个1中,你缺几个1就是2的几次幂,有条件的话可以自己去尝试一下,将255拆开看就明白了。

将十进制换算成2进制之后做“与”预算……也就是同为“1”的时候时候才是1……所以更改一下子网掩码,就可将子网分开!

子网掩码的计算是被定义的,这个没法跟你解释。

但是感觉你对不同的子网有些疑惑。
不同子网之间是不能通信的。
原因在于数据在发送之前需要封装,封装时会根据子网掩码判断目的IP所在的网段,
若不在一个网段,那么该数据帧会交给网关,而不是直接发往目的主机。
若在一个网段,那么该数据帧会直接发往目的主机。
所以子网掩码可以被源主机用来判断目的主机是否和自己处于一个网段,希望你能理解。

另外子网掩码划分网段后,可以为路由提供排障的便利,以及逻辑路由寻址提供便利。


怎样算得上熟悉 TCP\/IP 协议编程
1)熟悉TCP\/IP协议族的基本原理 IP地址的分类,定义,获得,大概的管理方法 TCP、UDP等主要协议的特点,主要格式,以及重要字段在协议交互中起到的作用。2)对于简单的TCP\/IP协议导致的问题,有基本的判断 熟悉网络问题的解决方法,一个问题,应该是由上而下(top-button),还是由下而上(button-top)...

怎么样叫做熟悉了TCP\/IP协议啊
TCP\/IP是个协议簇 熟悉的情况起码应该了解都有些什么协议(如IP,ICMP,TCP,UDP...)各个协议的报头是怎么样的

什么叫熟悉TCP\/IP协议
就是对tcpip协议族的构成和运行方式比较熟悉,熟练运用和开发使用吧

请教,通常招聘软件开发职位信息中的熟悉tcp\/ip具体是指什么?
会使用socket技术说明你已经非常熟悉网络通信了。然而tcp\/ip作为互联网的基础,是一些做底层技术公司必须要熟悉的。说直白点socket是建立在tcp上的一个封装,其实你只是用,而并不需要知道实际01代码是如何在网络中传输的方式。如果要了解这部分知识需要 1.互联网络基础,普通教材就行,不必太深。先大概了...

招聘要求中的熟悉TCP\/IP网络,熟悉TCP\/Ip协议,都具体要会点什么_百度知...
。。。也就是熟悉常见的各种网络,知道各种网络的原理,才能更好地解决网络中可能出现的原理,这个要求不是说要你背诵些书面的协议,而是要你理解这些协议的意思,并应用到实践中

网络安全擅长领域怎么填
1、熟悉tcp\/ip协议,熟悉sql注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉ddos攻击类型和原理有一定的ddos攻防经验,熟悉iis安全设置、熟悉ipsec、组策略等系统安全设置。2、精通网络安全技术:包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵...

电子商务设计师考试要求掌握哪些?
根据软考电子商务设计师考试大纲,电子商务设计师考试要求掌握的内容如下:(1)熟悉计算机系统基本原理、计算机主要部件与常用I\/O设备的功能;(2)熟悉网络操作系统的基础知识以及安装和使用;(3)熟悉多媒体系统基础知识,掌握数据库系统基础知识和应用;(4)掌握计算机网络基本原理,熟悉TCP\/IP的体系结构...

网络工程专业主要做什么?
网络工程师:是指从事计算机网络系统的规划、设计,网络设备的软硬件安装调试,网络系统的运行、维护和管理的中级技术人员。(1)熟悉计算机系统基础知识;(2)熟悉数据通信的基本知识;(3)熟悉计算机网络的体系结构,了解TCP\/IP协议的基本知识;(4)熟悉常用计算机网络互连设备和通信传输介质的性能、特点...

运维工程师需要什么技能?
深入理解Linux操作系统 加分技能:熟悉开源的监控平台工具,比如:Ganglia、Nagios等 熟练掌握Shell脚本熟悉Awk、Sed等基础工具 熟悉分布式计算或者存储系统,比如Hadoop\/Hbase\/Storm等 熟悉机器学习原理能付诸实践者更佳 熟悉TCP\/IP、HTTP等网络协议,精通socket网络编程 软素质要求:强烈的责任心与主动性,对...

做底层软件开发需要掌握那些知识
掌握调试工具如GDB和perf,是进行系统级调试和性能优化的必备手段。网络协议理解也很重要,要熟悉TCP\/IP协议族,能进行网络编程和底层协议开发。在编程语言的选择上,汇编语言提供直接硬件控制,C和C++因高效和控制性强常用于操作系统和驱动开发;Rust和Ada则以安全和结构化特性,适合于底层系统开发。底层...

正阳县13826494454: TCP/IP协议是什么?IP、ICMP和RARP协议有什?
巴岸安吉: TCP/IP(Transmission Control Protocol/Internet Protocol的简写,中文译名为传输控制协议/互联网络协议)协议是Internet最基本的协议,简单地说,就是由底层的IP协议和...

正阳县13826494454: Web服务器使用的主要协议是TCP/IP对?
巴岸安吉: TCP/IP协议是一个协议族,包括了一大组协议,对于整个服务器而言,在底层联系使用的是IP协议来实现地址的寻找,使用TCP或者UDP协议(都是TCP/IP协议族中的同层次协议)来实现各种服务的连接建立,然后使用各种应用服务协议来实现各种具体的服务,比如DNS协议实现DNS服务,HTTP或者HTTPS来实现WEB服务,用SMTP,POP3协议来实现电子邮件的服务等等.

正阳县13826494454: 简述OSI七层模型的TCP/IP模型都有哪几层和他们的对?
巴岸安吉: OSI各层的名称和功能简介:物理层物理层规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性.该层为上层协议提供了一个传输数据的...

正阳县13826494454: TCP/IP协议怎么设置,知道协议的配置是错误该怎么修改?
巴岸安吉: 1.右键网上邻居属性2.右键本地连接属性3.单击TCP/IP属性4.进入界面 输入IP地址,掩码一般为255.255.255.0输入网关,输入DNS服务器地址5.确定,完成

正阳县13826494454: 请问局域网,广域网是什么?TCP/IP协议是什么?文件传输功能是什么?形象点.谢谢. -
巴岸安吉: 我是这么认为的!局域网通常是在一座楼内或几座楼宇之间,通过双绞线和交换机连接的网络,可以共享网络资源协同办公.广域网络是把不同地点的局域网络连接起来的网络,通常都需要通过路由设备连接.TCP/IP协议,即传输控制协议/互联网络协议.主要用于因特网络文件传输的协议.文件传输功能,通常是指通过互联协议传送文件.

正阳县13826494454: TCP/IP的各种协议都有端口号码?
巴岸安吉: 不都有,只有应用层协议才有.因为应用层到传输层会加上一个传输层报头,其中包含端口号.TCP/IP协议分四层(五层也可),其中应用层识别进程,协议当中会包含进程号;传输层负责端到端传输,会为上层协议加上报头,其中包含端口号;网络层主要负责传输路径,所以包含IP地址;数据链路层负责无错误透明传输数据帧,故有MAC地址.可以随时追问,祝你好运~

正阳县13826494454: ACPIUniprocessorPC如何连接无线网?ACPIUn
巴岸安吉: PC电脑WiFi上网的操作指引 (1) 设置TCP/IP在您的电脑上装好无线网卡后(笔记本您基本是已安装好的),右键桌面网上邻居图标-属性在弹出窗口中会出现无线...

正阳县13826494454: TCP/IP参考模型的传输层和应用层的主要设备各是什么?! -
巴岸安吉: TCP/IP参考模型 TCP/IP协议的开发研制人员将Internet分为五个层次以便于理解,它也称为互联网分层模型或互联网分层参考模型,如下表: 应用层(第五层) 传输层(第四层) 互联网层(第三层) 网络接口层(第二层...

正阳县13826494454: TCP/IP协议是什么?
巴岸安吉: TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接.一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介...

正阳县13826494454: 请问:什么是TCP\IP协议?什么是SPX/IPX协议? -
巴岸安吉: 网络协议(Protocol)是一种特殊的软件,是计算机网络实现其功能的最基本机制.网络协议的本质是规则,即各种硬件和软件必须遵循的共同守则.网络协议并不是一套单独的软件,它融合于其他所有的软件系统中,因此可以说,协议在网络...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网