PPP,以太网IP以及无线局域网IP分析

今天在创建socket服务端的时候,用Python的socket查找本机IP地址。

方法:hostname=socket.gethostname()

        host = socket.gethostbyname(hostbame)

后面打印下host,发现host竟然是我的PPP适配器的ip地址。这就让我很郁闷呢!

PPP,以太网IP以及无线局域网IP分析_第1张图片
气哭,怪不得客户端连不上

后面网上查了下,原来是自己查找的有问题,应该是调用socket.gethostbyname_ex()。

但根据官网资料显示,我们想要的真正本机IP地址应该是在host=socket.gethostbyname_ex(hostname)[2][1]。

socket.gethostbyname_ex()返回值是一个元组数据,第一个是计算机设备名,第二个一般为空数组,第三个是个数组[PPP适配器IP地址,本机IP地址]。所以我们要取值到socket.gethostbyname_ex()[2][1]。



一般查询本机的IP地址是通过在cmd中运行:ipconfig命令来得到的,但我们会经常发现不止一个IPv4地址,有PPP适配器的IP,无线局域网Wlan的IP,以太网适配器的IP...这些IP到底是什么意思,到底有什么区别呢?

PPP

PPP(point to point protocal)点对点协议:

它是用于串行接口的两台计算机的通信协议,是为了通过电话线连接计算机和服务器而彼此通信而制定的协议。网络服务提供商可以提供您点对点连接,这样提供商的服务器就可以响应您的请求,将您的请求接收并发送到网络上,然后将网络上的响应送回。PPP是使用IP协议,有时它被认为是tcp/ip协议族的一员。PPP协议可用于不同介质上包括双绞线,光纤和卫星传输的全双工协议,它使用HDLC进行包的装入。PPP协议既可以处理同步通信也可以处理异步通信,可以允许多个用户共享一个网络,又可以进行SLIP协议所没有的差错控制。

一般ppp分配的网址,都是32掩码的。也就是说,整个网段里只有你一个人,和其他人都是广播不可达。你发送的任何数据包都会送到缺省的吓一跳,也就是ppp对端。

###ppp适配器

ppp适配器一般不是硬件设备,而是一个逻辑的虚拟设备。

一般是ADSL等设备,接入网卡的时候,利用ppp协议控制ADSL的调制解调器。

其实ppp适配器就是一个用tcp/ip协议控制外部网络设备比如ADSL model的程序。是连接接入商用的,系统建立的宽带连接。

以太网

以太网是一种通信协议标准

以太网适配器

以太网适配器就是电脑上的网卡,它的功能是用来将电脑和ADSL适配器与电脑连接起来,ppp是给ADSL适配器设的,是将ADSL适配器通过电话线和电信的提供上网的电脑连接起来。


PPP适配器IP&以太网IP&无线网IP

①ppp适配器IP

是广域网地址,也就是别人可以追踪的地址。另外,那个地址本人改不了,是接入商动态分配给你的。除非你不拨号。

②以太网IP

③无线局域网IP

④总结:

a.不同宽卡有不同的IP,ppp适配器是猫;以太网适配器是局域网卡,有线连接;如果有无线网卡还会有无线网卡的IP,WiFi;

b.如果网卡没有联网,是不会分配IP的。

你可能感兴趣的:(PPP,以太网IP以及无线局域网IP分析)