- OSI协议基础简介
- cookie
高内聚:模块功能尽可能单一,不要掺杂
低耦合:模块之间尽可能减少关联和影响 - 各层次相关协议
应用层:TFTP HTTP DNS SMTP
传输层:TCP UDP
网络层:IP
物理层:IEEE
- 网络相关概念
网络主机:在网络中标识一台计算机 HOST
本地使用:'localhost' '127.0.0.1'
网络使用:'0.0.0.0' '172.60.50.41(本机IP)' ->ipconfig
获取计算机名 :
ipyhton3:import socket
socket.gethostname()
IP地址:网络上确定一台主机网络位置的地址
Ipv4:点分十进制 192.168.1.2
Ipv6:128位
ping ip:测试和某台网络主机是否联通
- 特殊IP地址
127.0.0.1 本地测试IP
0.0.0.0 使用本机可用IP
192.168.1.0 表示网段IP
192.168.1.1 网关IP
192.168.1.255 广播地址
- 点分十进制地址16进制十进制转换
In [19]: socket.inet_aton('192.168.1.2')
Out[19]: b'\xc0\xa8\x01\x02'
In [20]: socket.inet_ntoa(b'\xc0\xa8\x01\x02')
Out[20]: '192.168.1.2'
- 网络端口号
端口号是网络地址的一部分,用于区分一个网络主机上的网络应用
在一个操作系统中不同的网络应用监听不同的端口号
取值范围:1--65535
1--255 一些总所周知的通用端口
256-1023 系统应用端口
1024-65535 自用端口
建议使用 >10000
socket.getserverbyname('mysql')
#获取某个应用的端口
- 网络字节序
数据在网络中的传输格式,供不同os的设备传输数据遵守 - 传输层服务
面向连接的传输服务:
基于tcp协议的数据传输
传输特征:提供可靠的数据传输,可靠性指数据传输过程中
无丢失、无失序、无差错、无重复。
实现手段:数据传输断开前都需要进行传输和断开的确认
三次握手:tcp传输在数据传输前建立连接的过程
1、客户端向服务器发送连接请求
2、服务器收到请求后,回复确认消息,表示允许连接
3、客户端收到服务器回复,进行最终标志发送确认连接
四次挥手:tcp传输在数据传输后断开连接的过程
1、主动发送报文告知被动方要断开连接
2、被动方收到请求后立即放回报文告知已经准备断开
3、被动方准备就绪后再次发送报文告知可以断开
4、主动方发送消息,确认最终断开
应用情况:适用于传输较大的文件,网络情况良好,需要保证传输
可靠性的情况。
比如:网页的获取,文件下载,邮件传输,登录注册
面向无连接的传输服务:
基于udp协议的传输
传输特点:不保证传输的可靠性,传输过程没有连接和断开的流程,数
据收发自由。
适用情况:网络情况较差,对传输可靠性要求不高,需要提升传输效率
。不便连接,需要灵活收发消息。
比如:网络视频,群聊,广播发送
总结问题:
1、osi七层模型介绍,tcp/ip模型
2、tcp服务和udp服务有什么区别
3、三次握手和四次挥手是什么意思,过程是什么样的