一、互联网-网络传输数据
ISO(国际标准化组织)—>网络体系结构标准 OSI模型
OSI 七层模型
- 应用层:提供用户服务,具体内容由特定程序规定
- 表示层:提供数据的压缩解压和加密等
- 会话层:建立程序级的连接,决定使用什么样的传输服务
- 传输层:提供合适的通信服务,流量控制
- 网络层:路由选择,网络互联,分组传输
- 链路层:提供链路交换,具体消息发送
- 物理层:物理硬件,接口
OSI模型的优点
- 将功能分开,降低网络传输中的耦合度,每一部分完成自己的功能,开发更加清晰。
- 高内聚,低耦合:
- 高内聚:使模块功能单一,不混杂。
- 低耦合:模块之间尽量减少互相的关联和影响。
四层、五层模型
四层模型
- 应用层:应用层、表示层、会话层
- 传输层:传输层
- 网络层:网络层
- 物理链路层:链路层、物理层
五层模型–TCP/IP模型
- 应用层:应用层、表示层、会话层
- 传输层:传输层
- 网络层:网络层
- 链路层:链路层
- 物理层:物理层
要求:能够顺序说出七层模型,知道如何对应四层五层模型,简单理解每一层的功能,能够理解数据传输过程
二、什么是协议
网络协议
网络通信中,各方必须遵守的规定,包括建立什么连接,如何识别,消息结构等
应用层:TFTP HTTP SMTP DNS
传输层:TCP UDP
网络层:IP
三、网络概念
主机:计算机的名称 localhost
# 获取主机名
socket.gethostname()
# 通过主机名解析IP
socket.gethostbyname('主机名')
#
In:socket.gethostbyaddr('www.baidu.com')
Out:('127.0.0.1',[],['119.75.216.20'])
# 主机名 别名 IP
# 将IP字符串转换成为二进制
In [6]: socket.inet_aton('192.168.1.2')
Out[6]: b'\xc0\xa8\x01\x02'
# 将二进制IP转换为十进制字符串
In [7]: socket.inet_ntoa(b'\xc0\xa8\x01\x02')
Out[7]: '192.168.1.2'
# 将十进制IP字符串转换成为二进制IPv4
In [9]: socket.inet_pton(socket.AF_INET,'192.168.1.2')
Out[9]: b'\xc0\xa8\x01\x02'
# 将十六进制IPv6地址转换成为二进制IPv6
In [