OSI七层

网络的含义:两个不在同一地理位置的主机(终端),通过传输介质和通信协议,实现通信和资源共享。

网络四要素:终端,传输介质 ,通信协议,资源

网络分类:

以范围分类:LAN网(局域网,以太网),MAN网(城域网),WAN网(广域网)

以拓扑结构分类:星型拓扑,全网型拓扑,部分网状型

以传输介质分类:通州线缆,网线,光纤

※OSI七层模型

(1)物理层:定义了终端设备的传输介质,传输的是bit流(只有0和1 ,也叫电流)

(2)数据链路层:把比特流转换为数据帧,实现基于mac地址的寻址和转发

(3)网络层:把数据帧转换为数据包,实现基于IP地址的寻址和转发

(4)传输层:为数据提供可靠或者不可靠(TCP、UDP)的传输,为程序提供端到端的服务

(5)会话层:用来建立、连接,管理、终止会话

netstat -an   //查看端口和会话连接情况

(6)表示层:数据的表现形式,比如:压缩、音频、视频、加密

(7)应用层:用来给用户提供服务,比如:QQ、微信、360、office等

.TCP/IP五层模型(TCP/IP的协议栈)

(1)物理层:定义了终端设备的传输介质,传输的是bit流(只有0和1 ,也叫电流)

(2)数据链路层:把比特流转换为数据帧,实现基于mac地址的寻址和转发

(3)网络层:把数据帧转换为数据包,实现基于IP地址的寻址和转发

(4)传输层:为数据提供可靠或者不可靠(TCP、UDP)的传输,为程序提供端到端的服务

(7)应用层:用来给用户提供服务,比如:QQ、微信、360、office等

网络术语:

半双工:同一时间内,只允许单向传输。

全双工:同一时间内,同时进行上传和下载(双向传输)。

注意:两个设备连接时,速率和双工模式必须相同,否则就算网线正常,也不能通信。

单播:一对一

广播:一对多,所有主机(某个网段)都能听到

组播:一对多,只有在同一个组内的成员才能收到(群聊)

冲突域:一个冲突影响的范围

路由中的一些术语:

(1)AD(Administrative  Distance)管理距离:描述路由协议的可靠性,也叫做"优先级";范围是0——255,越小越优先 。

C:直连路由,只要接口处于up状态就会自动加入到路由表中;优先级最高

S:静态路由,优先级为1;

RIP:管理距离为120;

OSPF:优先级为110;

S* :默认路由,优先级是最低的;

(2)Metric度量值:判断路由哪条更优的标准。不同的路由协议判断标准不一样。

常见的度量值有:跳数(rip)、带宽、负载、时延、可靠性、成本

(3)收敛时间:从路由器把自己知道的路由信息通告出去,到全网形成统一路由表的过程,中间需要的时间叫做“收敛时间”;

.ospf中的术语:

LSA(Link  State  Advertisement):链路状态通告,内容是路由器的所有链路连接信息、接口和邻居相关信息;

LSDB(Link  State Database):链路状态数据库,存储LSA

说明:LSA不是数据包的类型,而是ospf数据包里的条目。

数据链路层

.数据链路层数据帧格式:EthernetII帧,IEEE802.3

数据链路层的作用:把比特流转换为数据帧,实现基于mac地址的寻址和转发。

mac地址:硬件出厂的时候携带的硬件地址,具有全球唯一性。

ARP协议(Adreess  Reserve  Protocol 地址解析协议):完成IP地址到mac地址的映射关系。

RARP协议:反向地址解析协议,完成mac地址到IP地址的映射关系。

交换机的工作原理——以Pc1和PC2通信为例

 (1)当PC1想和PC2通信之前,先检查本地是否有PC2的mac地址(arp -a通过ARP地址表);有——直接发送;

如果没有,就发送“广播”

Source(sip:192.168.1.1;smac:M1)

Destination(Dip:192.168.1.2;Dmac:全FF)

(2)PC1——交换机(广播的数据帧)

学习:先把PC1的mac地址学习到自己的mac地址表里(接口,发送者的源IP,发送者的mac地址);

