[python]网络编程基础学习笔记(一)客户/服务器网络介绍
1.1 理解TCP基础
每个TCP链接的寻址需要一个IP地址和一个端口号来唯一标识的。
TCP是可靠的协议,除非整个网络出现问题,否则数据将完整的从网络一端传送到另一端。
TCP的可靠性是通过下面的途径实现的:
1)每个数据包后面加上一个校验码
2)TCP要求收方每收到一个数据包都反馈一下,若未收到反馈则重发
3)TCP每发一个数据包都包含一个序列号,收方根据序列号将信息包重新排序
1.2 使用客户/服务器模式
服务器一直监听来自客户端的请求,有请求后,就建立连接来处理他们。
Web服务中,服务器通常使用80端口来监听,而客户端的端口号则由操作系统来随机挑选。
1.3 理解UDP
UDP用来从一个系统向其他系统传送非常短的消息,他只提供一个保证:那就是收到的数据是完整的,既不能保证数据是否真的能被收到,也不能保证数据是不是只接受一次,还不能保证信息收到的次序与发送时的一致。
UDP的优点在于不存在花费时间建立和关闭连接的问题。
应用的最广的UDP应用是DNS系统。
UDP限制一个数据包的大小不超过64KB,通常人们用它发送小于1KB的数据。