IP地址与端口

  TCP/IP(传输控制协议/网际协议)不是一个协议,而是一组协议的总称,包括IP、TCP、UDP、ICMP、ARP等。它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据交换格式以及传送方式。

  

  IP地址:是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围内惟一的标识符。

  一个IP地址主要由两部分组成:网络地址和主机地址。

  网络地址由因特网权力机构分配,主机地址由各个网络的管理员统一分配。

  IP地址编制方案有两种:IPV4和IPV6

  IPV4:二进制表示共32位(4个字节)  

  IPV6:二进制表示共128位(16个字节)

  在IPV4编制方案中,一般使用点分十进制表示法表示IP地址。例如:192.168.1.1

  子网掩码:子网掩码用于屏蔽IP地址的一部分以区别网络标识和主机标识。

  把所有的网络位(二进制)用1来标识,主机位用0来标识。

  例如:对于IP地址192.168.0.X,可以将子网掩码设置为255.255.255.0,对于IP地址192.168.0.X,其网络标示部分为192.168.0;主机标示为:X

  端口:IP地址仅仅能够具体标识到某台主机,而端口则表示与计算机上的哪个进程通信。

  根据IP地址找到是与哪台机器通信,根据端口号找到是与该机器的哪个进程通信。

  (一个进程可能会使用多个端口) 端口地址的范围是十进制的0~65535

  IP地址转换相关类

  IPAddress类(System.Net命名空间下):

  常用IPAddress的 Parse方法将IP地址字符串转换为IPAddress的实例。

  例如:IPAddress ip = IPAddress.Parse(“192.168.1.1”);

  IPAddress类常用属性

  Any 提供一个IPv4地址,指示服务器应侦听所有网络接口上的客户端活动。(等效于0.0.0.0)

  Broadcast 提供IPv4广播地址(等效于255.255.255.255)

  Loopback 表示IPv4回送地址(等效于127.0.0.1)

  None 表示Socket不应侦听客户端活动(不使用任何网络接口)。

  IPv6Any 提供可用的IPv6地址

  IPv6Loopback 表示IPv6回送地址

  IPv6None 提供不使用任何网络接口。

  IPEndPoint类包含了连接到主机上的服务所需的IP地址和端口信息。

  IPEndPoint类常用的构造函数为:

  public IPEndPoint(IPAddress, int); 其中第一个参数指定IP地址,第二个参数指定端口号。

  IPHostEntry类的对象中包含了与主机相关的信息。

  常用属性:

    (1)AddressList属性:获取或设置与主机关联的IP地址列表,是一个IPAddress类型的数组,包含了指定主机的所有IP地址;

    (2)HostName属性:包含了服务器的主机名。

    (3)Aliases属性包含了与主机关联的别名列表。 在Dns类中,有一个专门获取IPHostEntry对象的方法。  

     例如:IPAddress[] ips = Dns.GetHostEntry(“http://news.sohu.com").AddressList;

  域名解析

  DNS(Domain Name System,域名系统)提供了一系列静态的方法,用于获取提供本地或远程域名等功能,常用方法有:

  (1)GetHostAddresses方法 获取指定主机的IP地址,返回一个IPAddress类型的数组。

    格式为: public static IPAddress[] GetHostAddresses(string hostNameOrAddress);

    例如:IPAddress[] ips=Dns.GetHostAddresses("www.cctv.com");

    注意:如果hostNameOrAddress是IP地址,则不查询DNS服务器,直接返回此地址。

  (2)GetHostEntry方法 在DNS服务器中查询与某个主机名或IP地址关联的IP地址。 当参数为空字符串时,此方法返回本地主机的IPv4地址和主机名。

    例如: IPHostEntry host = Dns.GetHostEntry("");

    listBox1.Items.AddRange(host.AddressList); //本机所有IPv4地址

    listBox1.Items.Add(host.HostName); //本机主机名

  (3) GetHostName方法 获取本机主机名。

    例如:string hostname = Dns.GetHostName();

四、IP地址转换的更多相关文章

  1. ip地址转换

    通常,我们用点分十进制字符串表示ipv4地址(192.168.1.1),用十六进制字符串表示ipv6地址(fe80::20c:29ff:fee9:4bcc). ipv4转换函数 #include &l ...

  2. [转]字符型IP地址转换成数字IP的SQL函数

    使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       sele ...

  3. 华为上机:IP地址转换

    IP地址转换 描述: IP地址的长度为32,即有2^32-1个地址.IP地址一般采用点分十进制表示法,例如"192.168.1.1".IP地址也可以直接用一个32位的整数进行表示. ...

  4. IP地址转换成Long型数字的算法

    在应用程序开发中,涉及到IP地址的存储,大部分开发人员都将其存为String(或文本类型).能否将固定格式为m.n.x.y的IP地址转换成 Long型的数字呢?答案是肯定的.在数据库层面,可以直接将结 ...

  5. 字符串-06. IP地址转换

    /* * Main.c * D6-字符串-06. IP地址转换 * Created on: 2014年8月19日 *******测试通过******** *转载:http://blog.csdn.ne ...

  6. 套接字编程相关函数(1:套接字地址结构、字节序转换、IP地址转换)

    1. 套接字地址结构 1.1 IPv4套接字地址结构 IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中.下 ...

  7. python整数与IP地址转换

    python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单将一个整数如2000000,变为一个IP地址的方式 >>> import ...

  8. IP地址转换函数

    只适用于IPV4 inet_addr函数将用点分十进制字符串表示的IPv4地址转化为用网络字节序整数表示的IPv4地址. 失败时返回INADDR_NONE. inet_aton函数完成和inet_ad ...

  9. 【网络编程一】主机字节序与网络字节序以及ip地址转换函数

    在计算机设计之初,对内存中数据的处理也有不同的方式,(低位数据存储在低位地址处或者高位数据存储在低位地址处),然而,在通信的过程中(ISO/OSI模型和TCP/IP四层模型中),数据被一步步封装(然后 ...

随机推荐

  1. HDU 4389 X mod f(x)

    题意:求[A,B]内有多少个数,满足x % f(x) == 0. 解法:数位DP.转化为ans = solve(b) - solve(a - 1).设dp[i][sum][mod][r]表示长度为i, ...

  2. We need the sql script to query the table Ditronics.Kiosk.Journal to find journal with mismatch denom information versus amount.

    CREATE TABLE #MoneyTable ( Id , ) PRIMARY KEY , MoneyName ) , Cents INT ) INSERT INTO #MoneyTable ( ...

  3. 【Python】一个python实例:给重要的文件创建备份.摘自crossin-python简明教程

    问题:写一个可以为所有重要文件创建备份的程序 考虑:源路径和目标路径各是什么;所有重要文件-有哪些;备份文件格式是什么;定期备份的话,备份文件名称如何规定等等.(ps,我自己只想到一个路径和名称) 程 ...

  4. uva 11019 Matrix Matcher

    题意:给出一个n*m的字符矩阵T,你的任务是找出给定的x*y的字符矩阵P在T中出现了多少次. 思路:要想整个矩阵匹配,至少各行都得匹配.所以先把P的每行看做一个模式串构造出AC自动机,然后在T中的各行 ...

  5. Linux内核,文件系统移植过程中出现的一些问题与解决办法

    1.bootm地址和load address一样 此种情况下,bootm不会对uImage header后的zImage进行memory move的动作,而会直接go到entry point开始执行. ...

  6. static,interface and final

    1.static: a)抽象类(abstract class):使用了 abstract 关键字所修饰的 类叫做抽象类.抽象类无法实例化,不能 new 出来一个抽象类的对象(实例). 抽象方法(abs ...

  7. Sublime Text 2结合VS2010配置C C++编译

    本文参考以下文章 特此谢谢 http://www.cnblogs.com/akira90/archive/2013/01/02/2842571.html 因遇到错误,浪费一个小时才解决 一.利用VS2 ...

  8. Project: Individual Project - Word frequency program----11061192zmx

    Description & Requirements http://www.cnblogs.com/jiel/p/3311400.html 项目时间估计 理解项目要求: 1小时 构建项目逻辑: ...

  9. hdoj 3790 最短路径问题

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  10. 《数据通信与网络》笔记--QoS

    QoS(Quality of Service)服务质量,是网络的一种安全机制, 是用来解决网络延迟和阻塞等问题的一种技术. 1.QoS参数 衡量服务质量QoS的参数主要包括: 端到端延迟(Delay) ...