今天在用c代码实现设置网络地址的时候竟然不知到网关与IP地址要在同网段这个关系,比较汉。赶紧补一下!!
IP地址
TCP/IP(Transmite Control Protocol 传输控制协议/Internet Protocol网际协议)已成为计算机网络的一套工业标准协议。
在应用 TCP/IP协议的网络环境中,为了唯一地确定一台主机的位置,必须为TCP/IP协议指定三个参数,即IP地址、子网掩码和网关地址。
IP 地址实际上是采用IP网间网层通过上层软件完成“统一”网络物理地址的方法,这种方法使用统一的地址格式,在统一管理下分配给主机。Internet网上不同的主机有不同的IP地址,每个主机的IP地址都是由32比特,即4个字节组成的。为了便于用户阅读和理解,通常采用“点分十进制表示方法”表示,每个字节为一部分,中间用点号分隔开来。如10.67.53.5就是胜利油田计算中心WEB服务器的IP地址。每个IP地址又可分为两部分。网络号表示网络规模的大小,主机号表示网络中主机的地址编号。按照网络规模的大小,IP地址可以分为A、B、C、D、E五类,其中A、B、C类是三种主要的类型地址,D类专供多目传送用的多目地址,E类用于扩展备用地址。A、B、C三类IP地址有效范围如下表:
A类:
1~126 0~255 0~255 1~254
B类:
128~191 0~255 0~255 1~254
C类:
192~223 0~255 0~255 1~254
在IP地址中,有几种特殊含义的地址:
广播地址
TCP/IP协议规定,主机号部分各位全为1的IP地址用于广播。所谓广播地址指同时向网上所有的主机发送报文,也就是说,不管物理网络特性如何,Internet网支持广播传输。如136.78.255.255就是B类地址中的一个广播地址,你将信息送到此地址,就是将信息送给网络号为 136.78的所有主机。
有限广播地址
有时需要在本网内广播,但又不知道本网的网络号时,TCP/IP协议规定32比特全为1的IP地址用于本网广播,即255.255.255.255。
“0”地址
TCP/IP协议规定,各位全为0的网络号被解释成“本网络”。若主机试图在本网内通信,但又不知道本网的网络号,那么,可以利用“0”地址。
回送地址
C类网络地址的第一段十进制数值为127是一个保留地址,如127.0.0.1用于网络软件测试以及本地机进程间通信。
子网掩码
为了快速确定IP地址的哪部分代表网络号,哪部分代表主机号,以及判断两个IP地址是否属于同一网络,就产生了子网掩码的概念。子网掩码给出了整个IP地址的位模式,其中的1代表网络部分,0代表IP主机号部分,应用中也采用点式十进制表示。用它来帮助确定IP地址网络号在哪结束,主机号在哪开始。A、 B、 C三类网络的标准缺省掩码如下:
A类:
11111111.00000000.00000000.00000000
255.0.0.0
B类:
11111111.11111111.00000000.00000000
255.255.0.0
C类:
11111111.11111111.11111111.00000000
255.255.255.0
网关
在Internet中的网关一般是指用于连接两个或者两个以上网段的网络设备,通常使用路由器(Router)作为网关。在TCP/IP网络体系中,网关的基本作用是根据目的IP地址的网络号与子网号,选择最佳的出口对IP分组进行转发,实现跨网段的数据通信。
有时候把网关也认为是这个具有数据转发设备的IP地址,网关与其子网的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地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
分享到:
相关推荐
C#实现得到本机的IP、子网掩码和网关地址C#实现得到本机的IP、子网掩码和网关地址
c语言,包含获取指定网口ip地址,mac地址,网关,以及c语言实现修改ip,网关,子网掩码,以及设置socket套接字加入到多播组的方法;。
IP地址-子网掩码-默认网关
本程序可以手动设置IP 地址等参数也可以自动获取IP地址的功能,希望对大家有所帮助
完整的linux主机IP配置方案,希望对大家有用。
用js实现通过ip和子网掩码计算出网络地址
c语言,包含获取指定网口ip地址,mac地址,网关,以及c语言实现修改ip,网关,子网掩码,以及设置socket套接字加入到多播组的方法;可以实现linux下的time_t和字符串的相互转换。
注意这不VB原码,这是EXE程序。...(1)一键快速设置自己的IP地址,子网掩码,默认网关,首先 DNS,备用 DNS,网络 MAC.! (2)方便不熟悉网络的朋友,查看自己的网络MAC地址,! (3)查看某IP是否在线!
VB 取多网卡IP MAC地址 子网掩码 网关
设置本机的ip地址,子网掩码,网关,dns
自动判断原有系统,根据本机MAC地址自动设置IP DNS 网关 子网掩码 计算机名 计算机描述。配置文件里可任意增减MAC地址。特别提醒:只支持单网卡。此软件要收费,收费之后将配置文件发给你,自己根据你的NAC地址进行...
不同的物理网络技术有不同的编址方式;不同物理网络中的主机, 有不同的物理网络地址。网间技术是将不同物理网络...下进行地址分配,保证一个地址对应一台网间主机(包括网关), 这样物理地址的差异被IP层所屏蔽。
设置IP地址子网掩码网关.doc
获取、修改计算机的IP地址及子网掩码,高人写的代码
#/usr/bin/env bash # Name: get_network_info.sh # Author: Purple_Grape # This is a script to gather network information of your Linux system. # Test under Ubuntu 10.04 ...IP=`LANG=C ifconfig $NIC | awk
IP地址、子网掩码、网关和DNS[参考].pdf
VC 在不重启电脑的情况下修改本机IP地址、掩码以及网关,可以使用GetAdaptersInfo来取得网卡信息,但其显示的名称不是很具体,大家似乎觉得奇怪,修改这些似乎就不需要重启电脑吧?对,不过本程序当时写的时候是适用...
实例1):IP地址和子网掩码的要点和计算实例 实例2):一个公司有10个部门,要求给每个部门划分不同的网段,但是都在192.
ip地址及子网掩码换算,子网划分教程. 内容包括子网数计算,二进制转十进制,已知IP 地址,如何计算其子网掩码,默认网关地址,网络地址等。
C#制作IP地址控件(IP、子网掩码、网关、DNS)源码。生成的是dll文件,使用时加载到工具栏即可。 默认为IP地址,如果需要设置为子网掩码、网关等,更改控件属性iIPType即可。 源码、生成文件均在压缩包内