转发:把数据帧“广播”到除源端口以外的所有端口

 (3)交换机——其他主机,其他主机的反应

如果是找我的,我就回复;

如果不是找我的,我就丢弃;

 (4)PC2收到后要回复——交换机

Source(Sip:192.168.1.2   Smac:M2)

Destination(Dip:192.168.1.1  Dmac:M1)

(5)交换机动作(单播的数据帧)

学习:把PC2的IP和mac地址的对应关系放到自己的mac地址表里

转发(单播的数据帧):查找自己的mac地址表,直接转发给PC1

PC1检查arp,有就直接发,没有就广播

交换机:学习,广播到除源端口以外的所有端口

其他主机:找我——回复,不是——丢弃

PC2:单播给PC1

交换机:学习,检查自己的mac地址表

常见网络的速率

Ethernet    10M以太网(lan)

FastEthernet   100M以太网

GigabitEthernet   1000M以太网

IP地址的作用:标识了网络中任意一台主机的“位置”。

网络地址:在IP地址中,如果主机位全为0.

广播地址:在IP地址中,如果主机位全为1.

子网掩码是用来标识IP的网络位(大致的位置)和主机位(具体的某一台主机)的。

 

网络位:在IP地址中规定,与子网掩码“1”(二进制转换后)对应的是网络位,与子网掩码“0”对应的是主机位。

2.IPv4地址的分类方式1:

A类、B类和C类是有类的IP地址。

 

A类:规定第1个bit恒为0,第1段的变化范围从1——126  ,IP地址的范围:1.0.0.0——126.255.255.255   子网掩码:255.0.0.0

B类:规定前2个bit恒为10,第1段的变化范围从128——191 ,IP地址范围:128.0.0.0——191.255.255.255  子网掩码:255.255.0.0

C类:规定前3个bit恒为110,第1段的变化范围从192——223,IP地址范围:192.0.0.0——223.255.255.255    子网掩码:255.255.255.0

 

D类:规定前4个bit恒为1110,第1段的变化范围从224——239,IP地址范围:224.0.0.0——239.255.255.255    用来组播

E类:规定前4个bit恒为1111,第1段的变化范围从240——255,IP地址范围:240.0.0.0——255.255.255.255    用于科研

3.公有,私有IP

公有IP用来在公网使用,具有全球唯一性,不能重复使用。

私有IP用来在内网使用,可以重复使用。

公网地址能不能在内网使用?能,因为都会在路由器出口进行转换。

私网地址能不能在公网使用?不能。私网地址不能在公网传输。

如何来解决IP地址不够用的问题?——VLSM(变长子网掩码)

(1)计算可容纳的主机数  :2的m次方-2(m代表的是子网掩码中“0”的个数)

(2)计算可以划分的网段数:2的n次方(n代表网络位向主机位借的"1"的个数)

(3)求变化范围:256-X(X表示子网掩码中非255的数)

网络层

.网络层的作用:把数据帧转换为数据包,实现基于IP地址的寻址和转发。

三层的代表设备:路由器

路由器的每个接口都是一个广播域,也就是不同的网段。

路由器的作用:实现不同网段的通信;隔离“广播域”;寻找一条最优路径;

路由器的硬件组成:

(1)CPU:负责计算最优路径

(2)ROM:只读存储,只负责引导系统,不能写入

(3)Flash:闪存,用来存放操作系统,也可以存放用户一些数据。====》C盘

(4)RAM:随机存储,存储用户的“临时数据”,重启就会丢弃。====》内存,show   running-config

(5)NVRAM:非异失性存储,为用户数据做“永久存储”。=======》硬盘,show    startup-config

 

路由器的工作原理

源目IP地址不变,二层mac地址被“重写”。

解决网络出口的单链路故障问题

根据多链路之间的关系,可以分为

浮动路由:多条链路只有1条为主链路,其他都为备份;只有主链路down掉,备份链路才会传输数据。

负载均衡:多条链路同时进行数据传输;

路由器和交换机的区别

(1)分层:路由器是3层设备(识别IP,数据包);交换机是2层设备(识别Mac,数据帧);

