计算机网络的介绍
计算机的发展经历了以下几个阶段:
| 阶段 | 时间 | 物理器件 |
| 第一阶段 | 1946年到20世纪50年代后期 | 电子管 |
| 第二阶段 | 20世纪50年代后期到20世纪60年代中期 | 晶体管 |
| 第三阶段 | 20世纪60年代中期到20世纪70年代初期 | 中小规模集成电路 |
| 第四阶段 | 20世纪70年代初期至今 | 大规模集成电路 |
1.通信协议
计算机为了联网,就必须规定通信协议,早期的计算机都是由各厂商自己规定的一套协议,互不兼容。
为了把全世界的各种类型的计算机连接起来,就必须规定一套全球通用的协议,为了实现这个目标,互联网协议簇就是通用协议 标准出现了。
网络协议
| 网络体系结构 | 协议 | 主要用途 |
| TCP/IP | IP,ICMP,TCP,UDP,HTTP,TELNET | 互联网、局域网 |
| IPX/SPX | IPX,SPX,NPC... | 个人电脑局域网 |
| AppleTalk | DDP,RTMP,AEP,ZIP0..... | 苹果公司现有产品的局域网 |
| DEcent | DPR,NSP,SCP.... | 前DEC小型机 |
| OSI | FTAM,MOTIS,VT,CMIS/CMIP | |
| XNS | IDP,SPP,PEP | 施乐公司网络 |
2.TCP协议
互联网包含了上百种协议,其中最重要的两个协议是TCP和IP协议,所以互联网协议简称为TCP/IP协议。
TCP协议是一种可靠的、面向连接的、基于全双工通信和字节流的传输层协议通信。使用TCP的应用有Web浏览器、电子邮件和文件传输程序等。
为了提供可靠的通信服务,TCP通过三次分节建立连接、四次分节关闭连接。
4.子网掩码
①子网掩码的介绍
②子网掩码的表示方法
(1)点分十进制表示法
二进制转换成十进制,每8位用点号分隔开。
(2)CIDR斜线记法
③子网掩码的分类
(1)缺省子网掩码:也叫做默认的子网掩码,即未划分子网,对应的网络号的位置都为1,主机号都为0
A类缺省子网掩码:255.0.0.0 CIDR表示为/8
B类缺省子网掩码:255.255.0.0 CIDR表示为/16
C类缺省子网掩码:255.255.255.0 CIDR表示为/24
(2)自定义子网掩码:将一个网络划分为子网后,把原本的主机号的位置的一部分给了子网号,剩余的才是给了子网的主机号。形式如下:
网络号+子网号+子网主机号
例如:192.168.1.100/25,子网掩码表示为 255.255.255.128
5.域名
①域名介绍
sruct hostent *gethostbyname(const char *name)
6.Socket
①介绍
建立网络通信连接至少要一对端口号,Socket的本质是编程接口(API),对TCP/IP的封装,提供了网络通信能力。
每种服务都打开一个Socket,并且绑定到端口上面,不同的端口对应不同的服务,例如HTTP对应80端口。
②socket()函数
Python中,我们采用socket()函数来创建套字节,其语法格式如下:
socket.socket([family[,type[,proto]]])
7.UDP协议
8.Python第三方库
python第三方库是采用额外的安装方式来提供更广泛的Python计算生态,由不同行业的开发者进行维护。第三方库的领域有数据分析、文本处理、机器学习、游戏开发等等。
①requests库
requests库是一个建立在Python语言的urlib3库基础上,简洁而简单的处理HTTP请求的第三方库,其最大的优点是程序编写过程更加接近URL访问过程。requests库支持非常丰富的连接访问功能,包括国际域名和URL获取、HTTP长连接和自动解压缩、自动解码等。
②pandas库
numpy是Python的一种开源数值计算扩展第三方库,用于处理数据库类型相同的数组。而pandas是基于numpy扩展的一个重要第三方库,用来解决数据分析任务而创建的,为时间序列分析提供了很好的支持。pandas提供一维数组类型Series和二维数组类型DataFrame。更多介绍请访问:http://pandas.pydata.org/。