OSI第一层:物理层功能及作用(详解与解释)

原文链接:http://www.hcie.me/219 OSI七层模型第一层:物理层,Physical Layer 物理层处于整个标准的最底下一层,它与数据链路层一样,工作在单条线路上,只负责线路两端的通信维护。 物理层工作原理如下 场景:用户A和用户B用网线互联在一起,A给B发数据: 用户A通过应用程序发出数据,这个数据经过上层一层层的封装, 到达了数据链路层,在第二层数据链路层做了Framing(成帧)处理之后, 物理层会将这个数据帧转换成二进制信号(bit流); 接下来用户A就要将这些b
分类: 其他 发布时间: 01-18 23:19 阅读次数: 0

OSI第二层:数据链路层功能及作用

OSI七层模型第二层:数据链路层,Data Link Layer 数据链路层工作在两台设备互联的这条链路之间,为每一段单独的链路解决数据传递的问题。 那么,一条链路上有什么呢? 首先搞清楚一个概念:不同类型的网络设备之间互联用的接口和连接介质是不一样的。 比如,两台电脑用一条网线连在一起,那连接物体就是电脑上的网卡和这条网线。 两台交换机用网线连在一起,连接物体就是交换机的接口和这条网线。 两台路由器用E1/T1的板卡和一条Serial线连在一起,连接物体就是这个板卡和这条串口线。 一台无线路
分类: 其他 发布时间: 01-18 23:19 阅读次数: 0

OSI第三层:网络层功能及作用OSI第三层:网络层功能及作用

原文链接:http://www.hcie.me/208 OSI七层模型第三层:网络层,Network Layer OSI网络层主要功能:基于数据包的逻辑地址进行转发,寻找网络中目的的位置,并在去往目的的多条路径中选择一条最佳的路径。 逻辑地址:就是网络层地址,如TCP/IP协议栈的IP地址,OSI中的NSAP地址。当一个从应用层发起的数据包,一层层封装到网络层时,会接着封装上一个网络层的头部,在网络层的头部中,就包括逻辑地址等信息。 路由的方法 OSI和TCP/IP协议栈封装的网络层头部中有很
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

OSI第四层:传输层功能及作用

原文:http://www.hcie.me/206 OSI七层模型第四层:传输层,Transport Layer OSI传输层功能:主要提供端到端的连接方式,传输层主要功能如下: 可靠的传输方式(TCP) 不可靠的传输方式(UDP) 数据包分段 数据段重组 流量控制 数据确认和重传 OSI传输层的作用 端到端通信 端到端:end-to-end,指的就是数据传输路径中最两端的两台网络设备之间的通信。 端到端的概念不仅仅是一根网线两端的两台电脑,它是逻辑的,可能是跨地域的。 比如:你家在北京,你
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

OSI第五层:会话层功能及作用

原文链接:http://www.hcie.me/203 OSI七层模型第五层:会话层,Session Layer OSI会话层,主要功能是用来管理网络设备的会话连接,细分为三大功能: 建立会话:A、B两台网络设备之间要通信,要建立一条会话供他们使用,在建立会话的过程中也会有身份验证,权限鉴定等环节; 保持会话:通信会话建立后,通信双方开始传递数据,当数据传递完成后,OSI会话层不一定会立刻将两者这条通信会话断开,它会根据应用程序和应用层的设置对该会话进行维护,在会话维持期间两者可以随时使用这条
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

OSI第六层:表示层功能作用

原文链接:http://www.hcie.me/200 OSI七层模型第六层:表示层,Presentation Layer OSI表示层功能:电脑从网卡收到一串数据时,这些数据在电脑中都是都是二进制的格式,我们人类是看不懂二进制的,就需要表示层帮忙将这些二进制转换成我们能够识别的数据。 所以表示层的基本作用就是对数据格式进行编译,对收到或发出的数据根据应用层的特征进行处理,如处理为文字、图片、音频、视频、文档等,还可以对压缩文件进行解压缩、对加密文件进行解密等。 只有在表示层将数据处理完成后,
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

linux audit工具