(2)转发依据:路由器依靠路由表;交换机依靠mac地址表;

(3)作用:路由器是实现不同网段通信;隔离广播域;

交换机是实现相同网段通信;

一个网段=一个广播域=路由器的一个接口

(4)工作原理:路由器——源目IP地址不变,二层mac地址被“重写”;

交换机——依靠广播;

传输层

ARP协议:

arp协议:(Address  Resolution   Protocol):地址解析协议,把IP地址解析为Mac地址

arp的用途分类:免费ARP、普通ARP、代理ARP、RARP

ARP攻击,如何防护:

(1)硬件防火墙;(2)软件防火墙;(3)在PC和交换机上进行mac地址的绑定。

传输层的作用:

为数据提供可靠或者不可靠的传输,为应用程序提供“端到端”的服务。

端到端:指的是端口号;点到点:指的是IP;

TCP的报文字段:标准的长度是20byte

二层(源目mac+type)+三层(IP头部)+四层(TCP头部)+数据+FCS(帧校验)

1——1024这些称为“知名端口”,

常见的TCP服务:

web(tcp80),ftp(tcp21-20),dns(udp53是客户端访问服务器时,tcp53是主备DNS之间同步时);SMTP(TCP25)和POP3(TCP110)

Telnet(TCP23),SSH(TCP22),RDP(远程桌面,TCP 3389)

UDP标准长度是8byte

常见UDP服务

dhcp(udp67,68),DNS(udp53),TFTP(UDP-69),SNMP(简单网络管理协议:可以用来收集网络设备的一些基本情况,UDP-161)

UDP的报文格式:

第一行:源目端口

第二行:UDP的长度+校验和

数据的封装和解封装:

(1)封装:数据在发送源完成从应用层(高层)到物理层(低层)数据的封装(打包装);

(2)解封装:数据在接收者完成数据从低层到高层的转换,解封装(拆包裹);

(3)PDU(Protocol  Data Unit):协议数据单元,数据在每一层传输的基本单位

应用层:原始数据

传输层:TCP/UDP头部(源目端口)+数据,数据段Segment

网络层:IP头部(源目IP)+TCP/UDP头部(源目端口)+数据,数据包Packet

数据链路层:二层头部(源目mac)+【IP头部(源目IP)+TCP/UDP头部(源目端口)+数据】+FCS,数据帧Frame

物理层:比特流,0或者1

Vlan

交换机过大的广播域带来的问题:

(1)大量的广播帧充斥网络,正常的数据不能进行转发;

(2)导致mac地址表溢出;

(3)带来管理上的挑战;而且不安全。

Vlan:Virtual  LAN虚拟局域网,在逻辑上对LAN进行划分。

一个vlan=一个网段=一个广播域

Vlan划分的类型:

(1)基于接口——静态vlan某个接口始终属于一个vlan;

(2)基于mac——动态vlan不管主机接到网络中的任何位置,都属于一个vlan;

vlan的编号范围:0——4095,其中0和4095是保留的。

正常可用范围:2——1000(其中1006——1024作为保留vlan;1025——4094是扩展vlan)

access接口的特点:(access链路——接入链路)

(1)一个接口只能属于一个vlan;

(2)在access链路上只能承载一个vlan;

(3)应用:交换机和PC之间的连接

Trunk链路(中继链路):在一条物理链路上,可以承载多个vlan。

trunk的原理:把原始的数据帧加入了新的标签,破坏了原来的“帧格式”。——在trunk链路上传输的不是原始的数据帧。

trunk链路标记vlan的方式:ISL(Cisco的私有协议,在帧的外边插入了30Byte);

IEEE 802.1 q(在数据帧的内部插入了4Byte;工业标准)。

单臂路由

  1. 单臂路由:vlan——>Access——>trunk ——>实现不同vlan之间通信。

单臂路由:实现不同vlan和不同的网段之间的通信问题。

  1. 单臂路由的工作原理:源目ip 地址不变,源目mac被重写。

3.      VTP协议

VTP(Vlan  Trunking  Protocol 虚拟局域网中继协议):用来管理vlan的创建、删除和修改工作。

