# 一、子网掩码:
# 1. 作用是划分子网,就是将某个ip地址划分成网络地址和主机地址两部分。
# 形式上等同于ip地址,也是一个32位二进制数,
# 如果它的网络部分(前24位)全为1,主机部分(后8位)全为0,子网掩码是11111111.11111111.11111111.0000000
# 写成十进制数字就是255.255.255.0。
# 2. 知道子网掩码,我们就能判断,任意两个ip地址是否处在同一个子网络。
#方法是将两个ip地址与子网掩码分别进行AND(与)运算(11得1,10得0,00得0)。
#比如已知ip地址:172.16.10.1 和 172.16.10.2的子网掩码都是255.255.255.0,是否处在同一个子网络?
# 172.16.10.1:10101100.00010000.00001010.00000001
# 255.255.255.0:11111111.11111111.11111111.00000000
# 与运算结果:10101100.00010000.00001010.00000000 ->172.16.10.0
#
# 172.16.10.2:10101100.00010000.00001010.00000010
# 255.255.255.0:11111111.11111111.11111111.00000000
# 与运算结果:10101100.00010000.00001010.00000000 ->172.16.10.0
# 结果都是172.16.10.0,说明他们在同一个子网络。
# 二、ip协议的两个作用:1.为每一台计算机分配一个ip地址。2.确定哪些地址处在同一个子网络。
# 三、TCP 和 UDP:
# 3.1 TCP是可靠的、面向连接的协议(eg:打电话),传输效率低、全双工通信(可收发,收到信息会回信,发送缓存&接收缓存),
#面向字节流。使用TCP的应用:Web浏览器、电子邮件、文件传输程序。保证数据能从一端传输到另一端。
# 3.2 UDP是不可靠的、无连接的、传输效率高(发送前时延少)、一对一、一对多、多对一、多对多,面向报文
#(含有01的包),尽最大努力服务,无拥塞控制。使用UDP的应用:域名系统(DNS),视频流,ip语音(VoIP)。
#不能保证数据能到达目的地。
# 四、软件开发的架构:
# 4.1 两个程序之间通讯的应用分两种:应用类 和 web类。
# 4.2 第一种是应用类:qq 微信 网盘 ,需要安装。软件开发架构是C/S架构。client客户端和server服务器端。
#server服务器端一直运行,等待服务客户。client客户端需要的时候才使用。
# 4.3第二种是web类,比如百度 知乎 博客园使用浏览器访问就可以直接使用。软件开发架构是B/S架构。
# 浏览器端browser和服务器端server架构。
# 五、ip地址:长32bit,比特换算成字节,就是4个字节。
# 点分十进制表示法:00000000.00000000.0000000.00000000
#所以十进制范围是0,0,0,0至255.255.255.255
# 六、端口:跟网络相关才需要开一个端口,目的是找到应用程序,同一时间只会有一个程序占用同一个端口,
# 端口号范围:0-65535,常用8000以后的端口。
# 七、在网络上面传输的所有数据叫数据包,数据包里面的所有数据叫报文。