域名到ip地址的转换通过什么实现(IP地址和域名的转换)

域名到ip地址的转换通过什么实现,IP地址和域名的转换内容导航:DNS域名解析服务bind域名与IP地址之间的转换是通过什么服务器来进行的IP地址与域名通过来什么进行转换如何利用Java完成域名和IP地址的转换一、DNS域名解析服务bind1.DNS介绍1.1什么是域名域名(DomainName),简称域名、网域,是由一

域名到ip地址的转换通过什么实现,IP地址和域名的转换

内容导航:

  • DNS域名解析服务bind
  • 域名与IP地址之间的转换是通过什么服务器来进行的
  • IP地址与域名通过来什么 进行转换
  • 如何利用Java完成域名和IP地址的转换
  • 一、DNS域名解析服务bind

    1. DNS介绍

    1.1什么是域名

    域名(Domain Name)
    ,简称域名、网域,是由一串用点分隔的名字组成的Intemet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。具有独一无二,不可重复的特性。

    1.2 什么是DNS?

    域名系统(Domain Name System,缩写:
    DNS)是互联网的一项服务。域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。可以理解为DNS就是翻译官。

    正向解析: 域名 –> IP地址

    反向解析: IP地址 –> 域名 //邮件服务会用到。

    1.3 域名的组成和分类

    常见格式:

    完整格式: .

    . : 根域 ,可省略不写 ,全球13台 ,一台主根 ,其他都是辅根

    com : 顶级域, 由ICANN 组织指定和管理。

    分类:

    国家地区域名: cn (中国) 、hk (香港) 、sg (新加坡)等

    通用顶级域名: com (商业机构) I org (非营利组织) 、edu (教育机构)等。

    新通用顶级域名: red (红色、热情) 、top (顶级、高端)等

    baidu:二级域(注册域) ,可由个人或组织申请注册。

    www: 三级域(子域) ,服务器网站名代表。

    主机名: .中的s1就是主机名,一般用来表示具体某一台主机。 //不常见

    2. 域名解析过程

    1. 客户机首先查看查找本地hosts文件,如果有则返回,否则进行下一步

    2. 客户机查看本地缓存,是否存在本条目的缓存,如果有则直接返回,否则进行下一步。

    3. 将请求转发给指向的DNS服务器。

    4. 查看域名是否本地解析,是则本地解析返回,否则进行下一步。

    5. 本地DNS服务器首先在缓存中查找,有则返回,无则进行下一步。 \\这里的缓存是从其他dns服务器学习来的

    6. 向全球13个根域服务器发起DNS请求,根域返回org域的地址列表。

    7. 使用某一个org域的IP地址,发起DNS请求, org域返回kernel域服务器地址列表。

    8. 使用某一个kernel域IP地址,发起DNS请求,
    kernel域返回主机的IP地址,本地DNS服务收到后,返回给客户机,并在本地DNS服务器保存一份。

    为了安全性,DNS服务器不是随便搭建的,我们最多搭建一个简单的DNS服务器。

    3. DNS软件信息

    软件名称

    bind

    服务名称

    named

    软件端口

    UDP 53 数据通信(域名解析)

    TCP 53 数据同步 (主从同步)

    配置文件:

    主配置文件: /etc/ (服务器运行参数)

    区域配置文件: /etc/ (服务器解析的区域配置,正反向区域定义信息)

    数据配置文件: /var/named/ (主机名和IP地址的对应解析关系,及主从同步信息)

    记录类型:

    A:

    |

    地址记录,用来指定域名的IPv4地址的记录

    —|—

    CNAME:

    |

    将域名指向另一个域名,再由另一个域名提供IP地址,就需要添加CNAME记录

    TXT:

    |

    可填写任何东西,长度限制255。绝大多数的TXT记录是用来做SPF的(反垃圾邮件)

    NS:

    |

    域名服务器记录,如果需要把子域名教给其他DNS服务商解析,就需要添加NS记录。

    AAAA:

    |

    地址记录,用来指定域名的IPv6地址的记录

    MX:

    |

    邮件交换记录,如果需要设置邮箱,让邮箱能收到邮件,就需要添加MX记录。

    4. DNS 实验搭建

    4.1 DNS基本服务搭建

    环境准备

    ip

    |

    节点

    |

    主机名

    —|—|—

    10.30.59.193

    |

    master

    |

    dns1

    10.30.59.194

    |

    测试

    |

    dns2

    基础准备

    # 修改主机名[root@localhost ~]# hostnamectl set-hostname dns1[root@localhost ~]# bash# 配置本地yum源[root@dns1 ~]# mv /etc/.d/* /media/[root@dns1 ~]# vi /etc/.d/[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1[root@dns1 ~]# mkdir -p /opt/centos[root@dns1 ~]# mount /dev/sr0 /opt/centos/mount: /dev/sr0 is write-protected, mounting read-only[root@dns1 ~]# yum repolistLoaded plugins: fastestmirrorcentos | 3.6 kB 00:00:00(1/2): centos/group_gz | 155 kB 00:00:00(2/2): centos/primary_db | 2.8 MB 00:00:00Determining fastest mirrorsrepo id repo name statuscentos centos 3,723repolist: 3,723# 关闭防火墙[root@dns1 ~]# systemctl stop firewalld[root@dns1 ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/ symlink /etc/systemd/system//.[root@dns1 ~]# setenforce 0[root@dns1 ~]# vi /etc/selinux/configSELINUX=disabled# 安装常用工具[root@dns1 ~]# yum install -y vim net-tools bash-c*
    

    服务搭建

    # 安装服务[root@dns1 ~]# yum -y install bind# 配置注意事项 所有内容以;结尾 ,, 大括号两侧内用空格分隔# 配置主配置文件[root@dns1 named]# vim /etc/ns {listen-on port 53 { any; }; //设置服务器监听网卡,any 所有的listen-on-v6 port 53 { ::1; };directory /var/named; // 数据文件保存位置dump-file /var/named/data/cache_;statistics-file /var/named/data/named_;memstatistics-file /var/named/data/named_mem_;allow-query { any; }; //设置访问服务器的客户端地址, any 所有include /etc/; // 最下面有一行配置文件,指定了区域配置文件。# 配置区域配置文件[root@dns1 ~]# vim /etc/  IN {type master;file ;allow-update { none; };};zone  IN {type master;file ;allow-update { none; };};[root@dns1 ~]# cd /var/named/[root@dns1 named]# lsdata dynamic     slaves# 注意与区域配置文件相一致[root@dns1 named]# cp -a  [root@dns1 named]# cp -a  # 正向解析[root@dns1 named]# vim $TTL 1D@ IN SOA . . (0 ; serial1D ; refresh4H ; retry1W ; expire3H ) ; minimumNS  A 10.30.59.193www A 10.30.59.195# 反向解析[root@dns1 named]# vim $TTL 1D@ IN SOA . . (0 ; serial1D ; refresh4H ; retry1W ; expire3H ) ; minimumNS .93 PTR .95 PTR .# 启动服务[root@dns1 named]# systemctl restart named[root@dns1 named]# netstat -ntlp |grep namedtcp 0 0 10.30.59.193:53 0.0.0.0:* LISTEN /namedtcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN /namedtcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN /namedtcp6 0 0 ::1:53 :::* LISTEN /namedtcp6 0 0 ::1:953 :::* LISTEN /named
    

    测试

    # 使用第二台虚拟机, 配置dns为DNS服务器,测试[root@localhost ~]# hostnamectl set-hostname dns2[root@localhost ~]# bash[root@dns2 ~]# vi /etc/sysconfig/network-scripts/ifcfg-DNS1=10.30.59.193[root@dns2 ~]# systemctl restart network# bilibili地址显示为10.30.59.195,说明配置成功。[root@dns2 ~]# ping   (10.30.59.195) 56(84) bytes of  10.30.59.194 icmp_seq=1 Destination Host UnreachableFrom 10.30.59.194 icmp_seq=2 Destination Host UnreachableFrom 10.30.59.194 icmp_seq=3 Destination Host UnreachableFrom 10.30.59.194 icmp_seq=4 Destination Host Unreachable
    

    4.2主从DNS服务器

    目的:

    减轻主服务器的压力,备份

    环境准备:

    centos7-1511,关闭防火墙 selinux

    ip

    |

    节点

    |

    主机名

    —|—|—

    10.30.59.193

    |

    master

    |

    dns1

    10.30.59.194

    |

    slave

    |

    dns2

    10.30.59.195

    |

    ceshi

    |

    localhost

    # 主从两个节点# 配置本地yum源[root@dns1 ~]# cat /etc/.d/[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1[root@dns2 ~]# cat /etc/.d/[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1# 安装服务[root@dns1 ~]# yum install -y bind[root@dns2 ~]# yum install -y bind主节点配置# 主节点配置[root@dns1 ~]# vim /etc/ns {listen-on port 53 { 10.30.59.193; };listen-on-v6 port 53 { ::1; };directory /var/named;dump-file /var/named/data/cache_;statistics-file /var/named/data/named_;memstatistics-file /var/named/data/named_mem_;allow-query { any; };# 区域配置文件只保留一个模板文件[root@dns1 ~]# vim /etc/  IN {type master;file ;allow-update { 10.30.59.194; };};# 修改正向解析配置文件 相对于基本服务,这里多配置一个serial充当版本作用[root@dns1 ~]# cd /var/named/[root@dns1 named]# cp -a  [root@dns1 named]# vim $TTL 1D@ IN SOA . . ( ; serial1D ; refresh4H ; retry1W ; expire3H ) ; minimumNS  A 10.30.59.193www A 10.30.59.195[root@dns1 named]# service named restartRedirecting to /bin/systemctl restart
    

    从节点配置

    [root@dns2 ~]# vim /etc/10 options {11 listen-on port 53 { 10.30.59.194; };12 listen-on-v6 port 53 { ::1; };13 directory /var/named;14 dump-file /var/named/data/cache_;15 statistics-file /var/named/data/named_;16 memstatistics-file /var/named/data/named_mem_ t;17 allow-query { any; };# 配置区域配置文件 只保留一个模板文件[root@dns2 ~]# vim /etc/  IN {type slave;masters { 10.30.59.193; };file slaves/;allow-update { none; };};# 从服务器不需要配置解析文件,会自动同步master节点服务器文件到slaves目录下# 启动前,确认为空目录[root@dns2 ~]# ls /var/named/slaves/# 启动服务[root@dns2 ~]# service named startRedirecting to /bin/systemctl start [root@dns2 ~]# ls /var/named/slaves/
    

    验证结果

    给测试机配置dns为从服务器的地址

    [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-# 从节点的地址DNS1=10.30.59.194[root@localhost ~]# systemctl restart netwoprkFailed to restart : Unit  failed to load: No such file or directory.[root@localhost ~]# systemctl restart network[root@localhost ~]# ping   (10.30.59.195) 56(84) bytes of data.64 bytes from 10.30.59.195: icmp_seq=1 ttl=64 time=0.028 ms64 bytes from 10.30.59.195: icmp_seq=2 ttl=64 time=0.042 ms64 bytes from 10.30.59.195: icmp_seq=3 ttl=64 time=0.040 ms^C---  ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2001msrtt min/avg/max/mdev = 0.028/0.036/0.042/0.009 ms
    

    4.3DNS缓存服务器

    目的:

    加快解析速度,提高工作效率

    实验软件:

    dnsmasq

    操作:

    接上一个环境继续操作,把从服务器当作缓存服务器。

    # 停掉从服务器[root@dns2 ~]# service named stopRedirecting to /bin/systemctl stop # 安装dnsmasq 可能已经安装。yum install -y dnsmasq# 修改配置文件[root@dns2 ~]# vim /etc/n==10.30.59.193cache-size=150# 重启服务[root@dns2 ~]# service dnsmasq restartRedirecting to /bin/systemctl restart # 测试 如果没有nslookup命令,下载bind-utils[root@localhost ~]# nslookup : 10.30.59.194Address: 10.30.59.194#53Name: s: 10.30.59.195# 关掉主服务器[root@dns1 ~]# systemctl stop named# 再次测试 非权威回答[root@localhost ~]# nslookup : 10.30.59.194Address: 10.30.59.194#53Non-authoritative answer:Name: s: 10.30.59.195
    

    请求顺序

    客户端从缓存服务器请求, 缓存服务器没有,去主服务查找, 主服务器没启动,测试没反应, 启动主服务器,再次测试,

    缓存服务器再次请求主服务器,获取域名,返回给客户端。

    # 主服务器没启动[root@localhost ~]# nslookup ^C# 启动主服务器[root@dns1 ~]# systemctl start named[root@localhost ~]# nslookup : 10.30.59.194Address: 10.30.59.194#53Name: s: 10.30.59.193# 再次关闭,有缓存可以解析到。[root@dns1 ~]# systemctl stop named[root@localhost ~]# nslookup : 10.30.59.194Address: 10.30.59.194#53Non-authoritative answer:Name: s: 10.30.59.193
    

    4.4 智能DNS(分离解析)

    目的:

    NDS分离解析即将相同域名解析为不同的IP地址,实现网络中一些网站为了让用户有更好的体验效果解析速度更快,就把来自不通运营商的用户解析到相对应的服务器,这样就大大提升了访问速度。

    实验环境:

    配置一台apache服务器,两个网卡模拟内外网, 两台测试机从内网外网分别访问。dns能够正确解析(内网地址访问解析内网地址,外网地址访问解析外网地址)。

    节点

    |

    IP

    |

    主机名

    |

    备注

    —|—|—|—

    内网测试机

    |

    192.168.100.10

    |

    int

    |

    内外网选择网络模式:内: vmnat1 192.168.100.0/24外: vmnat 8 192.168.200.0/24

    外网测试机

    |

    192.168.200.10

    |

    ext

    apache

    |

    192.168.100.20

    192.168.200.20

    |

    apache

    dns+路由

    |

    192.168.100.30

    192.168.200.30

    |

    dns

    实验大纲:

    1、安装bind软件

    2、内核配置文件开启路由转发,修改/etc/

    3、修改主配置文件/etc/ 配置any,视图

    4、生成自己定义的区域配置文件。

    5、配置数据文件

    内网正向解析,外网正向解析

    6、重启服务

    7、效果测试

    nslookup

    基础环境准备:

    修改主机名 配置ip 所有节点关闭防火墙、selinux、配置本地yum。

    # 内网测试机[root@localhost ~]# hostnamectl set-hostname net1[root@localhost ~]# bash[root@int ~]# cat /etc/sysconfig/network-scripts/ifcfg-TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_ONBOOT=yesIPADDR=192.168.100.10NETMASK=255.255.255.0GATEWAY=192.168.100.30DNS1=192.168.100.30# 外网测试机[root@localhost ~]# hostnamectl set-hostname ext[root@localhost ~]# bash[root@ext ~]# cat /etc/sysconfig/network-scripts/ifcfg-TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_ONBOOT=yesIPADDR=192.168.200.10NETMASK=255.255.255.0GATEWAY=192.168.200.2DNS1=192.168.200.30# 配置双网卡出了一个问题: 一开始本着第一块网卡仅主机模式,然后第二块网卡net模式,就调整第一块网卡为仅主机模式,新加的第二块网卡为net模式, 结果网络不行,就重新配置为第一块网卡为net模式,第二块网卡为net模式。 不影响本案例。# apache[root@localhost ~]# hostnamectl set-hostname apache[root@localhost ~]# bash[root@apache ~]# cat /etc/sysconfig/network-scripts/ifcfg-TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_ONBOOT=yesIPADDR=192.168.200.20NETMASK=255.255.255.0GATEWAY=192.168.200.2DNS1=114.114.114.114[root@apache ~]# cat /etc/sysconfig/network-scripts/ifcfg-ONBOOT=yesIPADDR=192.168.100.20NETMASK=255.255.255.0# dns[root@localhost ~]# hostnamectl set-hostname dns[root@localhost ~]# bash[root@dns ~]# cat /etc/sysconfig/network-scripts/ifcfg-TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_ONBOOT=yesIPADDR=192.168.200.30NETMASK=255.255.255.0GATEWAY=192.168.200.2DNS1=114.114.114.114[root@dns ~]# cat /etc/sysconfig/network-scripts/ifcfg-TYPE=EthernetBOOTPROTO=staticDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_ONBOOT=yesIPADDR=192.168.100.30NETMASK=255.255.255.0# apache 节点安装httpd[root@apache ~]# yum install -y httpd[root@apache ~]# vim /var/www/html/分离解析验证成功![root@apache ~]# systemctl start httpd[root@apache ~]# systemctl enable httpdCreated symlink from /etc/systemd/system// to /usr/lib/systemd/system/.# dns节点安装bind。[root@dns ~]# yum install -y bind
    

    测试一下直接地址访问看看有没有问题

    分离解析配置

    # dns节点永久开启路由转发[root@dns ~]# vim /etc/_forward = 1[root@dns ~]# sysctl -_forward = 1#修改主配置文件# 两个any 监听任意地址# 加两个视图 分别监听内网和其他地址 ,视图匹配规则为自上而下匹配,注意顺序。 match-client匹配地址, include 指定区域配置文件。[root@dns ~]# vim /etc/n-on port 53 { any; };allow-query { any; };view lan {match-clients { 192.168.100.0/24; };zone . IN {type hint;file ;};include /etc/;};view wan {match-clients { any; };zone . IN {type hint;file ;};include /etc/;};#include /etc/;# 修改区域配置文件[root@dns ~]# cp -a /etc/ /etc/[root@dns ~]# vim /etc/  IN {type master;file ;allow-update { none; };};[root@dns ~]# cp -a /etc/ /etc/[root@dns ~]# vim /etc/  IN {type master;file ;allow-update { none; };};# 修改解析文件[root@dns etc]# cd /var/named/[root@dns named]# lsdata dynamic     slaves[root@dns named]# cp -a  [root@dns named]# vim $TTL 1D@ IN SOA . . (0 ; serial1D ; refresh4H ; retry1W ; expire3H ) ; minimumNS  A 192.168.100.30www A 192.168.100.20[root@dns named]# cp -a  [root@dns named]# vim $TTL 1D@ IN SOA . . (0 ; serial1D ; refresh4H ; retry1W ; expire3H ) ; minimumNS  A 192.168.200.30www A 192.168.200.20
    

    测试

    # 启动服务[root@dns named]# systemctl start named# 内网机测试[root@int ~]# curl 分离解析验证成功! \\ 查看是否显示你在主页显示的内容。# 外网机测试[root@ext ~]# curl 分离解析验证成功! \\查看是否同理# 再使用nslookup测试# 两个节点都下载[root@ext ~]# yum install -y bind-utils[root@int ~]# nslookup : 192.168.100.30Address: 192.168.100.30#53Name: s: 192.168.100.20[root@ext ~]# nslookup : 192.168.200.30Address: 192.168.200.30#53Name: s: 192.168.200.20# 可以发现内外网使用的dns地址不同,并且解析出来的ip不同。实验成功!
    

    如果ip更多,就多写视图,多谢区域配置文件与解析文件。

    拓展知识: 邮件服务

    二、域名与IP地址之间的转换是通过什么服务器来进行的

    DNS服务器。DNS(Domain Name
    System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。扩展资料:DNS通过允许一个名称服务器把他的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。任何一个使用IP的计算机网络可以使用DNS来实现他自己的私有名称系统。尽管如此,当提到在公共的InternetDNS系统上实现的域名时,术语“域名”是最常使用的。这是基于504个全球范围的“根域名服务器”(分成13组,分别编号为A至M)。从这504个根服务器开始,余下的Internet
    DNS名字空间被委托给其他的DNS服务器,这些服务器提供DNS名称空间中的特定部分。

    三、IP地址与域名通过来什么 进行转换

    IP地址与域名通过来什么 进行转换DNS服务器内有域名与IP对照表,就可把域名解析成IP地址。
    DNS服务器有多级,是分布的,要一级一级的解析才能最终的得到IP地址。
    这要看网络基础知识。
    网上可搜到ip地址与域名通过来什么 进行转换百年天地回元气 一统山河际太平 国泰民安 汗马绝尘安外振中标青史 锦羊开泰富民清政展新篇 春满人间

    四、如何利用Java完成域名和IP地址的转换

    答:对我们普通用户而言,形象化的符号要比一捆枯燥的数字编码要好记得多。比如,我们会很容易地记住字符串“”,却很难记住206.17.191.12。本文简要地介绍了Internet命名规则和地址的划分约定,然后介绍了如何利用Java语言完成符号名(上面的字符串)和IP地址(上面的数字串)之间的转换工作,并给出一个实例,检查可访问的远程主机。Internet命名规则和地址划分约定在Internet上,符号名(symbolicName)用来命名主机和网络,例如。这些符号名的“学名”叫做“DomainName”,即域名。虽然域名对我们来说方便得多,但在它们用作通信标识之前,必须转换为IP地址(InternetProtocolAddress)。IP地址是一个32位的标识符,包括一个网络标识和主机标识,以便唯一地标识主机和网络。域名转换为IP地址的工作是由专门的系统完成,这就是域名系统(DomainNameSystem??DNS)。?同一网络或不同网络主机之间进行数据的发送/接收时,IP地址就开始起作用了。如果是同一网络中主机之间的数据传递,则仅利用IP地址中的主机标识,来确定网络中主机的所在。另一方面,如果是不同网络中主机之间的通信,则要同时利用主机标识和网络标识来确定相应的主机。定位网络和主机,再进行数据传送的过程称为路由(routing)。网络中的路由器(router)包含一个IP层(IPLayer),它负责执行路由算法,将数据包发送到目的地。在Internet上,将数据库发送到目的地是IP层份内之事。?IP地址是Internet注册部门??NetworkInformationCenter(网络信息中心??NIC)分配给不同的组织,各组织再下放给多个部门。IP地址要占用4个字节。?经过路由的数据包,也有可能会在传送的过程中丢失。于是,人们就利用底层传输协议,来进行数据传送正确与否的判断。例如,TCP用于检查错误或数据丢失,并在出错时,再次发送相应的数据库,直至对方主机正确接收为止。?目前,共计有3类(或3个级别)的IP地址:A类、B类和C类。另外,还有一类IP地址叫作“Multicast”,在某些Internet主机上使用。这些不同类别的IP地址满足了不同组织的需要。例如,A类地址主要用于主机数目超过的大型网络系统;B类地址则用于中型网络系统,其主机数大于255,却小于;C类地址则用于那些主机数量小于256的小型网络。?不同类别地址的十进制表示如下,其中的十进制数代表允许的地址范围:?A类?网络ID主机ID1~1270~2550~2550~25B类?网络ID主机ID128~1910~2550~2550~255C类?网络ID主机ID191~2330~2550~2550~254Multicast?Multicast191~2330~2550~2550~254数字0和255另有特殊的含意。数字0是为那些地址不明的主机保留的。某些情况下,如错误的系统配置,主机标识或网络标识不明的情况也会发生。例如,某个主机的C类地址为0.0.0.42,则说明其主机标识为42,而它所处网络的网络标识则是“未知数”0。?数字255则用于广播发送方式,即一台主机发出的信息会传送到网络中所有的主机上。?获得IP地址为了获得所在网络的IP地址,或者网络中其他主机的IP地址,我们可以用软件包中的ss类加以实现。例如,如果我们希望得到所在网络的IP地址,我们可以调用InetAddress类中的getLocalHost()和getAddress()方法。getLocalHost()返回一个InetAddress对象;而getAddress()则返回一个长度为4的字节数组(IP地址为4个字节)。?如果要编制一个基于网络的应用程序,我们也许需要知道准备运行这个程序的主机的域名或IP地址。如果这个程序只在我们自己的主机上运行,而且我们也知道主机的域名或IP地址,则我们就可以这样进行:定义一个字符串常量即可,如:stringlocalHost=“my-
    machine-name”。

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/104007.html

    (0)
    robot
    上一篇 2022-04-16
    下一篇 2022-04-16

    相关推荐

    • 如何快速提升关键词排名(怎么快速提升关键词排名)

      如何快速提升关键词排名,怎么快速提升关键词排名内容导航:如何快速提升关键词排名如何快速提高百度关键字排名SEO优化怎么才能快速提升网站关键词排名SEO优化怎么才能快速提升网站关键词排名<brSEO优化怎么才能快速提升网站关键词排名一、如何快速提升关键词排名想要快速提升关键词排名夫唯老师讲过:第一步、了解网页的内容首先,你需要知道

      2022-05-11
      0
    • c++字符串逆序输出的方法是什么

      以下是一种C++字符串逆序输出的方法:#include #include using namespace std;void reverseString(string str) {int length = str.length();for (int i = length – 1; i >= 0; i–) {cout << str[i];}cout << e

      2024-02-05
      0
    • android中pickerview的用途有哪些

      用于选择日期和时间:可以使用Pickerview来选择日期和时间,例如在预约或日程安排应用程序中。用于选择省市区:在地址选择或地理位置选择应用程序中,可以使用Pickerview来选择省市区信息。用于选择商品属性:在购物应用程序中,可以使用Pickerview来选择商品的属性,如颜色、尺寸等。用于选择数字:在计数或计时应用程序中,可以使用Pickerview来选择数字。用于选择列表项:在需要用户从

      2024-04-08
      0
    • iphone16还有灵动岛吗

      伴随着iPhone 16面市日期逐渐逼近,关于其独特功能与卓越规格的各类猜测和传闻也随之纷至沓来。据悉,此次新款手机将包含全新设计的捕捉按钮、改善了的Wi-Fi链接、以及能展现更宽阔视野和更高清画质的超级广角相机镜头等诸多惊喜元素iphone16还有灵动岛吗答:有的。 15系列全系上岛,没必要在16系列就把灵动岛给砍掉,而且各种功能也都开始适配了,因此不出意外的话iPhone16系列也会有灵动岛。

      2024-02-20
      0
    • ubuntu如何打开控制面板

      在Ubuntu中,控制面板被称为“系统设置”。您可以通过以下几种方式打开系统设置:通过点击左上角的“Activities”按钮,然后在搜索栏中输入“系统设置”进行搜索,并点击打开系统设置。点击屏幕右上角的系统托盘图标,然后点击“系统设置”图标。使用快捷键Ctrl + Alt + Del,然后在弹出的菜单中选择“系统设置”。在终端中输入命令“gnome-control-center”并按Ent

      2024-03-28
      0
    • ps如何抠透明水杯(ps怎样抠透明红酒杯)

      ps如何抠透明水杯,ps怎样抠透明红酒杯内容导航:PS中如何用应用图像抠透明杯子PS如何快速扣出透明玻璃杯子详细步骤PS杯子抠图怎么处理通透问题呢用PS怎样抠图才能抠出透明纱帐一、PS中如何用应用图像抠透明杯子1、打开ps软件,“文件–打开”,打开一张玻璃杯图片,复制图层;2、“选择–全选”,“编辑–拷贝”,c

      2022-04-25
      0