网络编程
一、计算机网络是什么?
计算机网络主要是由一些通用的、可编程的硬件互连而成,通过这些硬件,可以传送不同类型的数据,并且可以支持广泛和日益增长的应用。
二、OSI七层网络模型和TCP/IP四层概念模型:
三、IP
3.1、IPV4
32位,4个无符号整数,可分配42亿,30亿在北美,亚洲4亿,2011年就已用尽
3.2、IPV6
128位,8个无符号整数
3.3、公网(互联网)/ 私网(局域网)
192.168.xx.xx:专门给组织内部使用
四、端口
4.1、范围:
- 0~65536
4.2、端口分类:
-
共有端口(0~1023):
- HTTP:80
- HTTPS:443
- FTP:21
- Telent:23
-
程序注册端口(1024~49151):分配用户或程序
- Tomcat:8080
- MySQL:3306
- Oracle:1521
-
动态、私有(49152~65535):
netstat -ano #查看所有端口 netstat -ano|findstr "5900" #查看指定端口 tasklist|findstr "8696" # 查看指定端口的进程
五、通信协议
5.1、TCP(用户传输协议)
- 打电话,连接稳定,传输完成,释放连接,效率低
- 三次握手、四次挥手
- 客户端、服务端
5.2、UDP(传输控制协议)
- 发短信,连接不稳定
- DDOS:洪水攻击(饱和攻击)