零基础学python:第20节 网络编程

网络编程

一、网络编程

1.网络编程基础

计算机网络:把分布在不同区域的计算机通过专门的设备使用通信线路连接起来,从而会形成一个庞大的网络系统,不同的计算机之间就可以进行信息的传递

网络编程:在同一个网络中不同的机器之间进行通信

2.计算机之间需要通信的条件

三要素:ip地址,端口,协议

2.1 ip地址
  • 概念

    互联网地址(Internet Protocol Address),是联网设备和互联网之间的唯一标识,在同一个网段中,ip地址是唯一的
    
    ip地址是数字型的,是一个32位整数,通常将其分为4个8位的二进制,每8位用圆点隔开,并且将8位的二进制转换为0~255之间的十进制,例如:10.0.127.108
    
  • 分类

    形式分类:
    
    	ipv4:由4个字节组成,分成4段
    	
    	ipv6:由6个字节组成,分为6段
    	
    功能分类:
    	
    	A类:保留给政府机构,1.0.0.1~126.255.255.254
    	
    	B类:分配给中小型企业,128.1.0.1-191.255.255.254 
    	
    	C类:分配给任何需要的个人,192.0.1.1-223.255.255.254 
    	
    	D类:用于组播【一种数据传输方式】,224.0.0.1-239.255.255.254 
    	
    	E类:用于实验,240....~255.....
    	
    	127.0.0.1   回送地址,一般指的是本机的ip,localhost,一般用于测试
    

总结:ip地址可以唯一的确定网络上一个通信实体,但是一个通信实体可以有多个应用程序同时提供网络服务,此时还需要端口

2.2端口

1>概念

​ 数据的发送和接收都需要通过端口出入计算机,端口号是唯一标识通信实体上的应用程序

​ 注意:同一台机器上不能两个程序占用同一个端口,端口号:0~65535

2>分类

​ a.公认端口:0~1023

​ b.注册端口:1025~49151

​ c.动态端口或者私有端口:1024~65535

3>常用的端口

​ mysql:3306

​ oracle:1521

​ tomcat:8080

​ qq:4000

2.3网络协议

网络协议:只要连接到网络的设备,相互之间遵循同一种网络协议,才能够进行数据交互

在这里插入图片描述

3.TCP/IP协议

互联网协议,负责两台计算机之间建立可靠的【保证数据安全到达对方】,可连接【面向连接,三次握手】的通信

4.TCP协议
4.1概念

Transimission Control Protocol ,传输控制协议,基于字节的传输层通信协议

特点:

​ a.安全的【确保接收方完全正确的获取发送方发送的全部数据】

​ b.面向连接的【数据传输必须要建立连接,连接的过程中需要时间】

​ c.数据传输的效率较低

​ d.传输的数据的大小有限制,一旦连接建立,双方可以通过指定的格式发送数据

  • 面向连接:三次握手

    a.客户端向服务端发送一个请求
    
    b.服务端收到请求之后,回客户端一个响应
    	
    c.客户端收到服务端的响应之后,回复给服务端一个确认信息
    

在这里插入图片描述

  • 四次挥手
    • (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
    • (2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
    • (3) 服务器关闭客户端的连接,发送一个FIN给客户端。
    • (4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。

在这里插入图片描述

说明:

​ 使用tcp来实现数据的发送和接收需要发送方和接收方,但是两个通信实体之间没有明确的客户端和服务端之分,在两个通信实体建立连接之前,必须有一个通信实体做出主动姿态,被称为客户端

4.2 Socket通信

​ Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。Socket:套接字,作用:可以发送和接收数据

Socket必须知道目标计算机的ip地址,端口号,指定协议类型【TCP】

在这里插入图片描述

注意:

a.同一个端口号,如果被一个socket绑定之后,则其他的socket将不能再绑定

b.tcp创建连接的是双向通道,谁先发消息,则默认为是客户端,另外一方位服务端

5.UDP协议

User Datagram Protocol,用户数据包协议,提供面向无连接的不可靠的信息传输服务

特点:

​ a.不安全【发送方只负责将信息发送出去,数据能不能到达对方,或者到达对方的信息是否正确,都不做任何保证】

​ b.无连接的【进行信息发送之前,无需进行发送方和接收方之间的连接】

​ c.速度快

​ d.大小是有限制的,每个数据包的大小必须限制在64k以内

在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值