网络传输模型
基本模型
层次划分
需要说明的是在网络传输层TCP可靠而UDP不可靠
传输层说明
说明一: 作为Python开发,咱们都是在应用层的HTTP协议之上进行开发的。
说明二: 网络编程,主要是了解我们Python能编写的最低的层次, 即传输层的基本情况。
说明三: HTTP协议是基于TCP之上的 因此我们需要了解TCP连接的基本过程。
TCP协议
TCP和UDP的区别:
可靠性:TCP是一种可靠的连接,UDP是不可靠的连接。
连接性:TCP面向连接,UDP面向无连接。
报文传输形式:TCP是一种基于数据流传输,UDP基于数据报
传输效率:TCP传输效率低,UDP传输效率高
双工性:TCP是全双工的协议,UDP不是
流量拥塞控制:TCP拥有而UDP无
传输速度:TCP慢UDP快
TCP建立连接
三次握手:第一次只是客户端告诉服务端要连接了;第二次,客户端才知道服务端收到了; 第三次,服务端才知道客户端收到了。
数据传输
断开连接
多出来的一次是由于服务端可能还数据要发,等到数据发送完数据后关闭。
HTTP协议 一次连接传一次数据;Websocket 一次连接传多次数据
IP地址与端口
IP地址被用来给Internet上的电脑一个编号。大家日常见到PC上都需要有IP地址,才能正常通信。我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器相当于“程控式交换机”
端口号