(本文只是自己的学习总结,不一定正确,仅供参考)
文章目录
- 计算机网络基础
- 计算机网络五层架构
- 网络接口层
- 通信频谱
- 通信方式
- 电话线(无线电波波段)
- 双绞线(普通网线,无线电波波段)
- 同轴电缆(有线电视,微波波段)
- 移动通信(蜂窝网,地面手机信号塔,微波波段)
- 卫星通信(卫星广播电视,卫星网络,微波波段)
- 光纤(可见光波段)
- 无线局域网(WLAN,微波波段)
- 蓝牙(Bluetooth,微波波段)
- 射频识别和近场通信(RFID&NFC,无线电波波段)
- 网络设备与服务
- 数据链路层
- 网络层
- 传输层
- 应用层
- IP域名服务器
- 网络安全
计算机网络基础
OSI参考模型
实际网络架构
网络接口层
信息传播的物理媒介——双绞线、同轴电缆、光纤、不同频率的电磁波等(电磁波在不同频率、不同调制方式下也认为是不同物理媒介)。
信息在各种物理媒介传播的不同传输协议——以太网、移动通信网、WIFI、蓝牙等。
不同传输协议规定的内容——物理接口形状、规格、电气特性、电压、频率、编解码方式等。
把来自数据链路层的数据帧转化成二进制位。
数据链路层
特殊字符转义透明传输、网络服务登录、计费、IP地址分配之前的通信。
把来自网络层的数据包加上帧头帧尾封装成数据帧。帧头帧尾包括源MAC地址、目标MAC地址、CRC校验和等。
网络层
全球基于IP地址的互联网络,通过路由器网络组网。ARP协议完成MAC地址与IP地址的对应。IP网络分段。网络传输的基础数据包。
把来自传输层的数据段加上IP头部封装成IP数据包。IP头部包括源IP地址、目标IP地址、子网掩码等。
传输层
提供进程之间的逻辑通信。
TCP每一个端口跟其他主机之间的连接又称为套接字(socket),socket编程在传输层。
TCP连接={socket1,soket2}={IP1:port1,IP2,port2}
传输层建立了客户端-服务端的概念,发起TCP连接的是客户端,被动接受TCP连接的是服务端
应用层
域名,不同的网络服务。
管理机构
三大职能:
1.计算机网络协议参数约定;
2.IP地址分配;
3.域名服务(域名注册、域名解析、WHOIS查询,包括全球顶级域名、国家地区域名、根服务器)。
全球顶级机构:ICANN(美国主导)
大区级机构:ARIN(北美),RIPE(欧洲),APNIC(亚太,总部在日本东京),LACNIC(拉美),AFRINIC(非洲)
国家级机构:CNNIC(中国互联网络信息中心,中国)
申请国际域名、外国域名的时候,是向外国的管理机构申请。
计算机网络五层架构
网络接口层
通信频谱
电磁波谱:
无线电波-长中短波3kHz-300MHz;100km-1m(超视距,散射绕射穿透;地面广播电台;对讲机;刷卡。300kHz以上无线电波和微波合起来又叫射频)
微波300MHz-300GHz;1mm-1m(引起水共振并加热,过量微波伤害人;雷达卫星;移动通信;无线局域网。300kHz以上无线电波和微波合起来又叫射频)
红外线300GHz-10^14Hz(热效应;取暖)(100G=10^11)
可见光10^14Hz-10^15Hz;380nm-760nm(人能看到)
紫外线10^15Hz-10^17Hz(化学效应;杀菌)
X射线10^16Hz-10^21Hz(放射性;透视)
γ射线10^18Hz-∞(放射性;灭杀)
无线电波-散射(网线,广播电台,对讲机,近场通信)
微波-散射到直线(卫星广播/通信,移动通信,有线电视,无线局域网)
红外线-直线(遥控器)
可见光-直线(光纤)
通信方式
电话线(无线电波波段)
电话线可允许的电波频率范围比较广,最初只用来打电话有些浪费,后来为了把高频资源用起来,发明了ADSL电话线上网技术,接上分线器,把高频信号过滤出来,再用调制解调器(猫model)还原出数字信号,即可打电话上网两不误。
如今由于电话线本身的带宽限制,网速跟不上需求,逐渐淘汰,被双绞线或光纤取代。
一般频率可能在100MHz数量级。
双绞线(普通网线,无线电波波段)
分为屏蔽双绞线和非屏蔽双绞线两种。一般是非屏蔽双绞线,不安全,容易被电磁干扰或监听数据。
一般频率100MHz-1000Mhz之间。
双绞线规格分类
五类:100Mbps,适用于百兆网卡。
超五类:1000Mbps,适用于千兆网卡。
六类:1Gbps,适用于吉比特网卡。
同轴电缆(有线电视,微波波段)
有线电视广播网络。也有通过有线电视电缆接入互联网的技术(比如广电网络),原理同电话线上网。
一般频率1000MHz数量级。
移动通信(蜂窝网,地面手机信号塔,微波波段)
用于手机卡通信,3G/4G/5G上网,物联卡。以后随着移动通信网速度越来越快、资费越来越少,将逐渐取代其他网络接入方式。
一般频率1000MHz数量级,属于低频微波,具有一定的散射,不完全直线传播。
卫星通信(卫星广播电视,卫星网络,微波波段)
卫星广播电视。
卫星网络如北斗导航系统、卫星定位等。
一般频率1GHz数量级,直线传播。
光纤(可见光波段)
频率最高,带宽最大,可达Gbps以上数量级,超越计算机硬件处理速度,潜力巨大,超越一切有线、无线网络接入方式。但缺点是光纤怕弯折。
无线局域网(WLAN,微波波段)
WLAN是无线局域网的英文简称,WIFI是无线局域网的一种技术。主要有2.4GHz和5GHz两种,取决于协议、无线路由器、无线网卡的最慢者,最大传输速度1MB/s-10MB/s。
蓝牙(Bluetooth,微波波段)
2.4+GHz频段。但是频道有限,传输速度比较小,蓝牙4.0最大传输速度3MB/s。
射频识别和近场通信(RFID&NFC,无线电波波段)
10-100MHz数量级。门禁卡、校园卡、地铁卡、身份证、银行卡(非接触、非磁条)等贴近刷卡通信,一方是无源器件,通过电磁波能量感应交互信息。RFID早已有之,两者的关系是NFC起源于RFID,NFC更加规范和安全,NFC最近开始纳入手机的通信方式中。
网络设备与服务
分离器
分离同一有线通信介质中不同频率的信号,比如电话线的一转二的小盒子。
转发器
信号放大。
调制解调器(猫Model)
电话线有对应的猫,双绞线有对应的猫,光纤有对应的猫,每一种有线通信介质都需要特定的猫来转换信号,让计算机能够识别。
通信基础设施
有线通信的光纤铺设、电缆铺设,入户,通信卫星,移动通信信号塔,中继机房等。
数据链路层
本层封装
ID:MAC地址
每个接入互联网的设备终端都要有网卡,每个网卡都要分配一个全球唯一的MAC地址,MAC地址的前部分记录厂家信息,所以可以通过MAC地址获知网卡品牌类型。
MAC地址是计算机网络通信数据的最底层、最基础的识别ID。例
c0:3f:d5:32:2c:66(共48位)。
(在应用层面可以更改MAC地址,更改以后可能与局域网中的其他机器冲突)
网络通信需要经过大量路由器,每经过一个路由器都要把MAC地址换成路由器的MAC地址,所以不能通过MAC地址溯源,实际使用中MAC地址只能在局域网中可以定位。
以太网数据帧
以以太网协议为例(其他协议的帧头比以太网复杂,但均尊从帧头-数据-校验尾的格式):
封装重要字段:
源MAC地址
目的MAC地址
内部数据类型(IP/ARP/RARP)
校验尾
网卡
接入以太网的有线网卡、接入移动网络的无线网卡、接入无线局域网WIFI的无线网卡等。
工作在数据链路层,收发物理层的信号,在网卡内进行数据链路层的封装与解封,与计算机内部进行网络层IP数据包交互。
以太网网卡(基于双绞线通信)
可直接连接双绞线通信,其他线缆则需要调制解调器进行信号转换。
100Mbps,即百兆网卡,最大数据传输速度=100Mbps/8=12.5MB/s(通信领域计算bit位数,计算机计算byte字节数)
1000Mbps,即千兆网卡,最大数据传输速度=1000Mbps/8=125MB/s
还有1Gbps网卡。
若计算机其他硬件性能太差或外界网络太差,可向下兼容降级。
可通过查看本地连接看到网卡默认速度。
移动通信网卡(基于移动通信网通信)
运营商——移动联通电信
技术迭代——2G/3G/4G/5G
技术协议——GSM/GPRS/CDMA/LTE等
身份验证——手机卡
WIFI网卡(基于无线局域网通信)
没有太统一的标准名称,一般分为工作频率2.4G/5G两大类
蓝牙网卡(基于蓝牙通信)
蓝牙4.0
蓝牙4.1
以太网
以太网是最重要的数据链路协议类型。不采用网络设备的以太网是总线连接,同一时刻只能有一个数据在网络信道上传输,虽然有碰撞检测与避让机制,但效率和可靠性还是不太好,半双工。
所以实际成规模的以太网均采用网络设备。
网络设备与服务
集线器Hub(淘汰)
多个设备连接到集线器上,相当于多个设备连接到总线上,多个集线器组成的网络同样如此,全部处于同一个以太网冲突域,不能同时传输两个数据。仍然是原始的以太网构造。
网桥Bridge(淘汰)
多个设备连接到网桥上,也相当于连接到总线上,但多个网桥之间能够隔离冲突域(内部芯片记忆子域的MAC地址),截流同域数据,通过异域数据。
无线AP
无线的AP相当于有线的集线器或网桥,只是提供网络的接入功能。比如插入电脑的类似U盘的小无线设备,通过接入电脑,间接通过电脑上网。
交换机Switch(或称桥接器)
由网桥的理念发展而来,网桥的最优实现。彻底消灭冲突域,记忆所有连接到交换机的设备MAC地址,由交换机决定数据发往哪个设备,存储转发,可暂存数据排队。安全,其他设备不会收到数据,不能抓包。
交换机根据MAC地址转发数据,跟IP地址无关。
交换机是当今最重要的两种网络设备之一(交换机数据链路层、路由器网络层)。
交换机可指定特定的MAC地址上网,指定联网数量,对局域网进行管理。
多个交换机之间可能产生环(找不到目标设备,一直传递下去),循环不止,可通过生成树算法解决。
交换机可设置多个虚拟局域网VLAN,逻辑上等同于多个独立的局域网,之间可通过交换机互相通信。
网络层
本层封装
ID:IP地址
Ipv4——32位,点分十进制表示法,共4段,每段0-255,例如192.168.255.255
Ipv6——128位,冒分十六进制表示法,共8段,每段0-65535,例如
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789。连续出现的0位可压缩不显示,例如::1
分配了公网IP地址之后全球唯一可唯一定位,使用了代理服务器除外。
IP数据包
把传输层的TCP或UDP数据段封装成IP数据包(此图是Ipv4数据包):
封装重要字段:
源IP地址
目的IP地址
数据包总长度
计数——16位标识是发送者对每一次发送数据包的计数统计
优先级——8位服务类型是数据包的传输优先级,优先级越高则优先被传递
生存时间TTL——8位生存时间是此数据包存活的剩余周期,每经过一个路由器都会减1,减到0则此数据包就会被路由器丢弃。可由ping命令看到TTL数值,可推测路程远近,可自定义TTL默认值以此跟踪上网所经过的路由器
ARP/RARP数据包
封装重要字段:
硬件相关信息
发送端MAC地址和IP地址
接收端MAC地址和IP地址
网络协议-ARP
此协议是网络层内部协议,只用于确定MAC地址与IP地址之间的关系,不参与数据包的封装。
ARP数据包与IP数据包不同。
ARP协议通过局域网络广播查询,所有设备都能收到ARP查询数据包,只有目标设备回答。查询者收到回答数据就会长期记录此MAC地址,此后依照MAC地址通信。(有安全漏洞,ARP攻击)
ARP(已知IP查询MAC)
RARP(已知MAC查询IP)
网络协议-ICMP(ping)
此协议专门用于命令ping/pathping,用于网络状态检测,不参与数据包的封装。
网络协议-IGMP
多播/广播协议,用于网络层的组成员管理以及广播传输。
网络协议-IP
广域网和局域网
广域网WAN,全球唯一IP地址
局域网LAN,自己构建私有IP地址系统,经过网关的转换访问广域网
IP地址分类
标准子网划分
A类网络(子网掩码255.0.0.0):大型机构。
网络号范围1-126,共125个网络,每个网络可容纳1600多万台设备。
1个私有网络号10。
1个本地测试网络号127。本机地址127.0.0.1(域名localhost)。
B类网络(子网掩码255.255.0.0):中等机构。
网络号范围128.0 -191.0,共16多万个网络,每个网络可容纳6万台设备。
1个保留网络号169.254。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器,这时你将会从169.254.0.1到169.254.255.254中临时获得一个IP地址。
16个私有网络号172.16-172.31。
C类网络(子网掩码255.255.255.0):小团体。
网络号范围192.0.0-223.0.0,共200多万个网络,每个网络可容纳254台设备。
256个私有网络号192.168.0-192.168.255。
扩展子网划分
变长子网掩码,可增加大量子网,但如今也几乎分配完。
子网掩码每向后移1位,子网即可二等分。
公有地址
接入全球互联网的唯一性的ip地址,大部分给了美国,其他国家只能捡些残羹剩饭,已经分配完,新加入的设备要申请ipv6地址。
私有地址
属于非注册地址,给组织机构内部使用,或者建立个人局域网时使用。
以下列出留用的内部私有地址
A类 10.0.0.0–10.255.255.255(大型,大型机构内网)
B类 172.16.0.0–172.31.255.255(中型,学校、中小企业内网)
C类 192.168.0.0—192.168.255.255(小型,教室、办公室内网)
子网掩码
子网掩码一般是在路由器中基于分配的IP地址网段固定设置好的,数据包中不封装子网掩码。
子网掩码前m位全为1,后n位全为0,分别表示网络号和设备号。
子网掩码的两种表示方法:
单独写出——192.168.0.0,子网掩码255.255.255.0
全1的位数——192.168.0.0/28
IP保留地址
首地址表示网络号;
尾地址表示广播地址;
次首地址预留为默认网关,可以认为是可用地址,但不能乱用。
计算本网络可用地址时需要去掉首尾2个地址,如果是C类网络则可用地址为254个。
静态路由协议&动态路由协议
各个路由器之间的路由规则,静态路由即人工设定,动态路由有特定的算法。保证可靠高效路由,是电信运营商需要考虑的事情,我们不需要关心。
IP网络与MAC网络的对比
IP网络在网络层,广域网的IP地址永远不变。MAC地址在每一次路由的传递后都要变化。
IP地址决定数据包最终到哪里。MAC地址决定数据包下一跳转发给谁。
网络地址转换NAT
社区上网、虚拟机等用到的技术。
因为IP资源太有限,用户的IP均被服务商分配为私网IP,对外访问时转换为同一个公网IP,每个用户的每个访问都转换为新的唯一端口号(端口映射,用多个端口代替多个IP)。
网络设备与服务
路由器Router
路由器是在不同的网络转发数据包的设备,路由器的接口必须连接不同的网段。网络通畅的条件是能去能回。
无线路由器
无线路由器的接口包括:一个外网网口、多个局域网网口、无线局域网天线。
无线路由器的结构可看作:双网口路由器+交换机+无线AP,三合一设备。
默认网关
连接自己的设备的唯一出口路由器,管理控制着此路由器下的所有设备的上网行为。一般设置IP地址为本网段的次首地址(例如1)。
ISP电信运营商
提供上网服务,给用户提供接入广域网的入口,时间计费或流量计费。有线宽带(以太网)、无线上网(移动通信手机卡、上网卡)。
NAT内网穿透
在内部建立局域网,对外共享一个公网IP,公网端口映射到私网IP。
VPN服务器
VPN技术非常重要,用于进入内网、隐私上网、翻墙。整体可靠性取决于VPN服务器的可靠性。
原理:
建立一个服务器专门用于VPN服务,用户登录服务器,并持续与服务器进行通信,服务器在用户和私网之间搭了一个桥梁。数据包在广域网流通时在私网地址的基础上加了一层公网的壳,服务器做加壳/去壳处理,也可以做加密/解密处理,转发到目标私网地址。
传输层
本层封装
ID:端口号
常用端口号:
21/tcp FTP 文件传输协议
22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
23/tcp Telnet 不安全的文本传送
25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
53/udp DNS域名解析服务器
80/tcp HTTP 超文本传送协议 (WWW)
110/tcp POP3 Post Office Protocol (E-mail)
220/tcp IMAP3
443/tcp HTTPS used for securely transferring web pages
UDP数据报
封装重要字段:
源端口号
目的端口号
数据段长度——UDP只分为一段,只需明确这一段的总长度即可
TCP数据流
封装重要字段:
源端口号
目的端口号
SEQ序列号(32位)——由发送方决定,表示已发送了多少字节
ACK确认号(32位)——由接收方决定,表示已正确接收了多少字节
6个连接状态标志位——URG紧急指针有效(优先处理),ACK确认序号有效,PSH接收方应该尽快将这个报文交给应用层,RST重置连接(例如浏览器停止加载网页),SYN发起一个新连接,FIN结束一个连接
上层补充封装
安全层-SSL/TLS
网络协议-UDP
不可靠传输。
不分段,一个数据包就能完成一次通信,无会话。
网络协议-TCP
可靠传输,数据传输的可靠性保证。
丢包重传,分段编码,建立会话,全双工,流量控制,收发双方要持续交流反馈信息(发送、确认、超时重传),分段流水线传输。
面向字节流。
TCP连接10种状态
服务端监听:LISTEN
建立连接阶段:SYN_SEND/SYN_RECV
正常连接:ESTABLISHED
关闭连接阶段:FIN_WAIT1/COLSE_WAIT/FIN_WAIT2/LAST_ACK/TIME_WAIT
关闭连接:CLOSED
TCP建立连接的三次握手
第一次握手(客户端发起连接):客户端发送SYN包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手(服务端确认客户端数据序列号):服务器收到SYN包,必须确认客户的SYN已正确收到(ack=x+1),同时自己也发送SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手(客户端确认服务端数据序列号):客户端收到服务器的SYN+ACK包,向服务器发送ACK包(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
TCP关闭连接的四次挥手
第一次挥手:客户端发送FIN包(seq=x),表示客户端不再发送数据,客户端进入FIN_WAIT1状态。
第二次挥手:服务端收到客户端的FIN后,发送ACK包(ack=x+1)表示确认,服务端进入CLOSE_WAIT状态,客户端收到ACK后进入FIN_WAIT2状态。
第三次挥手:服务端继续发送FIN包(seq=y),表示服务端不再发送数据,服务端进入LAST_ACK状态。
第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送ACK(ack=y+1)给服务端,服务端收到后进入CLOSED状态,完成四次挥手。
四次挥手后,客户端等待2min后自动从TIME_WAIT状态转为CLOSED状态,双方均进入CLOSED状态,则连接完全关闭。
应用层
下层补充封装
连接层-Websocket
通过http/https协议间接握手,然后再通过底层的ws/wss协议持续连接(相当于传输层tcp)。url格式:ws://host:port
用处:传统的socket编程很难通过浏览器访问,需要原生APP编写对应的接口,而websocket可以通过浏览器,通过应用层间接握手进而直接访问底层socket网络。
会话层-Session/Cookie
服务端保存会话信息——Session,每个用户都会保存一份,会保留一段时间(所有TCP会话关闭也不会消失)。
客户端(一般是浏览器)——Cookie,从服务端数据头获取,每个域名都会保存一份,会保留一段时间(所有TCP会话关闭也不会消失)。
表示层-字符编码&混淆&压缩&签名
字符编码——约定正确的字符编码,使得双方能够正确读取和显示。尤其是中文,编码需要特别注意。
混淆——公开代码如java/js代码,为了防止别人逆向工程,把关键字和变量的名称进行混淆,让人难以读懂。
压缩——代码压缩(公开代码如java/js代码,压缩多余的空格和换行符,防止别人逆向工程以及减小体积);一般文件压缩(主要目的是减小体积,节省带宽和流量)。
签名——数字签名,确保文件来源可靠。
本层封装
应用数据头
不同的协议有着不同的数据头,均为字节流,一般第一行标明协议类型及其版本。虽然不同的应用层协议均有特定的端口号,但不绝对。应用层协议逐渐摆脱规则限制,多为软件或厂商的约定,可较为随意地修改。
IP地址决定机器,端口决定TCP/UDP数据传输以及监听此端口的服务软件,应用层数据头决定服务软件要执行的操作。
域名
域名分类
全球顶级域名:
Com——商业
Edu——教育
Gov——政府
Net——网络服务
Org——非盈利组织
国家地区域名:
Cn——中国
Hk——香港
Tw——台湾
Jp——日本
网址URL
例如:
https://music.baidu.com/page1.html
动态地址分配DHCP(UDP)
使用了3个UDP端口。
集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息。
域名解析服务DNS(UDP53)
把域名解析成实际IP地址。详见DNS服务器。
文件传输协议FTP(21)
使用2个TCP连接。一个是控制连接固定21端口,一个是数据连接(一般用20)。
超文本传输协议HTTP(80)
普通浏览器上网。
邮件协议SMTP/POP3/IMAP
SMTP发送;POP3和IMAP接收。
远程桌面RDP
音视频传输
占用的带宽高;不要求精确(可有损压缩传输);要求实时(低延迟);要求最低网速;有些是实时点对点交互,有些是多播广播(需要特殊规划)
流式存储
在线播放音视频。
服务器已存储的音视频,可提前缓存,边下载边播放。可禁止下载,保护版权。
流式实况
准实时直播(一般几秒的延迟,为了预留缓存时间)。
边录制上载到服务器,边下载播放。服务器可设置不保存,直播完后此直播数据即丢失。
流程:
数字视频录制(直播手机、摄像头等)->编码器->流媒体服务器->观看视频的客户端。
交互式
点对点音视频通信,如微信视频通话。
广播/点播
广播以服务器为主,服务器播放到哪里,客户端就只能看到哪里。
点播以客户端为主,客户端选择点播那些音视频、哪个时间点,服务器根据选择返回。
多播/单播
多播以广播的方式发送数据包,提高服务器效率,但增加了外部网络带宽占用;单播分别建立点对点连接发送数据包,服务器压力大。
网络设备与服务
DHCP服务器
集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息。
在局域网内,基于MAC地址通信,使用广播,与ARP协议类似。已知MAC地址获取IP地址以及其他信息。
DNS服务器
把域名解析成IP地址。DNS服务器由运营商和大企业提供,是固定的几个IP地址。例如8.8.8.8是谷歌提供的DNS服务器。
输入域名上网的流程:
客户端->网址->DNS服务器
DNS服务器->网址对应的IP地址->客户端
客户端->网址对应的IP地址->成功上网
都会有DNS缓存。
根服务器
专门用于解析顶级域名的服务器,全球20多个,主要在欧美国家。
私有域名系统和DNS服务器
对局域网的IP地址分配域名,通过DNS服务器的服务,直接访问私有域名。
Proxy代理服务器
形象比喻:中介。
一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。
代理服务器与VPN的区别:VPN架设专用网络;代理服务器只是作为上网中介,没有专用网络。
代理可产生的功能:
1.使用国外代理服务器,可突破IP限制,包括突破国内对访问外网的限制(长城防火墙)和外网对国内用户的IP锁区。
2.可以做缓存,加速访问资源,可用于机构内的局域网、专门用于提升网络性能的代理服务器。
3.对客户端访问授权,上网进行认证。
4.管理上网权限,监控用户上网行为和上网信息(上网行为管理),对外隐藏用户信息(匿名上网)。
5.共享上网资源,局域网内只要有一台设备能上网,只要在此设备开启代理服务,其余设备均能通过此代理上网。
正向代理服务器
一般人上网使用的代理服务器就是正向代理。用代理作为上网中介。
反向代理服务器
服务器使用反向代理,所有的用户访问的都是反向代理服务器,真实服务器被反向代理隔离在服务端的内网中,保证服务器的性能和安全。还可提供负载均衡功能。
反向代理有专门的服务器软件实现(apache或nginx等)。
网络软件
抓包工具:Ethereal-network protocol analyzer(Wireshark)
IP域名服务器
IP&域名管理机构(CNNIC)
申请IP地址
国内向CNNIC申请IP(也包括网络层路由子协议的AS号码)。
ISP电信运营商申请,一般企业或个人不需要考虑。一般企业或个人只需要向电信运营商二次申请
申请域名
国内向CNNIC申请域名。
个人可申请,可由企业机构代申请
指定DNS服务器
免费使用,DNS服务器固定且数量有限,可直接指定
申请服务器证书
中国独有,监控服务器备案情况。租用云服务器不需要考虑(企业已申请)
服务器管理机构(企业)
购买服务器
可购买物理实体服务器、云服务器自己安装系统环境、云服务器包含已安装系统环境。
ECS云服务器
租用云服务厂商的服务器,相当于自己拥有了一台高性能的物理服务器。省去了管理物理服务器的麻烦,可专心构建服务器软件环境。
VPS虚拟专用服务器
把一台独立服务器虚拟化成多个服务器,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离。类似于个人计算机上的虚拟机系统。
VPS可以在本地,也可以在云上。个人一般在服务商租用的服务器是ECS+VPS(即云虚拟主机)。
云虚拟主机有自由装系统类型和预装固定系统类型两种。想要翻墙必须租用国外自由装系统类型。
共享虚拟主机
连操作系统也不是独立的,而是多个用户共享同一台机器、同一套系统、同一套软件环境,只提供如LAMP这样的网站运行环境,用户只能自己上传网站内容,而不能自定义系统环境。
IP-域名-服务器的对应关系
IP-域名-服务器=多-多-多。
一个实体服务器可绑定多个IP地址,只要有多个网卡即可(可虚拟),比如云服务商为用户提供独立IP的服务器。
一个域名可以部署到多个实体服务器,并分配多个IP地址,多台位于不同区域的服务器共同为同一个网站服务以实现负载均衡。
一个实体服务器内的服务器软件可绑定多个域名,域名之间以端口或IP区分。
服务器系统架构
硬件基础系统
计算-存储-内存-网络带宽-操作系统
IP-域名-DNS-服务器证书
软件基础系统
数据库-服务应用(核心应用+页面级脚本php/asp/jsp)-服务器软件(Apache/ngnix)
网络与服务器性能优化
防灾备份
硬件备份——多个物理服务器(包括多个机房、多个IP地址),双机热备
软件备份——多个数据库、多个服务器软件
负载均衡SLB
多台服务器多个IP地址,通过软件算法平衡用户的访问,均衡各个服务器的负载
内容分发CDN
利用各种算法实现用户访问服务器速度明显提升。加速功能。
尤其适用于音视频服务,消耗大量流量带宽、广播式传输。
网络安全
计算机网络安全协议
数据链路层安全
PPP安全:
点对点安全加密。在链路层验证密钥(密码),对网络层数据包进行加密。
ADSL安全:
电话线拨号上网安全。
网络层安全IPSec
在网络层(IP数据包)加密,对用户透明,用户之间用明文通信,网络传输加密密文。
在IP数据包首部的可变部分添加相关信息。
首次通信时使用非对称加密协商密钥(安全关联SA),后续的通信使用对称密钥加密。动态密钥管理。
防火墙Firewall
非加密,只是限制访问。
功能:
1.网络层。过滤源/目的IP。
2.传输层-应用层。过滤端口、tcp/udp协议,应用网关,设置应用的网络访问权限
安全层SSL/TLS
(Secure Sockets Layer)
(介于传输层和应用层之间)
把应用层的数据进行加密,送往TCP套接字。接收方反之。相当于在传输层和应用层之间加了一层SSL安全层。使用了SSL的HTTP协议即HTTPS安全上网协议。
SSL是安全层的原始名称,TLS是SSL的升级版本的新名称。SSL/TLS可归类到传输层。
(服务端首先要生成一对唯一的公钥和私钥,同时生成数字证书,用于证明自己是一个安全正规的服务商)
1.服务端自己保留私钥,把数字证书和公钥(公钥包含在证书里面)发送给客户端,同时客户端要验证服务端的数字证书,确保此服务端是经过权威机构认证的安全的服务商。
2.客户端根据此公钥加密生成主密钥,返回给服务端,同时自己根据主密钥计算得到对称加密的密钥和消息完整性验证的密钥。
3.服务端根据返回的主密钥计算出对称加密的密钥和消息完整性验证的密钥。此时通信双方都得到了对称密钥。
4.双方互相验证加解密是否成功。
5.双方通过对称加密通信。
加密和数字签名
常用算法
单向加密(数字摘要,指纹)
特点:
不同的明文有一定几率得到相同的密文。
不能对原文件加密,只是得到的摘要信息用于验证。
MD5摘要算法
把任意长度字符串映射为固定长度128bit。是一种散列运算,可通过明文经过MD5运算得到密文,不能通过密文反推明文,密文可公开。
MD5的功能有:(1)一致性验证(2)数字签名(3)密码存储。
(1)一致性验证,简单理解就是检验是否一致,比如说,你从网上下载一个文件,网站会给出这个文件的MD5值,通过这个MD5值来比对下载前源文件与下载后的文件是否一致。
(2)数字签名,简单理解就是通过MD5算法实现的签名,作用是验证身份。
(3)密码存储,很好理解,就是将密码通过MD5算法加密存储。
SHA摘要算法
位数更高,安全性更高
对称加密算法AES/DES/RC4
特点:
可对原文件整个文件进行加密,得到全密文的加密文件。
如何加密的就会如何解密(一般通过密码加密解密),对称,互为逆过程。
非对称加密算法RSA
特点:
可对原文件整个文件进行加密,得到全密文的加密文件。
两个密钥,私有的为私钥,公开的为公钥,可使用私钥加密公钥解密,也可使用公钥加密私钥解密。
非对称加密与对称加密相比,其安全性更好:对称加密的通信双方使用相同的秘钥,如果一方的秘钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对秘钥,一个用来加密,一个用来解密,而且公钥是公开的,秘钥是自己保存的,不需要像对称加密那样在通信之前要先同步秘钥。非对称加密的缺点是加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
加密
对称加密——加密解密都用同一个密钥,密钥不能公开。
非对称加密——加密解密用两个密钥,一个公钥和一个私钥,公钥可随意公开给任何人,私钥自己保存。
两者结合——先对称加密原文件,然后非对称加密密钥,得到密钥的密钥。
加密的用途:
数据保密,不能让别人读取信息。
数字签名
将原文件的摘要信息用私钥加密,和原文件一起发送,然后接收方再利用公钥进行解密验证。
数字签名的用途:
防止抵赖,确保原文件没有被中途更改。形象比喻:党中央下发红头文件。
证书颁发机构CA
给数字签名提供公证的机构,颁发数字签名证书。
网络连通问题
默认网关的设置
默认网关是自己接入广域网的唯一出口。一台计算机如果有多个网卡,尤其是有些网卡只连接局域网,切忌设置多个默认网关,否则会丢包。只需要给连接广域网的速度最快的网卡设置默认网关即可。
限制网速的因素
广域网络
网络服务商的网速、网站的响应速度等。
交换机/路由器
交换机、路由器的吞吐速度与其他用户的拥挤程度。
网络接入媒介
双绞线的规格,支持百兆则最大10MB/s,支持千兆则最大100MB/s。无线路由器的信号限制等。
网卡
网卡规格,百兆网卡则最大10MB/s,千兆网卡则最大100MB/s。
网卡接口
系统内部的各种接口、总线等的限制,一般不会高于100MB/s。
硬盘
硬盘的写入速度,机械硬盘一般不会高于100MB/s。
网络拥塞
局域网络中有定时广播,挤占网络资源
数据包大量丢失
可能是设置了多个默认网关,应该只设置一个
计算机网络安全问题
计算机病毒或恶意软件
病毒
传播性、隐蔽性、感染性、潜伏性、可激发性、表现性或破坏性
最大分类:木马病毒。盗取信息,篡改数据
攻击类型:网络攻击(攻击服务器、网络设备),硬件攻击(硬盘引导区),文件攻击(篡改文件),木马病毒(盗取信息),宏病毒(利用office宏的漏洞编写病毒代码)
举例:灰鸽子
恶意软件
没有病毒特性代码,杀毒软件不会查杀,但有恶意行为
局域网攻击
ARP欺骗
攻击者只要检测到ARP询问广播,不管是不是问自己,都给询问者回复自己的MAC地址,那么此后本该发送给别人的数据就会截获到自己手中,然后再转发给原来的目的地,防止被发现。或者回复一个不存在的MAC地址,让被攻击者无法互相通信。
路由器欺骗
假装自己是路由器(默认网关),所有人的数据流经自己,自己可以随便控制别人的网络连通性,以及截获未加密的所有数据。
DDoS拒绝服务攻击
TCP SYN攻击
TCP SYN Land攻击
UDP洪水攻击
Ping洪流攻击
Smurf攻击
网络服务安全问题
DNS劫持
拦截域名解析的请求,返回错误的IP地址或者不返回。使设备不能通过域名访问正确的网站。
SQL注入
当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入漏洞。不法人员即可利用此漏洞侵入网站后台获取或篡改信息。
旁注
利用同一主机上面不同网站的漏洞得到webshell,从而利用主机上的程序或者是服务所暴露的用户所在的物理路径进行入侵。
XSS跨站攻击
把恶意代码注入HTML网页然后执行。
CSRF攻击
Cookie欺骗
在未输入用户名密码的情况下模拟用户登录信息。
网络信息安全问题
通用安全威胁
完整性
窃听
篡改
冒充
账号被盗
典型如QQ盗号等,QQ等账号与个人隐私和个人社交关系非常密切,失窃不仅严重损害社交能力,还会产生安全隐患。
信息丢失
网站突然关闭(比如原百度空间)、网盘随意删除文件等。
钓鱼网站
专门用于盗取用户信息的网站。伪造正规网站,高仿,让用户误以为进入了正规网站,输入隐私信息,一旦输入就被记录盗取。
第三方密码泄露
官方网站安全措施很好,但是用户授权了第三方网站使用此官方网站的账号系统。而第三方网站的安全设置存在漏洞,私自保存了官方账号体系,被不法分子盗取或者内部人员盗取。
无法注销的旧账号&无法删除的黑历史
用户年少无知的时候注册的账号、发表过的无知信息、无意泄露的隐私信息,因年代久远或者忘记账号密码而无法注销和删除,被长期存储在网站中。成为永远躺在网络角落中的黑历史。
流氓企业
突破道德底线,随意窃取除了密码之外的用户隐私信息,把用户信息贩卖给广告商,此后持续收到营销骚扰信息。存在极大安全漏洞,容易被不法分子侵犯现实中的人身安全。