一个不错的博客,可以吸收营养,等读完后再决定写什么? https://www.cnblogs.com/bldly1989/p/7204358.html changelog ---------------------------------------------------- 20190119:确定开始研究audit工具使用方法以及概念 计划安排 ---------------------------------------------------- 检索质料,熟悉audit相关概念,研究完后
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

Python全栈之路----类型转换

显式转换 int(x [,base]) ⇒ 将x转换为一个十进制的整数 long(x [,base]) ⇒ 将x转换为一个十进制的长整数 float(x) ⇒ 将x转换为一个浮点数 str(object) ⇒ 转换为字符串 repr(object) ⇒ 转换为表达式字符串 eval(str) ⇒ 用来计算在字符串中的有效Python表达式,并返回一个对象 tuple(seq) ⇒ 将序列seq转换为一个元组 list(seq) ⇒ 将序列seq转换为一个列表 chr(x ) ⇒ 将一个整数转换
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

apicloud 消息推送与接收

待解决的问题,如下:   在使用apicloud 的时候我们,在开发用户登录的时候可能会遇到这样的问题,当有2个设备a,b同事使用的app的时候并且是同一个人登录,我们需要去做判断,即大家常说的单点登录。 解决办法:   这里我们需要有几个重点的事情要去做,比如现在有个用户Q同时拥有2个手机a,b  帐号的时候固定的,唯一变化的是设备,这里我们需要记录一个token或者是设备ID,apicloud的api对象里提供了这2个全局属性,可以获取到,我这边使用设备ID记录(需要注意的时候安卓平台设备
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

win7安装以vhd方式

准备vhd文件 C:\WINDOWS\system32>diskpart DISKPART> CREATE VDISK FILE=D:\win7.vhdx MAXIMUM=51200 TYPE=EXPANDABLE DISKPART> ATTACH VDISK 提取install.wim 安装光盘中source文件夹下 查看install.wim信息 X:\image>Dism.exe /get-imageinfo /imagefile:install.wim 应用镜像 X:\ima
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

时间复杂度小的 求两个整数的最大公约数

简单回顾一下时间复杂度:   一个算法是由控制结构(顺序、分支和循环三种)和原操作(指固有数据类型的操作)构成的,则算法时间取决于两者的综合效果。 为了便于比较同一问题的不同算法,通常的做法是,从算法中选取一种对于所研究的问题(或算法类型)来说是基本操作的原操作,以 该基本操作重复执行次数作为算法的时间量度。 最近刷一道PAT的题目时,总有两个测试点超时,原来是自己的代码时间复杂度太大了。撰写此文,谨记! 求两个整数的最大公约数。 一:辗转相除法(欧几里德算法 出自几何原本) 基本原理和证明不
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

python风格对象

对象表示形式 python提供了两种获取对象字符串表示形式的标准方式 repr() //便于开发者理解的方式返回对象的字符串表示形式(一般来说满足obj==eval(repr(obj))) str() //便于用户理解的方式返回对象的字符串表示形式 要使对象能这两种内置函数的参数,需要实现__repr__和__str__特殊方法,为repr()和str()提供支持。为了给对象提供其他表示形式,还会用到__bytes__和__format__ bytes() //获取对象字节序列表示形式 for
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

DNF带队吃货

Q群带队:277945753 自己操作,丰衣足食。钱,借出去是信任;还回来是仇人。大家都不容易,相互理解。在贫穷之前,先积累财富的技能为上策。 一个人从学校到出来工作几年,手里没几个大钱也是非常正常的。尤其是目前的这个年代中,各种公司割韭菜式的经济策略发展困难。(开盘,炒作,找人接盘;招一群高级,再招一群实习生,干掉高级留一两个)。开此副业,积累财富,再巨资培训铺路,找到核心职业,稳定终生。
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

Django内置auth模块中login_required装饰器用于类视图的优雅方式

使用多继承 以及类似java中的静态代理模式 原理:OrderView.as_view()根据广度优先,调用的是LoginRequiredMixin中的as_view(cls, *args, **kwargs) 这时的cls=OrderView 接下来super(LoginRequiredMixin, cls).as_view(*args, **kwargs) 会调用到View类中的as_view()并返回一个视图函数 然后,用将这个视图函数作为参数传给Login_required()并返回经
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

寒假作业--介绍自己

介绍自己 我啊! 长的自认为不丑(其实我还没有见到让我认为帅气的男生(but让我认为漂亮男生到不少┓( ´- )┏ ┓( ´- )┏ ┓( ´-` )┏)); 单身狗一条,恋爱经验零(还没有收到过女生好人卡(但是为什么我收到过男生的 ⊙﹏⊙∥ 郑重声明本人取向正常)); 打游戏的手残党,打游戏我曾超过神也曾坑成鬼,这个和我打过游戏的大概都知道,坑爆三路的套路这个要低调,曾经放过话:先砍死队友,再团灭对手,拿九杀。我挂机的话,我们边赢面可能会大很多,所以为队友的身体着想,不经常玩; 喜欢单车,尤
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

Rocket - decode - 最小项与最大项

https://mp.weixin.qq.com/s/XrBh9Kapj01HdvBi5MkbgA 介绍布尔代数最小项与最大项相关概念,以及Term类的实现。 参考链接: https://baike.baidu.com/item/卡诺图 https://en.wikipedia.org/wiki/Implicant https://en.wikipedia.org/wiki/Canonical_normal_form 1. 几个定义 2. Term Term即是一个项,最大项或最小项。 由变量
分类: 其他 发布时间: 01-18 23:18 阅读次数: 0

LPSTR LPTSTR

LPSTR = char* LPCSTR = const char* LPTSTR: 如果定义了UNICODE宏,那么LPTSTR = wchar_t*否则LPTSTR = char* LPCTSTR: 如果定义了UNICODE宏,那么LPCTSTR = const wchar_t*,否则LPCSTR = const char* 告诉你方法, "LP"前缀是历史遗留的,在Win32下就是 P ,代表指针的含义。 "C"代表const "T"的含义就是如果定义了UNICODE,它就是宽字符版本,
分类: 其他 发布时间: 01-18 23:17 阅读次数: 0

java第七章 继承 课堂笔记/作业

static: 总结: 如果对象不创建,则普通代码块不能够被执行,当然,普通方法也无法调用 如果对象不创建,静态代码块依然能够被执行,而且,静态方法可直接通过类调用 说明,普通属性、方法、代码块是 对象级别的 静态属性、方法、代码块是 类级别的 继承: 继承可以解决编程中代码的冗余的问题,是实现代码重写重用的手段之一。 格式: 【访问修饰符】class<Subclass>extends<superclass>{ } 继承通过extends关键字实现,其中SubClass称为子类,SuberCl
分类: 其他 发布时间: 01-18 23:17 阅读次数: 0

关于解决cmd中执行java提示"找不到或无法加载主类"的问题

昨天学生遇到一个问题:在cmd命令行中,用javac编译java文件可以成功,但是用java执行却提示“找不到或无法加载主类”。现将该问题的原因以及解决办法记录一下。 先理解一下系统变量path和classpath的作用。 path:可执行命令的搜索路径,在该路径下搜索可以运行的程序或批处理文件。 classpath: 类文件(*.class/*.jar)的存储路径。 在正确安装好配置环境后,在cmd中录入存放java文件的地址,假如存在d盘的文件夹lijun中,那么cmd中输入d:/liju
分类: 其他 发布时间: 01-18 23:17 阅读次数: 0

堆排序应用之topK问题

题目:求海量数据(正整数)按逆序排列的前k个数(topK),因为数据量太大,不能全部存储在内存中,只能一个一个地从磁盘或者网络上读取数据,请设计一个高效的算法来解决这个问题。 第一行用户输入K,代表要求得topK 随后的N(不限制)行,每一行是一个整数代表用户输入的数据 直到用户输入-1代表输入终止 请输出topK,空格分割。 思路:先开辟一个K大小的数组arr,然后读取K个数据存储到数组arr,读到K+1的时候,如果arr[K+1]小于arr中最小的值,那么就丢掉不管,如果arr[K+1]大
分类: 其他 发布时间: 01-18 23:17 阅读次数: 0