Python学习笔记:Socket网络编程
一、网络协议 1、七层模型:包括物理层、数据链路层、网络层、传输层、会话层,表示层,应用层,由左至右,一层层往上构建而成。 物理层:建立、维护、断开物理连接 数据链路层:底层的电子设备不认识IP, 只认识MAC ,数据链路层用的就是MAC寻址 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。我们使用的 IP地址就处于这个层 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有: TCP和UDP 。数据包一旦离开网卡即进入网络传输层 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话(在五层模型里面已经合并到了应用层) 表示层:数据的表示、安全、压缩。(在五层模型里面已经合并到了应用层)比如:格式有,JPEG、ASCll、EBCDIC、加密格式等 应用层:网络服务与最终用户的一个接口。 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP ,我们看到的大部分协议都处于这个层,建立在TCP和UDP协议之上,就像不同国家的语言,定义了怎么收(解释语义)和怎么发(语法) 2、而socket就是封装了这些协议的简单使用接口,如果需要开发自己的协议,至少要掌握socket的编程 二、socket中的地址簇:包括socket.AF_UNIX,socket.AF_INET,socket.AF