设为首页 加入收藏

TOP

Python学习日记(二十九) 网络编程(一)
2019-09-15 00:33:28 】 浏览:90
Tags:Python 学习 日记 二十九 网络编程

早期的计算机通信需要有一个中间件,A要给B传东西,A必须要把信息传给中间件,B再把从中间件中拿到信息

由于不同机器之间需要通信就产生了网络

软件开发的架构

1.C/S架构

服务器-客户机,即Client-Server架构,C/S架构通常采取两层结构.Sever负责数据的管理,Client负责完成与用户的交互任务

这里来说Client主要是某个应用软件的exe文件,程序要在安装后,才能运行在用户电脑上。

例如:QQ、微信、网易云音乐等

2.B/S架构

浏览器端-服务器,即Browser-Sever,B/S架构是WEB兴起后的一种网络架构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.客户机上只要安装一个Browser,服务器安装Oracle、SQL Sever等数据库.浏览器通过Web Sever同数据库进行数据交互,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

例如:百度、知乎、豆瓣、博客园等

3.B/S架构和C/S架构之间的关系

B/S架构是C/S架构的一种 

 

计算机网络的发展及基础网络概念

早期:联机

想要实现通信就必须要网卡和网线,每个网卡上都有一个全球唯一的MAC地址

MAC地址:英文名为Media Access Control Address,即媒体存取控制位址,也称为局域网地址(LAN Adress),MAC位址,以太网网址(Ethenet Address)或物理地址(Physical Address),它是用来确认网络设备位置的地址。

MAC地址的长度为48位(6个字节),通常表示12个16进制数,如:00-16-EA-AE-3C-40就是一个MAC地址,其中前6位十六进制数00-16-EA代表网络硬件制造商的编号,后6位十六进制数AE-3C-40代表该制造商所制造的某个网络产品的系列号。每个MAC地址都如身份证号一样具有唯一性。

IP地址:Internet Protocol,全称互联网协议地址,常见分为IPv4和IPv6。IP地址是IP协议提供的一种统一的地址格式,它为互联网的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IP地址的表示范围:0.0.0.0-255.255.255.255(四个点分十进制表示)

通常我们使用的都是IPv4的地址,如果使用IPv6的表示方式:0.0.0.0.0.0-255.255.255.255.255.255

以太网:局域网和交换机

交换机的出现解决了多台电脑之间的通信问题,网络拓扑就是将各个机器都通过网线连到交换机

广播:比如服务器4想找到服务器1,那么它就会通过向交换机让它告诉所有的服务器我要找服务器1,然后只有服务器1会回复我收到了信息

ARP协议:Address Resolution Protocol,即地址解析协议,它是根据IP地址去获取物理地址的一个TCP/IP协议。主机发送消息时将包含目标IP地址的ARP请求广播到局域网网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

广域网与路由器

路由器:Router,连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性网络设备。

网关:Gateway,即网间连接器、协议转换器。网关在网络层以上实现网络互联,是最复杂的网络互联设备,仅用两个高层协议不同的网络互联。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。

局域网:Local Area Network,局域网的覆盖范围一般是方圆几千里之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各个办公室内运用广泛。局域网可以实现文件管理、应用软件共享、打印机共享等功能,在使用过程当中,通过维护局域网网络安全,能够有效地保护资料安全,保证局域网网络能够正常稳定的运行。

子网掩码:Subnet mask,即网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在广域网上。

那如何判断两台机器它们是在同一个网段呢?

IP1:192.168.43.2

IP2:192.168.43.1

IP3:192.168.45.20

子网掩码:255.255.255.0

我们需要看子网掩码和IP地址,再将它们按位AND

IP1:   192.168. 43.2 = 11000000.10101000.00101011.00000010

子网掩码:255.255.255.0 = 11111111.11111111.11111111.00000000

按位AND运算结果:     11000000.10101000.00101011.00000000 ->192.168.43.0

 

IP2:   192.168. 43.1 = 11000000.10101000.00101011.00000001

子网掩码:255.255.255.0 = 11111111.11111111.11111111.00000000

按位AND运算结果:     11000000.10101000.00101011.00000001 ->192.168.43.0

 

IP3:   192.168.45.20 = 11000000.10101000.00101101.00010100

子网掩码:255.255.255.0 = 11111111.11111111.11111111.00000000

按位AND运算结果:     11000000.10101000.00101101.00000000 ->192.168.45.0

结果只看前三位十进制数,最后一位数不同没关系,所以IP1和IP2在同一网段,IP3和其他不属于同一个网段

IP协议的主要作用有两个,一个是为每台计算机分配IP地址,另一个是确定哪些地址在同一个自网络。

TCP协议和UDP协议

端口:Port,可以认为是设备与外界通讯交流的出口。端口可以分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器的端口,不可见,例如计算机中的80端口、21端口等。物理端口又称为接口,是可见端口,例如计算机背板的RJ45网口,交换机路由器集线器等RJ45端口,电话使用RJ11端口也属于物理端口的范畴。

通过端口来找到程序

在计算机上每一个需要网络的程序都会开一个端口,在同一时间只会有一个程序占用一个端口,不可能在同一时间有两个程序占用一个端口

端口的范

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Django TypeError: render() got .. 下一篇Python爬虫笔记【一】模拟用户访..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目