网络简要<入门篇>
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;工业标准)。
单臂路由
- 单臂路由:vlan——>Access——>trunk ——>实现不同vlan之间通信。
单臂路由:实现不同vlan和不同的网段之间的通信问题。
- 单臂路由的工作原理:源目ip 地址不变,源目mac被重写。
3. VTP协议
VTP(Vlan Trunking Protocol 虚拟局域网中继协议):用来管理vlan的创建、删除和修改工作。
VTP的三种模式:
- 服务器模式(Server)
可以创建、删除和修改VLAN
学习、转发相同域名的VTP通告
- 客户机模式(Client)
学习、转发相同域名的VTP通告
不可以创建、删除和修改VLAN
- 透明模式(Transparent)
可以创建、删除和修改VLAN,但只在本地有效
转发但不学习VTP通告
三层交换机
- 单臂路由带来的问题:
(1) 内网跨vlan通信时,数据多次经过主链路,形成瓶颈;
(2) 只有一条链路会形成单点故障;
(3) 依靠路由表(基于软件)来查找路由,效率比较低。
- 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)交换机的模式: switch> 用户模式,可以查看设备的部分内容 SW-3ceng>enable SW-3ceng# 进入特权模式,可以查看更多 ...
- Python网络爬虫入门篇
1. 预备知识 学习者需要预先掌握Python的数字类型.字符串类型.分支.循环.函数.列表类型.字典类型.文件和第三方库使用等概念和编程方法. 2. Python爬虫基本流程 a. 发送请求 使用 ...
- Python 基础教程 —— 网络爬虫入门篇
前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...
- GIT入门篇-基本概念与操作
GIT 首先必须说明的是, 这篇文章不是阐述GIT原理性和比较深入的文章.只是对于日常开发中比较常用的需求的总结和GIT这些命令大体的原理解释.所以掌握这个只能说能够应付一定的开发需求.但是如果你是个 ...
- Linux入门篇(一)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- Linux入门篇(二)——文件
这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...
- 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...
- Linux及Arm-Linux程序开发笔记(零基础入门篇)
Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/bee ...
- 【Linux开发】Linux及Arm-Linux程序开发笔记(零基础入门篇)
Linux及Arm-Linux程序开发笔记(零基础入门篇) 作者:一点一滴的Beer http://beer.cnblogs.com/ 本文地址:http://www.cnblogs.com/beer ...
随机推荐
- linux性能优化cpu-02平均负载
每次我们系统变慢时,我们通常做的第一件事就是top命令或者uptime命令,看一下系统的负载情况,比如下面: 我在命令行中输入uptime 22:15:51 表示当前系统时间 up 13 min ...
- MySQL6
MySQL数据库6 1. 集群概述 性能达到瓶颈的解决方案 Scale Up 向上扩展能力,如增加更好的硬件固态磁盘,加大内存等,成本高,效果不显著 Scale Out 向外扩展,例如建立更多的服务器 ...
- npm 使用教程
链接----------------------------------npm官网npm淘宝镜像 安装包----------------------------------npm install -g ...
- SVM简单上手示例
转载自 百度知道 id:风_南(https://zhidao.baidu.com/usercenter?uid=e9904069236f25705e799313) 转载只为方便学习复习,侵删. 在用s ...
- Unity高像素截图
本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51386272 作者:car ...
- 【00】angular学习网站
[00] 学习资料: http://angularjs.cn/ 英文API:http://docs.angularjs.cn/api 中文API;http://www.apjs.n ...
- 54. spring boot日志升级篇—logback【从零开始学Spring Boot】
在<44. Spring Boot日志记录SLF4J>章节中有关相关的介绍,这里我们在深入的了解下logback框架. 为什么要使用logback ? --在开发中不建议使用System. ...
- codevs1226 倒水问题
题目描述 Description 有两个无刻度标志的水壶,分别可装 x 升和 y 升 ( x,y 为整数且均不大于 100 )的水.设另有一水 缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水 ...
- 作DJANGO ORM时的一些最佳实践
还是国外的正规,都在作DJANGO ORM的解藕化工作了. 外键不用,多对多,一对多,不用. 参考URL: http://scottlobdell.me/2015/01/sql-database-be ...
- 使用jconsole监控远程JVM
使用jconsole监控远程JVM 学习了:https://www.linuxidc.com/Linux/2015-02/113420.htm https://www.cnblogs.com/thin ...