python 网络并发编程前言

内容概要

  • 软件开发架构
  • 网络理论前戏
  • OSI七层协议(五层)
    • 以太网协议、IP协议、port协议、arp协议
    • 交换机、路由器、局域网、广域网
  • TCP协议
    • 三次握手 与四次挥手
  • UDP协议

内容详细

软件开发架构

c/s架构 c:client 客户端 s:server 服务端 """ 将客户端看成是去店里消费客人 将服务端看成是提供服务的店面 eg:手机各种app其实就是各大软件的客户端 服务端需要具备的三大特征 1.24小时不间断提供服务(24小时监听) 2.固定的地址(IP地址) 3.能够服务多个用户(高并发) """ b/s架构 b:browser 浏览器 s:server 服务器 """ 浏览器统一充当各个服务端的客户端 本质:bs架构本质上也是cs架构 """ 统一:各大互联网巨头正在做的事情 eg: 微信小程序(微信提供开发微信小程序的软件) 支付宝小程序(各种程序接口) # 总结 网络编程学习完就可以开发cs架构的软件(简易版本) 并发编程、前端、数据库、后端框架就可以开发bs架构软件(任何类型的软件)

网络编程前戏

网络编程其实研究的就是程序之间的数据通信 由来: 基于远程传输数据的技术最早诞生于美国军方(前沿技术通常都是由军事产生) 远程数据传输发展史(民用) 1.有线电话 电话线互联 2.无线电话 信号发射器 3.大屁股电脑 网线 4.笔记本电脑 网卡 ... """ 要想实现远程数据交互的前提是必须要有物理连接介质 """ 除了有物理连接介质之外还应该有一些能够保证数据彼此无障碍交互的东西(标准) OSI七层协议

OSI七层协议

# 所有的计算机都必须要有这七层 应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层 # 开发层面可以归纳为五层 应用层 传输层 网络层 数据链路层 物理连接层 """ 从下往上研究 1.物理连接层 提供一个物理连接接口(网线口 无线网卡) 2.数据链路层 1.规定了电信号的分组方式 2.以太网协议 规定了计算机必须有一块网卡 并且网卡上面要有一个固定的一串数字 12位16进制数 前六位:产商编号 后六位:流水线号 上述的数字也称之为计算机的mac地址(类似于身份证号) """

常见硬件

交换机:能够使接入该机器的所有计算机之间彼此互联 局域网:有交换机组成的网络 互联网:可以简单的理解为是多个局域网之间彼此互联 """ 基于mac地址的数据传输 1.广播风暴 2.mac地址不能跨局域网传输 """ 路由器:能够连接多个局域网并实现局域网之间的数据传输

image

网络层

IP协议:规定了接入互联网的计算机都必须有一个IP地址用于唯一标识 IPV4版本 最小 0.0.0.0 最大 255.255.255.255 IPV6版本 能够表示出地球上每一粒沙子 # IP地址能够唯一标识接入互联网的一台独一无二的计算机 公网IP与私网IP 公网IP需要花钱购买并申请 私网IP自带的但是无法直接基于互联网访问 """ arp协议 将IP地址转换成mac地址(基于网络请求) """

传输层

TCP协议 UDP协议 端口协议 范围:0~65535 特性:动态分配 eg:第一次运行微信 系统随机取一个端口号2022 然后关闭微信重新启动 系统随机取一个端口号 端口号基本使用 0~1024系统默认需要使用的端口号 1024~8000常见软件端口号 建议以后开发的软件最后使用8000之后的端口号 # 端口号(port):能够唯一标识一台计算机上面正在运行的一款应用程序 """ 端口号在同一台计算机同一时刻不能重复 """ 总结 ip+port 127.0.0.1:8080 """ 能够唯一标识世界上某一台接入互联网的计算机上面的某一个正在运行的应用程序 """

TCP协议

流式协议 可靠协议 三次握手 建立链接 重要状态 listen监听态:等待对方发请求 syn_rcvd态:忙于恢复确认建立请求 # 洪水攻击:服务端在同一时间接收到了大量的要求建立链接的请求 四次挥手 断开链接 不能合并成三次 """该类知识需要花时间研究"""

image

UDP协议

不可靠协议 数据发送没有通道的概念 发送出去了就不管了 """ TCP协议相当于打电话 你一句我一句 你侬我侬 UDP协议相当于发短信 发了就完事 管你看不看 """ 早期的QQ使用的就是UDP

应用层

都是人为自定义的协议标准 可遵循可不遵循 HTTP协议 FTP协议 ...

__EOF__

本文作者向上
本文链接https://www.cnblogs.com/ydy001/p/15790155.html
关于博主:没有收拾残局的能力,就别放纵善变的情绪
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   风花雪月*  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示