哔哩哔哩面试题2---网络相关
CDN 加速
CDN,即内容分发网络
是位于网络层和应用层之间的网络应用
其目的是通过现有的Internet中'增加一层新的网络架构',将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需要的内容,'提高用户访问网站的响应速度',解决网络拥塞问题,提高用户访问网站的响应速度。
从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。
中国第一家CDN服务提供商 -- 蓝汛
CDN的基本运作原理是:
在各地的部署'CDN节点'和'大量的边缘服务器'构成CDN网络, 然后将'加速网站内容''缓存或镜像'到这些节点边缘服务器上,当终端用户访问这些加速网站时,通过DNS技术将用户访问解析到'离终端用户最近的最可靠的'边缘服务器上,实现'就近访问',从而加速访问速度,提升用户的访问体验
我们先简单说一说什么是CDN,CDN是像我们去影院观看电影一样,你肯定不会去院线发行商那里直接看,我们看到的比如过亿的用户,能够接近的找到一个影院能够享受到内容给我们带来的快感,CDN做的事情跟这个是类似的。
把我们这个ICP(向广大用户综合提供互联网信息业务和增值业务的'电信运营商')提供的内容能够引导用户接近智能的去访问。我们可以理解成'用户接入层',
传统意义上内容的分发应该是这样的一个基本的架构,通过'骨干网络'到达我们用户最终获得的内容。骨干网络的传输当中,肯定会有这样那样的故障,有非常大的网络故障,都会影响到我们整个互联网用户的体验。
当然整个ICP出口网络,有可能会有问题。这些CDN跟出的答案是什么呢?我们会把用户的内容,'同步到我们的骨干网络上面去',我们就可以接入到骨干网,保证内容有序的分发。
分发过程当中还会产生一些干扰,蓝汛自己是建了这么一张独有的光纤铺设的网络,把我们所有的传输,能够以专用的骨干网络连接起来,相当于我们能够'把用户的内容搬到我们这张网里面去',实现有序可控的传输。提高用户访问速度,还有减轻我们ICP服务器的负载,能够满足他们迅速扩容的需求,CDN承载了主要的流量,所以降低通信风暴对网络的影响。有效抵御流量的攻击,可以解决我们运营商之间和南北互联之间的一些问题。
CDN从传统意义上来说,我们更多聚焦于'静态的传输',其中包括一些UPP的下载,还有我们浏览网页,还有下载大型游戏的安装包,
这里面我们有几个关键的技术,第一个我们会对这些内容做一'压缩'。包括主动压缩,再压缩基础上采取更高效的算法让数据传输量减到比较小的颗粒度上去。
另外我们会有一个'预推送'的动作在。我们会利用我们互联网流量的模型,比如说我们夜间可能是由网民获取内容,相对来说比较少的时间段,会利用这些时间段,'预先推送内容到达我们网络内',起到网络整形的作用。一方面会保护内容提供商他们这些内容是属于他们自己,不被别人盗取。另外我们自己看到整个网络的运营也是有不可推卸的责任。对整个安全的漏洞,还有我们运营的规范化做一个保障
整个手机的网民占到我们整体网民数量在2014年5月份的报告里面有81%左右。移动互联网给我们CDN带来哪些挑战呢?我们可以在这里有一个简单的图可以看看。
我们可以看到移动网民接入,要通过运营商接入,我们可以看到大部分的网络内容可能会位于联通和电信这边,之间会存在比较有挑战性的问题。随着3G、4G还有5G的发展,终端接入带宽要求还有接入条件,对带宽要求是越来越大。
但是运营商之间这种结算的相对来说,刚才提到'细腰'的概念,这个地方可能会有一个瓶颈。会把我们的内容尽量留在移动网内加强基础设施的建设。
另外我们会对于移动网内传输的这些内容进行一个'主动的压缩',能够降低充分内容产生流量的费用。
另外就是在手机端还有'基站',我们也做了一些尝试性的工作。把内容缓存到基站上面,和把内容缓存在手机上面。
ICP希望根据运营商多一些合作,注入新的内容。这是我们在移动互联网里面涉及到的技术,包括我们自主压缩的一些协议。我们能够是解决我们的APP多协议的需求,第二个就是终端的适配,我们可以根据手机上屏幕的大小,来确定到底是我们推送多大的图片到网民端。尹浩也提到蓝汛擅长是做'网络感知',我们对网络更加了解,根据网民类型返回不同压缩的内容。
在这里有一个非常有意思的数据,通过我们的运营平台可以看到,原来在移动互联网里面我们会有一个清晰的概念,我们在上班或者下班,上班是看网页,下班也是看网页。这样的模型是恰恰发生变化,上班的路上或者下班的路上甚至于睡前,这些在我们的运营平台上都可以看到,流量是发生哪些变化,这些反而成为一些'流量突增的时间点'。
3G和4G的发展,带宽口子开了之后思科预测到,在移动流量当中可能有'66%都会以视频内容呈现',视频对CDN也提出了一些要求,这个在移动互联网,我们视频已经具备的条件,包括我们宽带中国给我们带来策略性的保障。视频接入的方式来说,只要屏幕有接入,就会有需求。包括平板和PC。我们对应解决方案,第一个方式我们能够去支持点播的业务,对于直播的需求,CDN也是目前要解决的一个非常重要的问题。
对于'协议'方面,包括了HTTP,还有ITSP,这些协议在CDN方面也提出了具体的要求。对于封装的格式,包括主流MP4还有HIS和HDS等等。
这个地方想跟大家分享一下,除了基站还有手机运营的缓存以外,希望能够把内容'缓存'在我们上午的无线接入点上面去,这里面有什么样的好处呢?第一个包括我们用手机看视频,或者是用PC看视频,这些内容在一个家庭里面可能是码率的不同,或者是分辨率的不同,但是需要在统一网络出口上面能够实现他们编码的转变和内容的缓存,这些对CDN厂商来说他很清晰的知道,哪些内容在互联网上面是具有非常高的可重复性。所以把这些热点内容推送到我们APP上面去,仆役实现我们整个重复内容,减少传输的要求。
另外CDN要解决的问题,'动态的传输',所谓动态就是整个CDN这些文件是没法完全具备的,我们可以实现动态内容的加速包括我们一些连接池的技术,带来了时间的消耗。
另外CDN基于网络感知,可以清晰测量出哪一条链路是最优的,基于这个链路进行优化。另外这里面其中提到一些技术问题是包括数据的去除,主要是利用资源的技术,能够根据资源的翻译,可能不是一个原始大块可重复的内容。而是我们传是根据支点做的编码,把编码进行一个传输,达到数据的目的。
'TCP的优化'在CDN当中也是非常关键的作用。CDN作用就是打破原来TCP的协议,能够快速做一些数据的启动和收敛。
物联网前面有的同事也提到过,我想在这里主要强调一点,物联网没有中心点动点的互联结构,CDN是怎么跟他去适配呢,我想主要是CDN有一个广泛分布的网络,可以去实现,'找到一个最佳的链路',使我们物联网之间的传输更加的高效和实时。
谈到云计算,'CDN本身就是云计算的实现形式',他能够做到一个云分发,在云计算给CDN带来的机会,主要就是在CDN运营当中不光是实现了研发,运营的时候对提供开始服务的设备,还有就是存储,已经实现的云主机和云存储的模式。SDN对CDN的影响,网络探测是整个的基础,因为CDN是控制了一小部分的网络,对于整体的骨干网络话语权和相对来说是比较弱一点。我觉得对于整个网络的理解,还有网络传输的性能,CDN产生相对来说应该是掌握的更加的全面一些。刚才也给大家展示过大数据在CDN上,有一些非常有益的数据。蓝汛在业界推出了我们大数据的挖掘,这样一个产品,大家有时间也可以关注一下。
DNS 解析过程
1.用户在浏览器中输入URL
2.DNS会将域名的解析权交给CDN专用的DNS服务器
3.CDN专用的DNS服务器,返回CDN负载均衡集群的ip地址给用户
4.CDN负载均衡集群根据配置的策略来选择相应的CDN缓存服务器,返回给用户ip地址
5.客户端对缓存服务器发起请求
6.缓存服务器相应用户的请求,返回相应的内容
7.客户端对缓存服务器发起请求,如果没有命中,它将继续请求他的上一级缓存服务器
8.直到追溯到原站服务器,将内容拉到本地
#总而言之,CDN就是一台缓存服务器,用来加速用户对web的访问
路由器
1.基于IP地址
2.使用路由表
3.不防环
4.路由器接口少,分配的子网少
#同一局域网,不同的路由器必须配置不同的路由器
#无论今后做什么项目,在配置完底层ip地址之后,都要进行直连通信的测试,ping,保证底层通信正常
#路由不通
1.看接口配置是否配置正确
display ip interface brief #查看当前接口状态
2.查看路由表
display ip routing-table #有相关路径,才能ping
交换机
华为交换机(默认是hybrid接口)
思科交换机(默认是access口)
1.有MAC地址
2.记忆MAC地址
交换机接口基于数据的源MAC地址进行学习
基于数据的目的MAC地址,根据MAC地址表(已经学习的MAC)进行转发(单播)
对于数据的目的MAC地址没有学习过,也就是没有MAC地址表项,会执行泛洪
交换机的接口可以学习多个MAC地址(交换机可以连接交换机)
一个MAC地址只能被一个交换机接口学习(后到优先原则)
对于广播和组播的数据,交换机一律采取泛洪的措施
3.防环(STP协议),与数据包的广播有关,数据包没有防环协议就会产生广播风暴
#连接同一个交换机或者集线器的设备,属于同一网段,除了连接的是交换机
#交换机可以隔离广播域和冲突域,使用协议 vlan
#交换机数据的输出与冲突域(CSMA/CD)有关,接收与广播域有关
#交换机可以实现单播(依靠MAC地址),hub集线器不能实现单播,只能泛洪
#交换机的广播和集线器的泛洪一样
#MAC地址表(cam表)的MAC地址的生命周期默认是300s,也就是说300s内没有收到数据,该MAC地址将会被删除
#一般使用二层交换机
#MAC地址表记录的就是MAC地址与交换机接口的对应关系
#交换机处理的数据是数据帧,也就是封装了真实数据、帧头、帧尾之后的数据
#数据帧分为,单播帧、广播帧、组播帧
#MAC地址表是基于ARP协议形成的
#ARP协议与路由表有关,就是ip与MAC地址的对应关系
设备PC -- 交换机 -- VLAN -- 数据-- 数据帧
1. 单播帧(一对一) -- MAC地址表(查找目标MAC地址和端口)
2. 广播帧(以对多) -- 广播
3. 组播帧 -- 组播
#两个设备通信,ip和MAC缺一不可,同一网段只需要MAC地址
#数据包的组成:源ip、源MAC、目的ip、目的MAC,在传输层封装为数据帧
#ARP广播报文不能跨越路由器,路由器的每个端口都会终结每个网段的广播报文,ARP广播报文可以跨越下层交换机
设备PC -- 浏览器输入域名 -- DNS解析为ip(判断是否为相同网段)
#相同网段
设备PC -- ARP缓存表(arp -a) -- 得到目的ip的MAC地址
-- 通过ARP协议进行广播 -- 目的ip收到数据包,回复其MAC
#不同网段
设备PC -- 网关通过路由表查找MAC,转发数据包到指定主机
集线器(hub)
1.没有MAC地址,不使用MAC,对于数据的转发使用泛洪,所以速度较慢
#集线器不能隔离广播域,连接集线器的设备一定在同一网段
#一般PC先连接一个HUB集线器,再连接交换机
#一般使用一层集线器
虚拟局域网VLAN
设备PC -- 路由器接口 -- 网段 -- 局域网 ------ 广播地址 -- 广播报文
#缺点是浪费设备的CPU资源(每个主机都要查看包是否是发给自己的)
#VALN的作用就是把大的局域网划分多个隔离域,称为多个VLAN
#减少设备CPU资源的浪费的方法就是 VLAN(虚拟局域网)
#VLAN是配置在交换机上的
#VLAN的取值范围是 0-4095 (0,4095保留,不能使用),使用VLAN可以隔离出4094个隔离域
#VXLAN(虚拟可扩展化局域网)可以隔离出160W个隔离域,是VLAN的升级版(解决VLNA数量不足的问题),作用1.IDC数据动态迁移 2.隧道
#同一VLAN 的主机之间可以直接通信,不同VLAN的主机之间不能直接进行通信
#划分VLAN的方法有很多种,其中95%都是通过端口来划分的,还可以根据MAC、IP、子网、协议、策略来划分VLAN
#交换机所有的 端口默认都是属于VLAN1的,所以不能划分某一广播域为VLAN1
#交换机设备包括三种端口
access口,作用于 PC -- 交换机 -- PC
连接交换机和终端设备PC的
PC发送数据包到交换机,access加PVID,PVID即标签,标识不同的VLAN,PC接收数据的时候,access为其取标签,再发给PC
同一VLAN 的主机之间可以直接通信,不同VLAN的主机之间不能直接进行通信
终端设备不识别标签('发出的数据包没有标签,收到的数据包不能带有标签'),路由器也不能识别标签,但是交换机可以识别标签
trunk口,作用于交换机之间
相同VLAN可以通信,不同VLAN也能通信
相同VLAN去标签发送,不同VLAN交换机打上对应的VLAN,再去标签发送
需要手动配置VLAN的转化
hybrid(华为的私有端口),也就是access + trunk口,默认PVID为1
作用于PC连接交换机,或者交换机之间
相同VLAN之间可以通信,不同VLAN之间也可以进行通信
交换机之间,tagged带标签通过
交换机传递数据包给PC,untagged去标签通过,untagged可以无视PVID
untagged需要手动配置
#工作中不会在同一网段下划分VLAN,经常在不同网段下划分VLAN(对应不同的部门),与路由器、三层交换机有关
#三层交换
数据在三层交换机之间的传输依靠的是路由,从而进行数据包的转发
集线器 -- 二层交换 -- 三层交换或者单臂路由(被淘汰)
DHCP(动态IP分配协议)
#定义
路由器、三层交换机、防火墙、PC都有动态分配ip的功能,拥有该功能的服务器叫做DHCP服务器
一个局域网下必须要有一个DHCP服务器,跨过路由器,来转发ARP协议
DHCP是C/S结构
DHCP是一个局域网协议,不能跨网段
中继(relay)可以使DHCP跨网段
#作用
1.自动分配ip地址
2.自动回收ip地址
#client端请求上网的四个状态
DHPC client端 DHCP server端
1. -------------- discover 广播(请求上网) ----------》
2. 《------------ offter 单播(通过主机池提供ip)-----
3. -------------- request (使用哪个,退回哪个)------》
4. 《------------- release 拒绝使用 -----------------
#租期、续租
DHPC client端 DHCP server端
1. -------------- 指定上网时间的50%,续租(单播) -----》
2. 《------------ server端返回ACK或者不返回 -----------
3. -------------- 指定上网时间的87.5%,广播 ----------》
4. 《------------- 新的DHCP server返回新的ip ----------
#软路由
目的是为了节省成本
可以在PC、server端配置软路由,使其充当临时的DHCP服务器
#中继
DHPC client端 relay (GW server) DHCP server端
1.------------ discover 广播 ---------------- discover 单播----》
2.《----------- offter 单播 ------------------ offter 单播-------
3.------------- request 单播 ----------------- request 单播 ----》
#请求都是广播,中继都是单播(参考)
#DHCP安全威胁
1.饿死攻击(DHCP服务器没有ip分配)
黑客可以使用chadder来不断的向DHCP服务器请求ip,chadder相当于MAC,不同的chadder代表不同的主机,从而别的服务器无法上网
2.仿冒服务器攻击
私接路由器
安装DHCP server
3.中间人攻击
ARP中间人攻击(双向欺骗),使用非对称加密可以避免
#使用snooping可以解决饿死攻击、仿冒服务器攻击、中间人攻击
4.饱死攻击
DDOS攻击,黑客一直向服务器发送请求
#扁平化网络
大企业中一般不用三层网络拓扑,而使用扁平化网络
核心层交换机 --》 汇聚层交换机 --》 接入层交换机 --》 终端
三层交换机不能做NAT(动态网络地址转换)
越大型的企业,设备的功能、层次、类型划分的越细致
ACL (访问控制列表)
#作用
1.允许上网
2.拒绝上网
3.过滤
#分类
1.标准ACL,只能根据源ip过滤,进而控制,通常控制的是一个完整的协议
表号:1-99
2.扩展ACL,通常控制的是源ip、目的ip、端口、协议
表号:100-199
一个表号可以写多个命令
#端口
http 80
telnet 443
DNS 53
勒索病毒,与Samba(文件共享服务有关),Samba监听445端口
Telnet使用的是TCP协议
ping使用的是ICMP协议
#ACL的方向
in
out
#时间
ntp网络时间
G.M.T 天文学定义
UTC 原子钟
实例一
#禁ping
允许本机访问网关的23号端口:
access-list 100 permit tcp host 192.168.2.10 host 192.168.2.254 eq 23
拒绝本机ping网关:
access-list 100 deny icmp host 192.168.2.10 host 192.168.2.254
把表号放到ACL指定位置:
int f0/0
ip access-group 100 in
end
实例二
#8点-下午5点,不能逛淘宝
时间同步
路由器上网
int f1/0
ip add 192.168.1.10 255.255.255.0
ip route 0.0.0.0 0.0.0.0 192.168.1.10
开启路由器域名解析
ip domain lookup
配置DNS
ip name-server 8.8.8.8
时间同步
ntp server time.windows.com
更改时区
clock timezone UTC 8
设置工作时间
time-range worktime
periodic weekdays 9:00 to 21:00
禁止某一时间区间上网
access-list 101 deny ip any any timerange worktime
配置在in
int f0/0
ip access-group 101 in
access-list 101 permit ip any any
NAT (动态网络地址转换)
#动态网络地址转换,是私网和公网之间的转换,作用于路由器和公网之间
源地址转换
目的地址转换
#作用
共享上网
共享ip
共享带宽
安全问题
黑客每天扫描全球所有的公网ip
#ip
想要上网必须要有ip
IANA组织负责分配ip
万物联网,ip地址不够
#ip分类
公网ip,全球唯一
私网地址,只能在局域网使用
#网络工程师
企业,4-6k
ISP运营商,10k
IDC机房,8-12k
#模拟器
CISCO ,好多命令不支持,一般学校使用
GNS3 ,小凡,可以学习到CCNP
EVE ,更专业,不适合入门使用
#NAT实现
#路由器中的端口号有65535个,与用户的访问数有关
1.告诉路由器,哪边是内网,哪边是外网
int f0/0
ip nat outside #定义外网接口
int f1/0
ip nat inside #定义外网接口
2.告诉路由器,哪个地址需要转换
access-list 1 permit any #表示要转换的数据
3.告诉路由器,把这个地址转成谁
ip nat inside source list interface f0/0 overload #通过端口多路复用技术,让所有的电脑都能上网
QSPF (动态路由协议)
#什么叫路由
跨网段转发数据
从某一网段到某一网段的数据发送方式叫做路由
#路由表
电脑、路由器、百度地图都有路由表,路由表就是最优路径的集合
#路由表会出现什么问题?出现问题之后应该如何解决
1.次优路径
上网慢,可能造成游戏卡顿
2.路由环路
TTL,最大生命周期,依赖于tracert功能
造成数据的极大延迟
丢包
#路由协议(优先级、管理距离)
思科 华为
RIP 120 100
OSPF 110 10
EIGRP 90(专有)
ISIS 115 15
IBGP 200 255
EBGP 20 255
静态 1 60
#除了静态路由协议,都是动态路由协议
#动态路由协议
IGB,内部网关协议,用于企业内部或者运营商底层,包括RIP、EIGRP、OSPF、ISIS
EGB,外部网关协议,用于运营商之间、运营商和企业之间,包括BGP协议
企业中的拓扑
1.小型或微型企业
#架构
一台路由器 -- 几台交换机 -- server
#业务环境
不会有服务器发布
客户少
上网需求不高
对业务中断的敏感性不强
2.中型或大型的企业
#架构
不同的公司,有不同的业务,不同的架构,擅长的领域不一样
#业务环境
上网需求量大
路由器、防火墙、交换机等设备需要冗余
RIP协议
RIP,路由信息协议,度量值cost是跳数,数据每经过一个路由器叫做一跳
#适用于网络环境不复杂,路由设备较少,15跳基本可以满足现状
OSPF
开放式最短路径优先,度量值是带宽
cost= 10**8/带宽
#在相同路由协议的情况下,从不同方向传来的相同的路由路径,比较度量值cost,越小越优
#在不同路由协议的情况下,从不同方向传来的相同的路由路径,比较优先级(管理距离),越小越优
#OSPF 为什么使用广泛
1.共有协议,任何厂商,任何设备都能使用
2.可以协作,思科、华为,都支持OSPF
3.区域的概念
#邻居检测机制
使用hellow包,定期检测邻居是否还在存活
指定时间没有收到回复,那么就删除来自该路由的状态信息和邻居关系
当最佳路由邻居状态恢复,邻居关系将会重新建立,最优路径将会重新计算
#OSPF中,路由存在两种关系
邻居
2way,只发送hello包,不发送路由更新
邻接
full,即发送hello包,也发送路由更新
星型拓扑
#角色
DR 大哥
BDR 二哥
DROTHeRS 小弟
#关系
大哥 -- 二哥 -- 关系好 -- 邻接
大哥 -- 小弟 -- 关系好 -- 邻接
小弟 -- 小弟 -- 关系好 -- 邻居
#查看OSPF邻居建立状态
dosplay ospf peer brief