VTP的三种模式:

  • 服务器模式(Server

可以创建、删除和修改VLAN

学习、转发相同域名的VTP通告

  • 客户机模式(Client

学习、转发相同域名的VTP通告

不可以创建、删除和修改VLAN

  • 透明模式(Transparent

可以创建、删除和修改VLAN,但只在本地有效

转发但不学习VTP通告

三层交换机

  1. 单臂路由带来的问题

(1)      内网跨vlan通信时,数据多次经过主链路,形成瓶颈;

(2)      只有一条链路会形成单点故障;

(3)      依靠路由表(基于软件)来查找路由,效率比较低。

  1. 2.       三层交换机:同时具有二层交换功能和三层路由功能。

(1)      基于ASCI芯片查找路由表,更快速。

(2)     工作原理:一次路由,多次交换。

一次路由:针对同一个流的第一个数据包进行路由查找;后续相同流的数据包直接进行二层的交换。

Stp

STP(Spanning-Tree  Protocol):生成树协议,用来防止二层环路。

实现方法:在所有的链路中找一条链路在“逻辑上”阻塞掉(不传输,备份);当其他链路发生故障以后,这条链路来进行数据传输。

STP的选举

(1)第一步:在所有的交换机中选举一个根桥(Root  Bridge——“主席”)

(2)第二步:在其他每个的非根桥上只选举一个根端口(Root  Port——“省长”)

(3)第三步:在每条链路上选举一个指定端口(Designated  Port——“市长”)

选择根端口和指定端口的依据:

到根网桥最低的根路径成本(Root  Path  Cost ==》RPC)

发送者的网桥ID最小

发送者的端口ID最小

以太通道:EthernetChannel,增加了链路带宽,提高了容错能力,还有负载均衡的作用。

HSRP协议

HSRP(热备份路由协议):在多个网关路由器之间协商一个虚拟IP作为PC的网关;

HSRP中的选举依据——谁大谁当选。

接口优先级:默认是100,取值范围0——255

ACL

ACL(Access-Control List)访问控制列表:为数据流量做分类(实现QoS 服务质量)和过滤(类似于一个包过滤防火墙)。

 ACL工作在网络的网络层和传输层。

2.ACL的匹配原则:

1)从上到下进行匹配;

  2)如果一旦匹配某条规则就停止匹配;

  3)如果没有匹配就继续匹配;

  4)如果所有的条目都没有匹配,会匹配默认规则——拒绝所有;

  5)在ACL中最少要有一条允许;

3.ACL分类:

(1)标准ACL

(2)扩展ACL

(3)命名ACL:看做是标准和扩展ACL的优化。

标准ACL:实现基于源IP地址做过滤;编号1——99

扩展ACL:实现基于源目IP、源目端口、基于协议来做数据的过滤;编号100——199

-DHCP中继和NAT

DHCP的四种报文

(1)Discovery:发现报文——广播,用来寻找网络中的DHCP服务器;

(2)Offer:提供报文——单播报文,DHCP服务器收到客户端的请求后,给客户端相应的Ip、网关、DNS等信息;

(3)Request:请求报文——广播,网络中可能有多个DHCP服务器,告诉其他DHCP服务器“不用给我分配Ip地址了”;同时也可以检查Ip地址是否冲突;

(4)ACK:确认报文——单播,DHCP服务器给客户端的确认信息(客户端IP信息和租约时间);

.DHCP:动态主机配置协议,使用的是UDP67-68端口。作用:给客户端分配IP、网关、子网、DNS等。

NAT:Network  Address  Translation ,作用——把私网地址转换为公网地址;隐藏了真实的内网地址;节省了IPV4地址;把IPv4转化为IPv6。

.路由协议:路由器之间交互路由的语言。

(1)静态路由协议:管理员来配置;如果网络过大,管理不容易;网络一旦发生故障,静态路由不能自动适应拓扑的改变。

(2)动态路由协议:管理员告诉路由器之间用什么“语言”来交流,路由器会自动去交互路由。

.RIP的特点:适合小型网络

