一台主机上网采用自动获取IP地址的方式,如何简要描述其获取地址的过程及所采用协议工作方式

一台主机上网采用自动获取IP地址的方式,如何简要描述其获取地址的过程及所采用协议工作方式,第1张

主机获取地址的过程及所采用协议工作方式:

发现阶段:即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播的方式发送DHCP discover 发现信息来寻找DHCP服务器(因为DHCP服务器的IP地址对客户机来说是未知的)。

即向255255255255发送特定的广播信息,网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会作出响应。

提供阶段:即DHCP服务器提供IP地址的阶段。在网络中收到DHCP discover发现信息的DHCP服务器都会作出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置额DHCP offer提供信息。

选择阶段:DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。 如果有多台DHCP服务器向DHCP客户机发来的DHCP offer,客户机只接收第一个收到的DHCP offer,然后它以广播的方式回答一个DHCP request请求信息。

该信息中包含它所选定的DHCP服务器请求IP地址的内容。

之所以要以广播的方式回答,是为了通知所有的DHCP服务器,它将选择某台DHCP服务器所提供的IP地址。

总结如下:

DHCP服务器向DHCP客户机出租的IP地址一般都由一个租借期限,期满后DHCP服务器会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送其更新租约的信息。

RequestServerVariables["Remote_Addr"]获得发出请求的远程主机的ip地址

REMOTE_HOST 发出请求的主机名称。如果服务器无此信息,它将设置

为空的 MOTE_ADDR 变量。

REMOTE_USER 用户发送的未映射的用户名字符串。该名称是用户实际

发送的名称,与服务器上验证过滤器修改过后的名称相

对。

REQUEST_METHOD 该方法用于提出请求。相当于用于 >

你说的是客户端的IP吧

def get_client_ip(request):

x_forwarded_for = requestMETAget('>

jsp中:

request方法

客户端IP: requestgetRemoteAddr()

输出:1921680106

客户端主机名:requestgetRemoteHost()

输出:abc

requestgetHeader("Host")

输出:19216801:8080

Web服务器名字:requestgetServerName()

输出:19216801

服务器监听的端口:requestgetServerPort()

输出:8080

在JSP里,获取客户端的IP地址的方法是:requestgetRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用 requestgetRemoteAddr()方法获取的IP地址是:127001或 1921681110,而并不是客户端的真实IP。

经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的>

以上就是关于一台主机上网采用自动获取IP地址的方式,如何简要描述其获取地址的过程及所采用协议工作方式全部的内容,包括:一台主机上网采用自动获取IP地址的方式,如何简要描述其获取地址的过程及所采用协议工作方式、求c# 获得ip来源的方法、用postman发起请求,django中可以获取ip地址么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9660028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存