因特网边缘
端系统通过通信链路(communication link)和分组交换机(packet switch)连接到一起。信息在通信链路中以分组的形式传输;当今因特网中最重要的两类分组交换机是路由器(router)和链路层交换机(link-layer switch)。
端系统通过因特网服务提供商(Internet Service Provider,ISP)接入因特网。ISP彼此互联,独立管理。
端系统、分组交换机和其他因特网部件都要运行一些列协议(protocol),协议控制着因特网中信息的发送和接收。因特网的主要协议统称为TCP/IP,其中TCP(Transmission Control Protocol,传输控制协议),IP(Internet Protocol,网际协议)。
另一个视角:
与因特网相连的端系统提供了一个套接字接口(socket interface),该接口规定了运行在一个端系统上的程序请求因特网基础设施向另一个端系统上的特定目的地程序交付数据的方式。因特网套接字接口是一套发送程序必须遵循的规则集合。
Internet 中涉及两个或多个通信远程实体的所有活动都受协议控制。 例如,两台物理连接的计算机中的硬件实现协议控制两个网络接口卡之间“线路”上的位流; 终端系统中的拥塞控制协议控制发送方和接收方之间的数据包传输速率; 路由器中的协议确定数据包从源到目的地的路径。
协议定义了在两个或多个通信实体之间交换报文的格式和顺序,以及报文发送和\或接收报文或其他事件所采取的动作。
接入网
网络边缘是各类应用程序和端系统,而将网络边缘设备物理连接到其边缘路由器(edge router)的网络称为接入网。边缘路由器是任何端系统到任何其他远程端系统的路径上的第一台路由器。
接入网又分为:
-
- 家庭接入网:DSL(Digital Subscriber Line,数字用户线)、电缆(cable Internet access)、FTTH(Fiber To The Home,光纤到户)、拨号和卫星
- 企业(和家庭)接入:以太网和WIFI
- 广域无线接入:3G和LTE(Long-Term Eolution,长期演进)
物理媒介:分为两种类型,引导型媒体(guided media)和非引导型媒体(unguided media)。
双绞铜线、同轴电缆、光纤、陆地无线电信道、卫星无线电信道
网络核心
网络核心是由互联因特网端系统的分组交换机和链路构成的网状网络。
通过网络链路和交换机移动数据有两种基本方法:分组交换和电路交换。
1.分组交换(packet switching)
端系统彼此交换报文(message),为了从源端系统向目的端系统发送一个报文,源端系统将长报文划分为较小的数据块,称为分组(packet),在源和目的之间,每个分组都通过通信链路和分组交换机传送。交换机主要有两种类型:路由器和链路层交换机。
存储转发传输(Store-and-Forward Transmission),多数分组交换机在链路的输入端采用存储转发传输机制。是指在交换机能够向链路的输出端转发该分组的第一个比特之前,必须接收到整个分组。
排队时延和分组丢失(Queuing Delays and Packet Loss),每台交换机有多条链路与之相连,对于每条相连的链路,该分组交换机具有一个输出缓存(output buffer,也叫输出队列,output queue),用于存储路由器准备发往那条链路的分组。如果输出缓存已满,将出现分组丢失(packet loss,丢包)。
转发表和路由选择协议(Forwarding Tables and Routing Protocols),路由器如何决定将分组转发到哪一条链路?每台路由器具有一个转发表,用于将目的地址(或目的地址一部分)映射成为输出链路。因特网具有一些特殊的路由选择协议,用于自动设置转发表。
2.电路交换(circuit switching)
在电路交换网络中,为终端系统之间的通信提供沿路径所需的资源(缓冲区、链路传输速率)在终端系统之间的通信会话期间保留。 在分组交换网络中,这些资源是不保留的; 会话的消息按需使用资源,因此可能必须等待(即排队)才能访问通信链路。
电路交换网中的复用,通过频分复用(frequency-division multiplexing)和时分复用( time-division multiplexing)实现。
频分可理解为并行,每条链路使用不同的频谱同时传输;时分理解为并发,将时域分割为帧,每帧具有特定的时隙(time slot),不同的链路传输使用不同的时隙。
分组交换和电路交换比较:
分组交换的性能可以优于电路交换。电路交换预先分配传输链路的使用,而不考虑需求,分配但不需要的链路时间未使用。另一方面,分组交换按需分配链路使用。链路传输容量将仅在具有需要通过链路传输的数据包的用户之间以逐个数据包的方式共享。尽管分组交换和电路交换在当今的电信网络中都很普遍,但趋势肯定是朝着分组交换的方向发展。甚至今天的许多电路交换电话网络也在缓慢地向分组交换迁移。特别是,电话网络经常使用分组交换来处理电话呼叫中昂贵的海外部分。
网络的网络
IXP(Internet Exchange Point,因特网交换点)是一个汇合点,多个ISP能够在这里一起对等(peer),即位于相同等级结构层次的邻近一对ISP直接将它们的网络连接到一起。
这个生态系统为网络结构4,由接入ISP、区域ISP、第一层ISP、PoP、多宿(multi-home)、对等和IXP组成。
在网络结构4的顶部增加内容提供商网络(content provider network)便构建成网络结构5,描述了现今的因特网。
分组交换网中的时延、丢包和吞吐量(每秒能传送的数据量)
时延:节点处理时延(nodal processing delay)、排队时延(queuing delay)、传输时延(transmission delay)和传播时延(propagation delay),这些时延累加起来是节点总时延(total nodal delay)。
需注意传输时延和传播时延的区别:传输时延是路由器推出分组所需的时间,是分组长度和链路传输速率的函数,与两台路由器之间的距离无关;传播时延是一个比特从一台路由器传播到另一台路由器所需的时间,是两台路由器之间的距离函数,与分组长度和链路传输速率无关。
排队时延是节点时延最复杂有趣的成分。举例:R是链路传输速率(从队列中推出比特的速率,bps,比特每秒),a表示分组到达队列的平均速率(分组/秒),分组由L比特组成,则比特到达队列的平均速率是:La bps,比率:La/R称为(traffic intensity)。
La/R > 1则会出现丢包。
吞吐量受限于连接链路中的瓶颈链路(bottleneck link),即传输路径中吞吐量最小的链路。
协议层次和服务模型
协议分层,一个协议层可以用软件、硬件或两者结合来实现。应用层和传输层协议一般是软件实现,网络层协议是软件和硬件实现的混合体。所有这些综合起来各层所有协议称为协议栈(protocol stack)。因特网的协议栈由5层组成:物理层、链路层、网络层、传输层、应用层。
- 应用层:应用层协议分布在多个终端系统上,一个终端系统中的应用程序使用该协议与另一个终端系统中的应用程序交换信息包。 在应用层将此信息分组称为报文(message)。
- 传输层:因特网中的传输层协议是TCP和UDP,TCP提供面向连接的服务,提供流量控制和拥塞控制,传输层的分组称为报文段(segment)。
- 网络层:网络层负责将称为数据报(datagram)的网络层分组从一台主机移动到另一台主机,通过源和目的地之间的一系列路由器路由数据报。网络层的著名协议是IP协议,除此以外还有多种路由选择协议。
- 链路层:为了将分组从一个节点移动到路径上的下一个节点,网络层依靠链路层服务。链路层有多种协议,以太网、WiFi和电缆接入网DOCSIS协议等。一个数据报可能被不同的链路层协议处理。链路层分组称为帧(frame)。
- 物理层:物理层的任务将一个个比特从一个节点移动到下一个节点。协议与具体的链路传输媒体相关。以太网具有许多物理层协议。
OSI模型:开放系统互连模型,应用层、表示层、会话层、传输层、网络层、链路层、物理层。
封装:
网络攻击:
-
病毒(virus)是一种需要某种形式的用户交互来感染用户设备的恶意软件;
-
蠕虫(worm)是一种无需任何明显用户交互就能进入设备的恶意软件。
-
拒绝服务攻击(Denial-of-Service(DoS)attack),大多数互联网DoS攻击属于三类:弱点攻击、带宽泛滥、连接泛滥。
- 弱点攻击(Vulnerability attack):向易受攻击的主机或操作系统发送制作精细的报文。
- 带宽泛滥(Bandwidth flooding):攻击者向目标发送大量分组,合法分组无法到达服务器。
- 连接泛滥(Connection flooding):攻击者在目标主机创建大量半开或全开TCP连接,主机陷入困境。
-
分布式DoS(Distributed DoS,DDoS),攻击者控制多个分布的源采取攻击。
-
分组嗅探和IP哄骗。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