ip地址
用来在网络中标记一台电脑,比如192.168.1.1;在本地局域网上是唯一的。
i地址的分类
- 每一个IP地址包括两部分:网络地址和主机地址
- A类IP地址
一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”,
地址范围1.0.0.1-126.255.255.254
二进制表示为:00000001 00000000 00000000 00000001 - 01111110 11111111 11111111 11111110
可用的A类网络有126个,每个网络能容纳1677214个主机
- B类IP地址
一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是“10”,
- 私有ip
在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,它们的范围是:
10.0.0.0~10.255.255.255
172.16.0.0~172.31.255.255
192.168.0.0~192.168.255.255
- 注意
IP地址127.0.0.1~127.255.255.255用于回路测试,
如:127.0.0.1可以代表本机IP地址,用http://127.0.0.1就可以测试本机中配置的Web服务器。
端口
ip地址用来标记一台电脑,为了能够标记电脑上运行中的程序,需要使用端口来标记
端口号
端口是通过端口号来标记的,端口可以有65536(2的16次方)个之多,端口号只有整数,范围是从0到65535.
端口分配
端口的分类:
知名端口和动态端口
- 知名端口
知名端口是众所周知的端口号,范围从0到1023
21端口分配给FTP服务
22端口分配给SSH服务
80端口分配给HTTP服务
可以理解为,一些常用的功能使用的号码是估计的,好比 电话号码110、10086、10010一样
- 动态端口
动态端口的范围是从1024到65535
之所以称为动态端口,是因为它一般不固定分配某种服务,而是动态分配。
动态分配是指当一个系统程序或应用程序程序需要网络通信时,它向主机申请一个端口,主机从可用的端口号中分配一个供它使用。
当这个程序关闭时,同时也就释放了所占用的端口号
查看端口状态
- 用“netstat -an”查看端口状态
- lsof -i [tcp/udp]:2425
Python网络通信
关于Python如何实现网络通信可以参考这个网站: it项目网