(1)属于IGP中的距离矢量路由协议,管理距离是120。

(2)RIP分为2个版本;RIPv1和Ripv2

RIPv1只支持有类的路由(A、B、C类);

RIPv2可以支持无类的路由(经过子网划分);

(3)RIP更新机制:

RIPv1使用的是广播更新,而且是更新整张路由表;每隔30s进行一次周期性更新。

RIPV2使用的是组播更新,

(4)RIP更新的报文结构:使用UDP520端口来承载的。

2层(源目mac)+3层(源目IP:Sip就是发送者的IP;Dip:255.255.255.255)+4层(UDP520)+RIp(路由更新)

(5)RIP以跳数作为度量值,越小越优,RIp的最大跳数为15跳,如果是16跳就认为"不可达"

RIp带来的问题:由于rip的周期性更新,路由更新存在延迟,容易产生环路。

如何防止环路:水平分割————从一个接口学习到的路由不再从这个接口“通告”出去。

OSPF

.OSPF介绍:Open Shortest  Path First(开放式最短路径优先),是IETF(指定网络标准的组织——RFC请求注释文档)定义的标准协议。

链路状态:每个路由器都有全网拓扑——地图

距离矢量:只是从邻居学习的路由条目,不知道全网拓扑。

简述ospf算法过程

(1)通过hello建立邻居关系,形成邻居关系列表====》邻居表

(2)交互LSA,形成LSDB           ====》链路状态数据库

(3)根据LSDB,使用SPF算法进行路由计算,形成路由表   =====》路由表

.OSPF中的5种数据包

(1)打招呼————hello:用来发现、建立和维持邻居关系

(2)上菜单————DBD(Database Description):数据库描述,是LSDB的目录

(3)点菜——————LSR(link  State Request):链路状态请求,请求其他邻居自己没有的LSA

(4)上菜——————LSU(Link State  Update):链路状态更新,回复ospf路由器之前请求的LSA

(5)菜齐了————LSACK(Link  State  Acknowledge):链路状态确认,给LSR和LSU做确认的

ospf建立邻居关系的过程————7种状态机

===============================邻居关系================================

(1)Down 状态:接口刚开始运行OSPF,向外发送hello包。没有发现其他邻居

(2)Init状态:我收到了邻居发送的hello消息======》单向邻居关系(你看到了邻居)

(3)2-way:本地路由器收到的ospf数据包中含有自己的“路由器ID”=====》双向的邻居关系(你看到了邻居;邻居也看到了你)

================================邻接关系===============

(4)Exstart:从第一个DBD报文交互开始,用来选举主从关系。

选举主从目的:决定谁先发送LSA,另外一个路由器需要对数据做确认

(5)Exchange:大量的DBD交互

(6)Loading:交互LSR和LSU(LSACK)——————请求自己没有的LSA;回复邻居的LSA请求

(7)Full:完全邻接关系,所有的LSA的请求和更新信息都已经被确认。

ospf中路由器的关系:邻居关系和邻接关系————本质区别是是否交互LSA。

ospf划分区域的意义:

(1)防止路由表过大造成的硬件消耗;

(2)大量的LSA泛洪,占用带宽,造成数据传输效率低;

(3)方便管理

区域是基于路由器的接口

RouterID

RouterID:路由器唯一标识,在ospf中会给每个路由器设置一个路由器唯一标识。

(1)选举依据:手工指定;优先选举回还口地址最大的;没有回还口选举物理接口IP地址最大的。

(2)一旦有了Router-id,就算有更大的接口地址,也不会更改====》可能不是Ip地址最大的;而是来的最早的。

(3)手工指定Router-id的命令

router  ospf   110

router-id    44.1.1.1    #路由器ID一旦生成,就不会轻易修改

clear   ip  ospf  process   #清除ospf邻居关系,重新建立

DR、BDR主要出现在MA网络中(还有NBMA网络)

选举DR/BDR的意义:减少了邻接关系的建立,优化了LSDB,较少了LSA的泛洪。

DR:(Designated Router指定路由器),主要用于收集网络中的信息,并更新给所有其他路由器

