计算机网络基础知识
笔者:非原创文章,这篇文章是为了暑期和秋招整理的,很多内容是从参考文档中转载的~
网络介绍
计算机网络是由多台计算机和其他通信设备同通信线路和设备连接起来的系统。计算机网络的主要作用是数据传输和资源共享。
网络分类
计算机网络根据覆盖范围可以分为个域网PAN、局域网LAN、城域网MAN、广域网WAN。
个域网PAN(Personal Area Network)
- 覆盖范围一般在10米的半径内。
- 是能在通信设备之间进行短距离通信的网络。
- 🌰:如蓝牙、AirDrop等。
局域网LAN(Local Area Network)
- 覆盖范围有限,可能仅仅覆盖一个房间的几台电脑,也可能覆盖公司的一整栋建筑。
- 是局部地区形成的区域网络。
- 🌰:如公司内网,无线局域网WLAN,打印机共享等。
城域网MAN(Metropolitan Area Network)
- 覆盖范围一个城市或几个城市之间的区域。
- 是城市地区形成的大型的局域网络。
- 🌰:如宽带城域网。
广域网WAN(Wide Area Network)
- 覆盖范围超大,甚至跨地区和国家。
- 是覆盖范围很广(远超一个城市的范围)的长距离网络。
- 广域网不等于互联网,互联网可以连接不同类型的网络(既可以连接局域网,又可以连接广域网),通常使用路由器来连接。局域网可以通过广域网与另一个相隔很远的局域网通信。
- 🌰:如移动通信网络、卫星网络等。
网络核心功能
网络有两大核心功能:路由和转发。
路由
路由是确定数据分组从源到目标所使用的路径(全局操作)。
当数据包进入网络设备时,设备会首先读取数据包的目的IP地址。然后,根据这个IP地址和路由表(一个存储设备到设备路径的数据库),设备就能决定应该将数据包发送到哪里。这个过程就是路由。
转发
路由器或交换机将接收到的数据分组转发出去(即移动到该设备的某个输出接口)(本地操作)。
一旦确定了数据包发送的目标,网络设备就会将数据包发送到正确的输出接口。这个过程就是转发。它利用了数据链路层的地址(如MAC地址),通过这些地址,设备可以将数据包准确地发送到目标设备。
网络模型
OSI七层网络模型
OSI 模型(Open System Interconnection Model)是一个由国际标准化组织(ISO)提出的概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。它将计算机网络体系结构划分为七层,每层都可以提供抽象良好的接口。
了解 OSI 模型有助于理解实际上互联网络的工业标准------TCP/IP 协议。
层次 | 作用 |
---|---|
应用层 | OSI 的应用层协议包括文件的传输、访问及管理协议(FTAM) ,以及文件虚拟终端协议(VIP)和公用管理系统信息(CMIP)等。 规定数据的传输协议。 |
表示层 | 表示层供多种功能用于应用层数据编码和转化,以确保以一个系统应用层发送的信息 可以被另一个系统应用层识别。 可以理解为:解决不同系统之间的通信,eg:Linux下的QQ和Windows下的QQ可以通信。 |
会话层 | 会话层建立、管理和终止表示层与实体之间的通信会话。 建立一个连接(自动的手机信息、自动的网络寻址)。 |
传输层 | 传输层向高层提供可靠的端到端的网络数据流服务。 可以理解为:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议。 |
网络层 | 网络层负责在源和终点之间建立连接。 可以理解为,此处需要确定计算机的位置,怎么确定?IPv4,IPv6! |
数据链路层 | 数据链路层通过物理网络链路提供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流。 可以简单的理解为:规定了0和1的分包形式,确定了网络数据包的形式。 |
物理层 | 物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输。 eg:RJ45等将数据转化成0和1; |
TCP/IP四层网络模型
TCP/IP 协议是实际上互联网络的工业标准。互联网协议套件(Internet Protocol Suite,IPS)是多个网络传输协议的集合,它为网际网络的基础通信提供架构支撑。由于该协议族中最核心的两个协议分别为 TCP(传输控制协议)和 IP(网际协议),因此它也被称为 TCP/IP 协议族(TCP/IP Protocol Suite 或 TCP/IP Protocols),简称 TCP/IP,它具有四层网络结构 。
层次 | 作用 |
---|---|
应用层 | 应用层对应于 OSI 七层参考模型的应用层和表达层会话层。 |
传输层 | 传输层对应于 OSI 七层参考模型的传输层,它提供两种端到端的通信服务。其中 TCP 协议提供可靠的数据流运输服务,UDP 协议提供不可靠的用户数据报服务。 |
网络层 | 网络层对应于 OSI 七层参考模型的网络层,本层包含 IP 协议、RIP 协议,负责数据的包装、寻址和路由。同时还包含网间控制报文协议用来提供网络诊断信息。 可以理解为:该层能确定计算机的位置 |
网络接口层 | 网络接口层包括用于协作IP数据在已有网络介质上传输的协议。它定义像地址解析协议这样的协议,提供 TCP/IP 协议的数据结构和实际物理硬件之间的接口。 可以理解为:确定网络数据包的形式 |
五层网络模型
OSI 七层网络模型由国际标准化组织进行制定,它是正统意义上的国际标准。但其实现过于复杂,且制定周期过长,在其整套标准推出之前,TCP/IP 模型已经在全球范围内被广泛使用,所以 TCP/IP 模型才是事实上的国际标准。TCP/IP 模型定义了应用层、传输层、网际层、网络接口层这四层网络结构,但并没有给出网络接口层的具体内容,因此在学习和开发中,通常将网络接口层替换为 OSI 七层模型中的数据链路层和物理层来进行理解。
层次 | 作用 |
---|---|
应用层 | 是应用程序发起网络通讯的地方,包括使用传输层协议的应用程序, 如Email客户端、浏览器等。 |
传输层 | 传输层向高层提供可靠的端到端的网络数据流服务。 |
网络层 | 网络层负责在源和终点之间建立连接,负责将数据从源主机传输到目标主机, 实现跨网络的数据传输。它使用IP地址来标识设备,通过路由选择最佳路径进行数据传输,包括IP地址分配和路由功能。 |
数据链路层 | 数据链路层通过物理网络链路提供数据传输。不同的数据链路层定义了不同的网络和协 议特征,其中包括物理编址、网络拓扑结构、错误校验、数据帧序列以及流。 |
物理层 | 物理层负责最后将信息编码成电流脉冲或其它信号用于网上传输。 |
网络协议
应用层
DNS 协议
DNS 协议是 域名系统协议
,英文全称是 Domain Name System
,它也是应用层的协议之一,DNS 协议是一个将域名和 IP 相互映射的分布式数据库系统。DNS 缓存能够加快网络资源的访问。
HTTP 协议
HTTPS 协议
转载:# 15-📝计算机网络核心知识|HTTPS协议【HTTPS概念、HTTPS同信过程、SSL、TLS、OpenSSL、解密HTTPS、配置服务器HTTPS】
HTTPS 协议是超文本传输安全协议
, 英文全称是HyperText Transfer Protocol Secure
。常称为HTTP over TLS、HTTP over SSL、HTTP Secure。HTTPS的默认端口号是443(HTTP是80)。如果不加协议头,浏览器默认域名使用HTTPS。
HTTPS的成本:证书的费用、加解密的计算等、降低了访问速度。有些企业的做法是:包含敏感数据的请求才使用HTTPS,其他仍然使用HTTP。
WebSocket 协议
WebSocket 协议是基于TCP的支持全双工通信的应用层协议(全双工:客户端和服务器均可主动发消息给对方)。
FTP 协议
FTP 协议是 文件传输协议
,英文全称是 File Transfer Protocol
,应用层协议之一,是 TCP/IP 协议的重要组成之一,FTP 协议分为服务器和客户端两部分,FTP 服务器用来存储文件,FTP 客户端用来访问 FTP 服务器上的文件,FTP 的传输效率比较高,所以一般使用 FTP 来传输大文件。
FTP的URL格式为:ftp://[user[:password]@]host:[:port]/url-path
SMTP 协议
SMTP 协议是 简单邮件传输协议
,英文全称是 Simple Mail Transfer Protocol
,应用层协议之一,SMTP 主要是用作邮件收发协议,SMTP 服务器是遵循 SMTP 协议的发送邮件服务器,用来发送或中转用户发出的电子邮件。
收发邮件过程
POP 协议
POP 协议是 邮局协议
,英文全称是Post Office Protocol
,是应用层协议,协议主要用于支持使用客户端远程管理在服务器上的电子邮件。它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循 POP3协议的接收邮件服务器,用来接收电子邮件的。
POP 和 POP3
POP协议支持"离线"邮件存储转发处理:客户端程序连接服务器,下载所有未阅读的电子邮件;一旦将邮件从邮件服务器端送到客户端上,邮件服务器上的邮件将会被删除。
目前的POP3邮件服务器大都可以"只下载邮件,服务器端并不删除",也就是改进的POP协议。
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
IMAP 协议
IMAP 协议是交互式邮件访问协议
, 英文全称是Internet Mail Access Protocol
,是一个应用层协议(端口是143)。
用来从本地邮件客户端(Outlook Express、Foxmail、Mozilla Thunderbird等)访问远程服务器上的邮件。
TELNET
Telnet 协议是 TCP/IP 协议族中的一员,用于提供 Internet 远程登录服务。通过使用 Telnet 程序,用户可以在自己的电脑上连接到远程服务器,并在服务器上执行命令,就像直接在服务器的控制台上操作一样。Telnet协议允许用户通过网络访问远程系统的虚拟终端,并提供了标准接口,使得客户机程序无需了解远程系统的详细信息即可进行通信
传输层
TCP协议
TCP 就是 传输控制协议
,也就是 Transmission Control Protocol
,它是一种面向连接的、可靠的、基于字节流的传输协议,TCP 协议位于传输层,TCP 协议是 TCP/IP 协议簇中的核心协议,它最大的特点就是提供可靠的数据交付。
TCP 的主要特点有 慢启动、拥塞控制、快速重传、可恢复。
UDP协议
UDP 协议就是 用户数据报协议
,也就是 User Datagram Protocol
,UDP 也是一种传输层的协议,与 TCP 相比,UDP 提供一种不可靠的数据交付,也就是说,UDP 协议不保证数据是否到达目标节点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 是一种无连接的协议,传输数据之前源端和终端无需建立连接,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序等现象。但是 UDP 具有较好的实时性,工作效率较 TCP 协议高。
网络层
IP协议
IP 是 互联网协议(Internet Protocol)
,位于网络层。IP是整个 TCP/IP 协议族的核心,也是构成互联网的基础。IP 能够为运输层提供数据分发,同时也能够组装数据供运输层使用。它将多个单个网络连接成为一个互联网,这样能够提高网络的可扩展性,实现大规模的网络互联。二是分割顶层网络和底层网络之间的耦合关系。
ICMP协议
ICMP 协议是 Internet Control Message Protocol
, ICMP 协议主要用于在 IP 主机、路由器之间传递控制消息。ICMP 属于网络层的协议,当遇到 IP 无法访问目标、IP 路由器无法按照当前传输速率转发数据包时,会自动发送 ICMP 消息,从这个角度来说,ICMP 协议可以看作是 错误侦测与回报机制
,让我们检查网络状况、也能够确保连线的准确性。
数据链路层
ARP协议
ARP 协议是 地址解析协议
,即 Address Resolution Protocol
,它能够根据 IP 地址获取物理地址。主机发送信息时会将包含目标 IP 的 ARP 请求广播到局域网络上的所有主机,并接受返回消息,以此来确定物理地址。收到消息后的物理地址和 IP 地址会在 ARP 中缓存一段时间,下次查询的时候直接从 ARP 中查询即可。
RARP协议
RARP 协议是 Reverse Address Resolution Protocol
,逆地址解析协议。它使用与ARP相同的报头结构,但作用与ARP相反,用于将MAC地址转换为IP地址,后来被BOOTP、DHCP所取代。
PPP协议
PPP 协议是 Point to Point Protocol
,即点对点协议,是一种链路层协议,是在为同等单元之间传输数据包而设计的。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
SLIP 协议
SLIP 协议是指串行线路网际协议(Serial Line Internet Protocol)
,是在串行通信线路上支持 TCP/IP 协议的一种点对点(Point-to-Point
)式的链路层通信协议。
高频问题
过程描述题
浏览器输入URL到渲染页面的过程
-
输入URL地址,浏览器经过DNS解析查找到域名的 IP 地址。
-
浏览器向 该 IP 地址的web 服务器发送一个 HTTP 请求,在发送请求之前浏览器和服务器建立TCP的三次握手,判断是否是HTTP缓存,如果是强制缓存且在有效期内,不再向服务器发请求,如果是HTTP协商缓存向后端发送请求且和后端服务器对比,在有效期内,服务器返回304,直接从浏览器获取数据,如果不在有效期内服务器返回200,返回新数据。如果请求发送出去服务器返回重定向,浏览器再按照重定向的地址重新发送请求。 如果请求的参数有问题,服务器端返回404,如果服务器端挂了返回500。
-
如果有数据一切正常,当浏览器拿到服务器的数据之后,开始渲染页面同时获取HTML页面中图片、音频、视频、CSS、JS,在这期间获取到JS文件之后,会直接执行JS代码,阻塞浏览器渲染,因为渲染引擎和JS引擎互斥,不能同时工作,所以通常把Script标签放在body标签的底部。 渲染过程就是先将HTML转换成dom树,再将CSS样式转换成stylesheet,根据dom树和stylesheet创建布局树,对布局树进行分层,为每个图层生成绘制列表,再将图层分成图块,紧接着光栅化将图块转换成位图,最后合成绘制生成页面。
Ping 一个IP地址的过程和运用到的网络协议
一、Ping用到的协议
ICMP是 Internet Control Message Ptotocol
的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。在网络中经常会使用到ICMP协议。例如经常用于检查网络不通的ping命令,这个ping的过程实际上就是ICMP协议工作的过程。还有跟踪路由的trancert命令也是基于ICMP协议的。
二、ping.exe的原理
向指定的IP地址发送一定长度的数据包,按照约定,若指定IP地址存在的话,会返回同样大小的数据包,当然,若在特定时间内没有返回,就是"超时",会被认为指定的IP地址不存在。由于ping使用的是ICMP协议,有些防火墙软件会屏蔽ICMP协议,所以有时候ping的结果只能作为参考,ping不通并不一定说明对方IP不存在。
三、ping命令执行过程详解
机器A ping 机器B
同一网段
- ping通知系统建立一个固定格式的ICMP请求数据包
- ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似)
- IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个IP数据包
- 获取机器B的MAC地址
IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络查找这台机器的MAC。
若两台机器之前有过通信,在机器A的ARP缓存表应该有B机IP与其MAC的映射关系;若没有,则发送ARP请求广播,得到机器B的MAC地址,一并交给数据链路层
数据链路层构建一个数据帧,目的地址是IP层传过来的MAC地址,源地址是本机的MAC地址,再附加一些控制信息,依据以太网的介质访问规则,将他们传送出去
机器B收到这个数据帧后,先检查目的地址,和本机MAC地址对比:符合,则接收。接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP协议层协议。IP层检查后,将有用的信息提取交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B类似(这时候主机B已经知道了主机A的MAC地址,不需再发ARP请求);不符合,则丢弃。
不同网段
- ping通知系统建立一个固定格式的ICMP请求数据包
- ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运行的进程,与ICMP类似)
- IP层协议将以机器B的IP地址为目的地址,本机IP地址为源地址,加上一些其他的控制信息,构建一个IP数据包
- 获取主机B的MAC地址
IP协议通过计算发现主机B与自己不在同一网段内,就直接交给路由处理,就是将路由的MAC取过来,至于怎么得到路由的MAC地址,和之前一样,先在ARP缓存表中寻找,找不到可以利用广播。路由得到这个数据帧之后,再跟主机B联系,若找不到,就向主机A返回一个超时信息。
四、ping的结果:
- Request timed out:对方与自己不在同一网段内,通过路由也无法到达;对方已关机,或者网络上没有这个地址;对方存在,不过设置了ICMP数据包过滤;错误设置IP地址
- Destination host Unreachable:自己未设定默认路由,对方跟自己不在同已网段。
- Bad ip address:没有连接到DNS服务器,无法解析IP,也可能是IP不存在
- Source quench received:对方或中途服务器繁忙而无法应答
- Ping 127.0.0.1:如果ping不通,则表明本地址TCP/IP协议不能正常工作
路由寻址过程
路由器是一种三层设备,是使用IP寻址,实现从源IP到达目标IP地址的端到端的服务,其工作原理如下:
- 第一步:路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址;The router receives the data packet, extracts the target IP address and subnet mask, and calculates the target network address;
- 第二步:根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发送到下一个路由器;The routing table is searched according to the destination network address. If the destination network address is found, it is sent to the next router according to the corresponding exit;
- 第三步:如果没有找到,就看一下有没有默认路由,如果有就按照默认路由的出口发送给下一个路由器;If not, check whether there is a default route. If there is, send it to the next router according to the exit of the default route;
- 第四步:如果没有找到就给源IP发送一个出错ICMP数据包表明没法传递该数据包;If not, send an error ICMP packet to the source IP, indicating that the packet cannot be delivered;
- 第五步:如果是直连路由就按照第二层MAC地址发送给目标站点。If it is a direct connection route, it will be sent to the target site according to the MAC address of the second layer.
DNS解析IP地址
迭代查询
客户端发送DNS请求给根域服务器,根域服务器根据对应顶级域回复给客户端,客户端根据对应的顶级域发送给顶级服务器,然后解析出二级域发送给客户端,客户端根据对应的二级域发送给二级域服务器,二级域解析出对应的子域,客户端根据子域发送给对应的子域服务器,子域解析出对应的主机IP地址。
递归查询
客户端发送DNS请求到根域,根域收到后把解析请求发送给顶级域,顶级域收到后解析然后把请求发送给二级域,二级域解析后出域名,子域收到后根据域名解析出IP地址,后返回发送给二级域,二级域收到后把IP地址发送给顶级域,顶级域收到后发送给根域,最后根域把解析出来的IP地址发送给客户端。
TCP/UDP
TCP如何实现可靠传输?
TCP三次握手,四次挥手是什么?少一次行不行?
UDP如何实现可靠传输?
TCP与UDP的区别?
什么是粘包问题,如何解决?
HTTP/HTTPS
HTTP协议版本之间的区别
cloud.tencent.com/developer/a...
什么是无状态,如何弥补http无状态的缺陷
http协议有一个特性就是无状态,何为无状态。就是上一次的请求对这次的请求没有任何影响,服务端也不会对客户端上一次的请求进行任何记录处理。
http协议的无状态性带来的问题:用户登录后,切换到其他界面,进行操作,服务器端是无法判断是哪个用户登录的。 每次进行页面跳转的时候,得重新登录。
解决方案:token, session等
HTTPS通信过程
- TCP的3次握手
- TLS的连接
- HTTP请求和响应
HTTPS加密方式
HTTP和HTTPS的区别
网络请求
请求状态码
请求响应设置与浏览器缓存方式
- 协商缓存是依靠缓存标识来判断资源是否有效。协商缓存要设置cache-control: no cache
- 缓存标识包括 Last-Modified(If-Modified-Since)和 Etag(If-None-Match)。
- 响应头携带的是 Last-Modified 和 Etag。
- 请求头携带的是 If-Modified-Since 和 If-None-Match。
- Etag 是 Last-Modified 的补充和完善,并不能完全替代 Last-Modified。
- Etag 的优先级高于 Last-Modified。
- Last-Modified 的性能要高于 Etag,但是精确性却逊色于 Etag。
- 304 200
URI和URL是什么
URI 可以进一步划分为定位符(URL),名称(URN)或两者兼备。URL 和 URN 都是 URI 子集。URN 如同一个人的名称,而 URL 代表一个人的住址。换言之,URN 定义某事物的身份,而 URL 提供查找该事物的方法。
GET请求和POST请求区别
- post请求更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中,get请求的是静态资源,则会缓存,如果是数据,则不会缓存)
- post请求发送的数据更大(get请求有url长度限制,http协议本身不限制,请求长度限制是由浏览器和web服务器决定和设置)
- post请求能发送更多的数据类型(get请求只能发送ASCII字符)
- 传参方式不同(get请求参数通过url传递,post请求放在request body中传递)
- get请求的是静态资源,则会缓存,如果是数据,则不会缓存
- get请求产生一个TCP数据包;post请求产生两个TCP数据包(get请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据;post请求,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 返回数据)
RESTful API
RESTFul是面向资源的API设计风格
- GET:获取资源
- POST:新建资源
- PUT:更新资源
- DELETE:删除资源
简单请求和复杂请求
简单请求和复杂请求
请求满足以下条件为简单请求,否则为复杂请求
- 请求方式是 get/post/head;
- 请求头包含字段可以有:Accept,Accept-Language,content-Language,Last-Event-ID,Content-Type ,其中Content-Type的值只能是 application/x-www-form-urlencoded,text/plain,multipart/form-data。
简单请求和复杂请求的区别
复杂请求会多发一次请求,例:我们向 3000 服务器发送 "/getdata"的get 请求,浏览器会额外发送一个"/getdata"的options请求,这个请求我们称为预请求,服务器也会做出"预响应",预请求实际上是一种权限请求,只有预请求成功后,实际的请求才会执行,预请求也存在跨域问题哦。
预检验请求
对于 跨域 的复杂请求会进行预检请求,预检请求是不会携带请求体和自定义的请求头的, 因此对于处理复杂请求的在自定义中间件,遇到预检请求,我们需要直接放行,否则会出现非预期的结果。如果不跨域,是没有预检请求的。
CDN
CDN的全称是Content Delivery Network
,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
CDN网络资源加速原理
(我的理解是加了一层缓存,并把离用户最近的CDN节点返回) 当用户访问已经加入CDN服务的网站时,首先通过DNS重定向技术确定最接近用户的最佳CDN节点,同时将用户的请求指向该节点。当用户的请求到达指定节点时,CDN的服务器(节点上的高速缓存)负责将用户请求的内容提供给用户。具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。
Ethernets
以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是应用最普遍的局域网技术,取代了其他局域网技术如令牌环、FDDI和ARCNET。
QoS
QoS 是服务质量保证的意思,英文全称是Quality of Service
。
QoS技术包括流分类、流量监管、流量整形、接口限速、拥塞管理、拥塞避免等。
- 流分类:采用一定的规则识别符合某类特征的报文,它是对网络业务进行区分服务的前提和基础。
- 流量监管:对进入或流出设备的特定流量进行监管。当流量超出设定值时,可以采取限制或惩罚措施,以保护网络资源不受损害。可以作用在接口入方向和出方向。
- 流量整形:一种主动调整流的输出速率的流量控制措施,用来使流量适配下游设备可供给的网络资源,避免不必要的报文丢弃,通常作用在接口出方向。
- 拥塞管理:就是当拥塞发生时如何制定一个资源的调度策略,以决定报文转发的处理次序,通常作用在接口出方向。
- 拥塞避免:监督网络资源的使用情况,当发现拥塞有加剧的趋势时采取主动丢弃报文的策略,通过调整队列长度来解除网络的过载,通常作用在接口出方向。
单播、广播、多播和任播
在网络通信中,可以根据目标地址的数量对通信进行分类,可以分为 单播、广播、多播和任播
单播(Unicast)
单播最大的特点就是 1 对 1
广播(Broadcast)
广播主机和与他连接的所有端系统相连,主机将信号发送给所有的端系统。
多播(Multicast)
多播与广播很类似,也是将消息发送给多个接收主机,不同之处在于多播需要限定在某一组主机作为接收端。
任播(Anycast)
任播是在特定的多台主机中选出一个接收端的通信方式。虽然和多播很相似,但是行为与多播不同,任播是从许多目标机群中选出一台最符合网络条件的主机作为目标主机发送消息。然后被选中的特定主机将返回一个单播信号,然后再与目标主机进行通信。