python网络编程基础

  • OSI协议基础简介

在这里插入图片描述

  • cookie
    高内聚:模块功能尽可能单一,不要掺杂
    低耦合:模块之间尽可能减少关联和影响
  • 各层次相关协议
应用层:TFTP HTTP DNS SMTP
传输层:TCP UDP
网络层:IP
物理层:IEEE
  • 网络相关概念
网络主机:在网络中标识一台计算机	HOST
本地使用:'localhost' '127.0.0.1' 
网络使用:'0.0.0.0' '172.60.50.41(本机IP)' ->ipconfig
获取计算机名 :
ipyhton3:import socket
		  socket.gethostname()
IP地址:网络上确定一台主机网络位置的地址
Ipv4:点分十进制 192.168.1.2	
Ipv6:128位

ping ip:测试和某台网络主机是否联通
  • 特殊IP地址
127.0.0.1		本地测试IP
0.0.0.0			使用本机可用IP
192.168.1.0		表示网段IP
192.168.1.1		网关IP
192.168.1.255	广播地址
  • 点分十进制地址16进制十进制转换
In [19]: socket.inet_aton('192.168.1.2')
Out[19]: b'\xc0\xa8\x01\x02'

In [20]: socket.inet_ntoa(b'\xc0\xa8\x01\x02')
Out[20]: '192.168.1.2'
  • 网络端口号
端口号是网络地址的一部分,用于区分一个网络主机上的网络应用

在一个操作系统中不同的网络应用监听不同的端口号
取值范围:1--65535
		 1--255 		一些总所周知的通用端口
		 256-1023		系统应用端口
		 1024-65535		自用端口
	建议使用  >10000

socket.getserverbyname('mysql')
#获取某个应用的端口
  • 网络字节序
    数据在网络中的传输格式,供不同os的设备传输数据遵守
  • 传输层服务
面向连接的传输服务:
	
基于tcp协议的数据传输
	传输特征:提供可靠的数据传输,可靠性指数据传输过程中
无丢失、无失序、无差错、无重复。
	实现手段:数据传输断开前都需要进行传输和断开的确认
	
	三次握手:tcp传输在数据传输前建立连接的过程
		1、客户端向服务器发送连接请求
		2、服务器收到请求后,回复确认消息,表示允许连接
		3、客户端收到服务器回复,进行最终标志发送确认连接
		 
	四次挥手:tcp传输在数据传输后断开连接的过程
		1、主动发送报文告知被动方要断开连接
		2、被动方收到请求后立即放回报文告知已经准备断开
		3、被动方准备就绪后再次发送报文告知可以断开
		4、主动方发送消息,确认最终断开

	应用情况:适用于传输较大的文件,网络情况良好,需要保证传输
可靠性的情况。
	比如:网页的获取,文件下载,邮件传输,登录注册

在这里插入图片描述
在这里插入图片描述

面向无连接的传输服务:
基于udp协议的传输

传输特点:不保证传输的可靠性,传输过程没有连接和断开的流程,数
据收发自由。

适用情况:网络情况较差,对传输可靠性要求不高,需要提升传输效率
。不便连接,需要灵活收发消息。
比如:网络视频,群聊,广播发送

总结问题:
1、osi七层模型介绍,tcp/ip模型
2、tcp服务和udp服务有什么区别
3、三次握手和四次挥手是什么意思,过程是什么样的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值