当前位置:首页 » 《随便一记》 » 正文

IP地址与域名解析——网络编程入门(二)

25 人参与  2024年10月27日 12:40  分类 : 《随便一记》  评论

点击全文阅读


IP地址与端口

IP地址(Internet Protocol address)是分配给网络上设备(如计算机、路由器等)的标识符,用于在网络中唯一标识和定位设备。
IP地址分为IPv4和IPv6两种格式,其中IPv4是较为常见的形式,而IPv6则是为了解决IPv4地址空间不足而设计的新格式。
传统的 IPv4 地址,一个IP地址主要由两部分组成,用于识别该地址所属的网络号和指明网络内的主机号。这种划分是为了实现网络的分层结构和管理。

网络号(Network ID)
网络号用来标识一个设备所连接的网络。在IPv4地址中,网络号的划分是基于子网掩码(Subnet Mask)来确定的。子网掩码指定了IPv4地址中哪些位数用于网络号,哪些位数用于主机号。

例如,对于IPv4地址 192.168.1.1 和子网掩码 255.255.255.0:
IP地址 192.168.1.1 的网络号是 192.168.1
子网掩码 255.255.255.0 表示前24位用于网络号,后8位用于主机号。

主机号(Host ID)
主机号用于标识一个特定网络中的不同设备。在给定的网络中,主机号用剩余的位数来表示。
对于IP地址 192.168.1.1,主机号部分是 1
这意味着在以 192.168.1 作为网络号的网络中,主机号为 1 的设备是 192.168.1.1

IP地址的分类
在IPv4中,根据网络号的位数分配不同的IP地址类别,主要有以下几种类别:
A类地址:第一位固定为0,剩余的7位用于网络号,24位用于主机号。
B类地址:前两位固定为10,剩余的14位用于网络号,16位用于主机号。
C类地址:前三位固定为110,剩余的21位用于网络号,8位用于主机号。

IPv4地址
IPv4地址是32位长,通常用点分十进制表示,如 192.168.1.1。每个IPv4地址由4个8位组成,每个组的取值范围是0到255,共计约42亿个可能的地址。

IPv6地址
IPv6地址是128位长,通常用冒号分隔的十六进制表示,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334。IPv6地址的结构不同于IPv4,其中一部分用于标识子网,一部分用于标识主机,但不像IPv4那样严格分成网络号和主机号。IPv6地址的数量非常庞大,远远超过IPv4,以应对互联网设备爆炸性增长和地址短缺的问题。

IP地址的作用
唯一标识:每个设备在网络中都有一个唯一的IP地址,通过IP地址可以确保数据包的准确发送和接收。
路由:IP地址帮助路由器和网络设备决定如何将数据包从源地址发送到目标地址。
通信:IP地址是网络通信的基础,通过IP地址可以进行设备之间的数据传输和通信。

端口

定义端口是为了解决与多个进程同时进行通信的问题。实际上相互完成通信功能的不是两台计算机,而是两台计算机上的进程,所以通信需要知道目标进程,端口号用于标识设备上具体应用程序或服务,可以利用端口号来区分哪个是目标进程。

一个IP地址可以有多个端口,每个端口都用于不同的应用程序或服务。端口号的范围是从0到65535,其中0到1023是系统保留端口,常用于一些众所周知的服务(如HTTP服务的80端口、FTP服务的21端口等),而大于1023的端口则可以由用户自定义使用。

IP地址转换相关类

两台计算机相互通信,必须知道对方的IP地址和端口号以及采用的网络通信协议。常见的几个基本类:提供网际协议IP地址的IPAddress类,包含IP地址和端口号的IPEndPoint类和为主机提供信息容器的IPHostEntry类, 都位于System.Net 命名空间。

IPAddress

 try {     IPAddress address = IPAddress.Parse("192.168.168.130");//若IP格式不正确会引发异常 } catch (Exception ex) { } IPAddress iPAddress; bool result = IPAddress.TryParse("192.168.168.130", out iPAddress);//即使IP格式不正确也不会引发异常,转换的地址为null.

IPAddress常见字段
IPAddress.Any:提供一个IPv4地址,用于表示任意本地主机的IP地址,IPAddress.Any 表示为 IPv4 中的 0.0.0.0,用于监听监听所有网络接口的连接请求。

IPAddress.Broadcast:表示广播地址,在 IPv4 中表示为 255.255.255.255,用于发送数据包到本地网络中的所有设备。

IPEndPoint
IPEndPoint用来表示网络上的端点(即IP地址和端口号的组合)的类。

int port = 8899;IPAddress ipAddress = IPAddress.Parse("192.16.21.250"); // 创建服务器端绑定的 IPEndPoint IPEndPoint localEndPoint = new IPEndPoint(ipAddress, port);

IPHostEntry
IPHostEntry 用于存储主机的 IP 地址信息,IPHostEntry 实例包含了一个主机的所有相关的 IP 地址信息,包括主机名、主机的多个 IP 地址(IPv4 和 IPv6)、别名等。

//获取百度服务器所以IP地址IPAddress[] ips = Dns.GetHostEntry("baidu.com").AddressList;//获取本机所有IPv4和IPv6地址ips = Dns.GetHostEntry(Dns.GetHostName()).AddressList;

域名解析

域名解析:将域名转为对应IP地址的过程称为域名解析,DNS(Domain Name System,域名系统)可以将域名和IP地址相互转换。

IPAddress[] ips = Dns.GetHostAddresses("baidu.com");//获取指定域名主机所有IP地址

点击全文阅读


本文链接:http://zhangshiyu.com/post/178513.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 祖母寿宴,侯府冒牌嫡女被打脸了(沈屿安秦秀婉)阅读 -
  • 《雕花锦年,昭都旧梦》(裴辞鹤昭都)完结版小说全文免费阅读_最新热门小说《雕花锦年,昭都旧梦》(裴辞鹤昭都) -
  • 郊区41号(许洛竹王云云)完整版免费阅读_最新全本小说郊区41号(许洛竹王云云) -
  • 负我情深几许(白诗茵陆司宴)完结版小说阅读_最热门小说排行榜负我情深几许白诗茵陆司宴 -
  • 九胞胎孕妇赖上我萱萱蓉蓉免费阅读全文_免费小说在线看九胞胎孕妇赖上我萱萱蓉蓉 -
  • 为保白月光,侯爷拿我抵了债(谢景安花田)小说完结版_完结版小说全文免费阅读为保白月光,侯爷拿我抵了债谢景安花田 -
  • 陆望程映川上官硕《我的阿爹是带攻略系统的替身》最新章节阅读_(我的阿爹是带攻略系统的替身)全章节免费在线阅读陆望程映川上官硕
  • 郑雅琴魏旭明免费阅读_郑雅琴魏旭明小说全文阅读笔趣阁
  • 头条热门小说《乔书意贺宴临(乔书意贺宴临)》乔书意贺宴临(全集完整小说大结局)全文阅读笔趣阁
  • 完结好看小说跨年夜,老婆初恋送儿子故意出车祸_沈月柔林瀚枫完结的小说免费阅读推荐
  • 热推《郑雅琴魏旭明》郑雅琴魏旭明~小说全文阅读~完本【已完结】笔趣阁
  • 《你的遗憾与我无关》宋怀川冯洛洛无弹窗小说免费阅读_免费小说大全《你的遗憾与我无关》宋怀川冯洛洛 -

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1