知识点梳理 网络基础
Posted zzy7372
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识点梳理 网络基础相关的知识,希望对你有一定的参考价值。
2.网络基础
端口:设备与外界通讯交流的出口
osi七层协议:
应用层,
表示层,>> 应用层
会话层.
传输层
网络层
数据链路层
物理层 2者可以叫网络接口层
tcp :可靠的,面向连接的协议eg:打电话.传输效率低全双工通讯(发送缓存&接受缓存)面向字节流.
使用tcp的应用: web浏览器; 电子邮件,文件传输程序
udp: 不可靠的,无连接的服务,传输效率高(发送时延小),一对一,一对多,多对以,多对多,面向保温,无拥堵现象
使用udp的应用:域名系统:视频流;ip语音
黏包现象:同时执行多条命令之后,得到的结果很可能只有一部分,在执行其他命令的时候又接到之前执行的另一部分结果,
数据粘连在一起的现象就是黏包.
解决办法,加报头,struct
实际情况是 发送和接受方都存在缓存机制,数据存储在缓存区中,假设每次取得1024个数据,
就可能有些数据在缓存池中没有被get到,从而导致这种现象.
黏包现象只发生在tcp协议中:
1.从表面上看,黏包问题主要是因为发送和接受方的缓存机制,tcp协议面向流通信的特点
2.实际上,主要还是因为接受方不知道消息之间的界限,不知道一次性提取多少字节数据所造成的.udp中不存在这个现象
3.py2和py3的简单区别
1.编码和字符串问题:
字符串 py2中存在2种 unicode 用unicode存储
(str/bytes) 用字节存储
py3中 str 本质使用unicode存储
py3中 bytes 使用字节存储
编码:
py2 : = ascii
py3 : utf-8
以太网地址就是指MAC地址
2. 继承
py2中有2种继承类类型 经典类/新式类
继承原则 经典类 一条路走到黑,从左往右,不撞南墙不回头
py3中 只有一种继承类型
新式类,遵循c3算法
3.dhcp,自动为局域网内的电脑分配ip
4.网关,路由器中连接交换机的端口
5.ip,4个点分的十进制表示 192.168.13.128
6.子网掩码. 255.255.255.0
作用:将挡住的ip位数作为网段
未挡住的部分作为可变的值
7.局域网/广域网/城域网
8.arp协议 oSI模型有七层,TCP在第4层传输层,IP在第3层网络层,而ARP在第2层数据链路层
是根据IP地址获取物理地址的一个TCP/IP协议
9.dns:域名解析
10.列表生成式 v= [lambda x;x+i for i in range(10)]
11.操作系统/应用程序
a.硬件
- 硬盘,cpu,主板,显卡,内存,电源...
b.系统 :是程序员编写出来的软件,用于控制计算机的硬件,使其相互配合协调工作
12.进程,线程,协程的区别和练习
进程:进程即是正在执行的一个过程,进程是对正在运行程序的一个抽象,
进程是资源分配的最小单元,进城之间数据隔离
一个进程中最少有一个线程,可以有多个线程,进程中存在GIL全局解释器锁
作用是用于限制同一个时刻,一个进程中只有一个线程被cpu调度,.
默认gil锁在执行100个cpu命令后退出(过期时间)
如果是计算密集型操作,最好实用多进程可以提高效率
线程是cpu调度的最小单元,线程中数据共享threading.Thread(target= function, args=(i))
isAlive()返回线程是否活动
getName()返回线程名
setNmae()设置线程名
.current_thread() 主线程
threading,get_ident()获取当前线程id
ThreadPoolExecitor()
进程池,线程池
from concurrent .futures impoet ThreadPoolexecutor ,processpoolexecutor
pool = ProcessPool Exucutor(5)
pool = threapoolexecutor(5)
pool.submit(f,i)
cpu 计算io 操作,输入,输出,socket 终端命令 推荐使用多线程
多个线程共同一个进程的地址空间中的资源,是对一台计算机上多个继承的模拟,
有时也称线程为轻量级的进程
不同的进程之间是充满敌意的,彼此抢占,竞争cpu的关系,如 迅雷会和qq抢资源,
而同一个进程是由同一个程序员的程序创建,所有同一进程内的线程是合作关系,
一个线程可以访问另一个线程的内存地址,大家都是一家人,可以共享.
协程:是微线程,读一个线程进行微操作
以上是关于知识点梳理 网络基础的主要内容,如果未能解决你的问题,请参考以下文章