BDR:(Backup Designated  Router 备份指定路由器),当DR正常的时候,只负责监听网络中的数据;如果DR出现故障,就要直接接替DR的工作。

VPN

VPN(Virtual  Private Network)虚拟专用网络:在公网上,依靠公网链路,协商出来一条“隧道”。

互联网上的公网链路存在的问题

(1)被窃听————>加密

(2)防篡改—————>保证数据的完整性,对数据做hash(哈希算法);MD5和SHA

哈希的特点:不定长输入,定长输出;雪崩效应;不可逆;唯一性。

(3)被冒充————>源认证,认证方式:CA、预共享秘钥

(4)防重放————>每个数据包有一个seq

(5)不可否认性——>RSA和DH

Ipsec是一个安全的框架————解决网络传输中的加密、完整性、源认证、不可否认性、防重放

.Ipsec协商的过程:

(保证秘钥安全:源认证、加密、完整性校验

保证数据的安全性:使用的数据封装协议——AH、ESP;加密、完整性

IPsec中的2种模式:

传输模式:只有一层IP头;

隧道模式:在原始数据的基础上(内部IP是私网地址),又加了一层新的公网IP头

网络简要<入门篇>的更多相关文章

  1. 网络简要<入门篇>对应配置代码

    交换机的配置 (1)交换机的模式: switch>    用户模式,可以查看设备的部分内容 SW-3ceng>enable SW-3ceng#          进入特权模式,可以查看更多 ...

  2. Python网络爬虫入门篇

    1.  预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...

  3. Python 基础教程 —— 网络爬虫入门篇

    前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...

  4. GIT入门篇-基本概念与操作

    GIT 首先必须说明的是, 这篇文章不是阐述GIT原理性和比较深入的文章.只是对于日常开发中比较常用的需求的总结和GIT这些命令大体的原理解释.所以掌握这个只能说能够应付一定的开发需求.但是如果你是个 ...

  5. Linux入门篇(一)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  6. Linux入门篇(二)——文件

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

  7. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

  8. Linux及Arm-Linux程序开发笔记(零基础入门篇)

    Linux及Arm-Linux程序开发笔记(零基础入门篇)  作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/bee ...

  9. 【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)

    Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer ...

随机推荐

  1. linux性能优化cpu-02平均负载

    每次我们系统变慢时,我们通常做的第一件事就是top命令或者uptime命令,看一下系统的负载情况,比如下面: 我在命令行中输入uptime 22:15:51    表示当前系统时间 up 13 min ...

  2. MySQL6

    MySQL数据库6 1. 集群概述 性能达到瓶颈的解决方案 Scale Up 向上扩展能力,如增加更好的硬件固态磁盘,加大内存等,成本高,效果不显著 Scale Out 向外扩展,例如建立更多的服务器 ...

  3. npm 使用教程

    链接----------------------------------npm官网npm淘宝镜像 安装包----------------------------------npm install -g ...

  4. SVM简单上手示例

    转载自 百度知道 id:风_南(https://zhidao.baidu.com/usercenter?uid=e9904069236f25705e799313) 转载只为方便学习复习,侵删. 在用s ...

  5. Unity高像素截图

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51386272 作者:car ...

  6. 【00】angular学习网站

    [00]   学习资料:   http://angularjs.cn/   英文API:http://docs.angularjs.cn/api     中文API;http://www.apjs.n ...

  7. 54. spring boot日志升级篇—logback【从零开始学Spring Boot】

    在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...

  8. codevs1226 倒水问题

    题目描述 Description 有两个无刻度标志的水壶,分别可装 x 升和 y 升 ( x,y 为整数且均不大于 100 )的水.设另有一水 缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水 ...

  9. 作DJANGO ORM时的一些最佳实践

    还是国外的正规,都在作DJANGO ORM的解藕化工作了. 外键不用,多对多,一对多,不用. 参考URL: http://scottlobdell.me/2015/01/sql-database-be ...

  10. 使用jconsole监控远程JVM

    使用jconsole监控远程JVM 学习了:https://www.linuxidc.com/Linux/2015-02/113420.htm https://www.cnblogs.com/thin ...