软件开发和网络
软件的开发离不开网络
而当今网络世界,绝大部分都是基于TCP/IP协议
很多应用都是构建在TCP/IP协议的基础上的
浏览网页,手机微信,支付宝,滴滴打车
应用使用 socket编程接口 来通过TCP/IP协议进行通信
#requests库底层也是通过调用 socket编程接口,到操作系统这层,通过TCP/IP协议就行传输
#http协议是基于TCP/IP
网络协议栈
两种协议栈模型(为什么叫协议栈)(见图1)
OSI参考模型:7层协议:应用层,表示层,会话层,传输层,网络,数据链路层,物理层
TCP/IP:应用层,传输层,网络层,数据链路层,物理层
TCP,UDP对应的传输层,而IP协议对应的网络层
#7层和5层的下面的4层是一样的。OSI分的更细致。下面的这几层传输层,网络,数据链路层,物理层。通常不需要我们开发程序去实现。传输层,网络,数据链路层这3层,基本是由操作系统实现的。数据链路层一部分私有操作系统实现的,一部分是由网卡,或是驱动程序实现的。物理层是由,物理硬件去实现的。应用层(应用层,表示层,会话层)是由应用程序实现的。
#传输层,网络层,数据链路层是有操作系统实现的。
#应用层使我们应用的代码程序实现的
#TCP(相对可靠的),UDP对应的传输层
#怎么样保证传输的可靠性的
#IP协议对应的是网络层,聚焦在不同网络,子网之间怎么样进行消息