网络编程
相关概念
- OSI七层模型:开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。它从低到高分别是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP/IP:在OSI七层模型的基础上简化出来的一套网络协议族,共有4层,得到了广泛使用。
- TCP:传输控制协议
- 有连接的,数据传输是可靠的(数据检查)
- 传输速度稍慢,三次握手、四次挥手
- UDP:用户数据报协议
- 无连接的,数据传输是不可靠的
- 传输速度较快
- IP地址:计算机的唯一标识
- windows查看IP:ipconfig
- ping:查看网络连通性
- 示例:ping 域名/IP
- 端口号:每个应用都有自己的端口号
- 范围:0~65535
- 公认端口:0~1023
http: 80
https: 443
smtp: 25
ftp: 21
ssh: 22 - 其他端口:1024~65535
- 网络编程核心
- IP + 端口号
- 库:socket
TCP协议
- 说明:面向连接的、数据可靠、三次握手、四次挥手、传输速度稍慢
- 原理:见图片《tcp.png》
- 示例:模拟http协议请求百度服务器的数据,见01-tcp-http.py
- TCP协议的服务器与客户端:见02-tcp-server.py 03-tcp-client.py
UDP协议
- 说明:面向无连接、数据不可靠、传输速度较快,适应于对数据要求不严格的情况
- 原理:见图片《udp.png》
- 示例:模拟飞秋数据,见04-udp-feiqiu.py
- UDP协议的服务器与客户端:见05-udp-server.py 06-udp-client.py