0x05-Internet接入技术
Internet接入技术
学习目标:
Internet接入控制机制
什么样的终端可以接入到互联网,网络怎么控制终端接入?这需要一套机制。
由此可以看出,接入控制设备要在完成路由器功能的基础上,还要完成对用户的身份鉴别,动态分配终端的网络信息等功能。
PAP是用明文的方式发送用户名和口令,不安全。
身份鉴别过程就讲完了。
下面来看一下动态分配IP过程:用IP控制协议
点对点协议:
emmmmm 因为PPP协议是祖传的。
例子:
一个终端要接入Internet当中,首先它要去ISP部门进行注册,获得用户名和密码。接入控制设备在注册用户信息库中增加一项终端注册的用户名和密码。然后终端通过相应地连接程序来连接到接入控制设备中。
然后终端和接入控制设备之间就建立了点对点语音信道。
然后接入控制设备从自己的IP池中找一个IP分配给终端,然后在自己的路由表中添加一项路由项。
小结
通过以太网接入Internet过程
以太网作为接入网需要解决哪些问题?
PPPoE的执行过程
为什么要建立PPP会话呢?
如果是一个终端接入到接入控制设备当中,有源终端的MAC地址和目的终端的MAC地址就能唯一标识了。但是在实际应用过程中,还存在这样一种结构:
就是有若干台终端,通过一个集中接入设备连接到以太网当中,终端和集中设备中间是通过点对点线路来连接的。集中接入设备跟以太网的连接是以太网的端口。这个端口可以给他分配一个MAC地址MACM。集中接入设备有若干个连接点对点线路的端口,每个端口连接到不同的终端中。
对于这种结构来说,终端A或者终端B与接入控制设备之间的传输路径就分为两段,一段就是从终端到集中接入设备的这一段,这是点对点的线路;另一端就是集中接入设备到接入控制设备之间的这一段。
那么终端A、终端B跟接入控制设备之间就共享了集中接入设备和接入控制设备之间的这段路径。
那么怎么来区分终端A和终端B这两个终端与接入控制设备之间的传输路径呢?
我们可以这么做:在集中接入设备和接入控制设备之间创建多条虚电路。
简而言之,建立PPP会话的目的就是为了复用集中接入设备到接入控制设备之间的物理链路。实现方式就是虚电路。
最后来看实例:
第一步,还是去ISP部门注册,获得相应的用户名和口令。
然后接入控制设备也在注册用户信息库中更新了申请的用户名和密码。
然后终端A接入到这个网络当中。
然后终端A通过接入软件连接。
然后建立PPP的会话
然后接入控制设备给终端A分配一个IP地址,然后在自己的路由表中添加此路由项。
小结
通过ADSL接入Internet过程
ADSL是通过电话线接入到Internet的一种技术,也称为宽带接入技术。
学习内容:
最早的时候是通过拨号来连接到接入控制设备当中。
这种方式存在缺陷:
为了改进:
那么它是怎么做到的呢?我们来看一下它的网络结构:
比如说是有若干个家庭,每个家庭可以通过以太网或者是通过双绞线直接连接到ADSL Modem上面。
总的网络结构:(实现了网络与语音分离)
那么它具体怎么实现语音与网络分离的呢?主要有以下几个方面:
把带宽分成3部分相当于建立了3个信道。
对于终端A和服务器来说,中间的过程看到的是以太网。
小结
家庭局域网接入方式与无线路由器
学习内容:
核心都是无线路由器,所以我们学习一下无线路由器的功能和使用方法:
无线路由器从组成上讲相当于有3个设备:
多端口交换机、AP、路由器
PPPoE模式:
1、无线路由器需要配置ISP提供的用户名和口令
2、接入控制设备需对无线路由器进行身份鉴别
3、鉴别完成之后,从IP池中挑一个给无线路由器,然后在路由表中创建一个路由项。
全球IP地址是一个稀有资源,对一个家庭来说,一般不会分配全球的网络地址。
ISP只会对无线路由器的WAN端口分配一个全球的IP地址。家庭局域网中的终端也需要IP地址,那么这个IP地址怎么来呢?给他分配一个私有的IP地址。
在Internet数据传输过程当中,私有的IP地址是不能进入到互联网当中去的。路由器来进行私有地址向全球IP地址的转换,也就是网络地址转换。
终端的IP信息的网络号应该与路由器的LAN端口的网络号相同。
无线路由器的LAN端口的IP地址作为她的默认网关地址。
NAT过程:
路由器收到IP分组以后,对IP地址进行转换,因为源终端的IP地址是一个私有地址。
转换之后,源IP地址就变成了无线路由器的WAN端口的IP地址。
WEB服务器接收到这样一个IP分组以后,给终端回送的目的终端的IP地址也是路由器的WAN端口的IP地址
路由器收到之后还要传输给终端A,又转换成了目的地址是终端A。
小结:
例题分析
Passerby_Wang: 写得也太详细了吧,学到了好多 也欢迎博主来我这里指点一二呀
浅度断墨: 还有一点很重要,Python递归调用默认有限制,900多层会报re,需要sys手动修改限制
m0_69382521: 博主的技术面很广哦,小菜鸟求带,可以加你微信随时和您交流吗
超人圣白莲: 感谢 帮忙了!
北风之神c: 写得赞,博主用心了,但主要还是celery太难用了。 celery对目录层级文件名称格式要求太高,只适合规划新的项目,对不规则文件夹套用难度高。 所以新手使用celery很仔细的建立文件夹名字、文件夹层级、python文件名字。 所以网上的celery博客教程虽然很多,但是并不能学会使用,因为要运行起来需要以下6个方面都掌握好,博客文字很难表达清楚或者没有写全面以下6个方面。 celery消费任务不执行或者报错NotRegistered,与很多方面有关系,如果要别人排错,至少要发以下6方面的截图,因为与一下6点关系很大。 1)整个项目目录结构, 2)@task入参 ,3)celery的配置,4)celery的配置 include ,5)cmd命令行启动参数 --queues= 的值,6)用户在启动cmd命令行时候,用户所在的文件夹。 在不规范的文件夹路径下,使用celery难度很高,一般教程都没教。 [项目文件夹目录格式不规范下的celery使用演示](https://github.com/ydf0509/celery_demo) 。 此国产分布式函数调度框架 funboost python万能通用函数加速器 https://funboost.readthedocs.io/ , 从用法调用难度,用户所需代码量,超高并发性能,qps控频精确程度,支持的中间件类型,任务控制方式,稳定程度等19个方面全方位超过celery。发布性能提高1000%,消费性能提高2000%