ISO(国际标准化组织)---》网络体系结构标准 OSI模型
OSI 模型优点 : 将功能分开,降低网路传输中的耦合度,每一部分完成自己的功能,开发更加清晰。
高内聚 :使模块功能单一,不混杂。 低耦合 :模块之间尽量减少相互的关联和影响
网络协议 : 网络通信中,各方必须遵守的规定,包括建立什么连接,如何识别,消息结构等 应用层: TFTP HTTP SMTP DNS 传输层: TCP UDP 网络层: IP
主机 : 计算机的名称 localhost
#获取主机名 In [3]: socket.gethostname() Out[3]: 'tedu' 通过主机名解析IP In [4]: socket.gethostbyname('tedu') Out[4]: '127.0.1.1' In [5]: socket.gethostbyname('localhost') Out[5]: '127.0.0.1'IPv4 : 192.168.1.2 点分是十进制:三个点分为四个部分,0--255
IPv6 : ip地址更多
127.0.0.1 : 本地测试ip 0.0.0.0 : 局域网可用IP 192.168.1.0 : 表示网段 192.168.1.1 : 网关 192.168.1.255 : 广播地址 2---254
ifconfig ping
#通过主机名获取地址 In [6]: socket.gethostbyaddr('www.baidu.com') Out[6]: ('127.0.0.1', [], ['119.75.216.20']) 主机名 别名 IP 将IP地址转换为二进制 In [7]: socket.inet_aton('192.168.1.2') Out[7]: b'\xc0\xa8\x01\x02' 将二进制转换为点分十进制 In [8]: socket.inet_ntoa(b'\xc0\xa8\x01\x02') Out[8]: '192.168.1.2'inet_pton inet_ntop 功能同上,只是第一个参数用 socket.AF_IENT表示IPv4 socket.AF_INET6--->IPv6
端口号是地址的组成部分,在一个系统中区分应用层程序 1--65535 : 1--255 众所周知的端口 256---1023 系统端口
10000 6666 7777 8888 9999
获取一个应用的端口 In [11]: socket.getservbyname('mysql') Out[11]: 3306子网掩码:和IP配合过滤网段 dns:域名解析
网络字节序 : 将字节序发送方式统一
面向连接 ,是一种可靠的数据传输
可靠传输 : 无失序 无差错 无丢失 无重复
应用情况 : 适用于传输内容较大,网络情况好,需要提供准确传输的情况 比如 : 聊天信息 ,文件传输,邮件
面向无连接的服务是一种不可靠的数据传输发送时由发送端自主进行,不考虑接收端
适用情况:网络较差,对传输准确性要求低,广播组播比如:视频会议, 广播数据套接字: 进行网络通信的一种手段 socket
流式套接字(SOCK_STREAM) :传输层基于tcp协议进行通信数据报套接字(SOCK_DGRAM) :传输层基于udp协议进行通信原始套接字(SOCK_RAW): 访问底层协议的套接字from socket import *
s
ockfd.listen(n) 功能 : 使套接字变为监听套接字,同时创建监听队列 参数 : n 监听队列大小close() 功能 : 关闭套接字
转载于:https://www.cnblogs.com/taoke2016/p/9047981.html
