文章目录

  • 1. 网络的概念
  • 2. 交换机_路由器
  • 3. 三次握手_四次挥手

1. 网络的概念

# ### 1.网络开发两大架构
早期数据交互的格式是没有网络的
两个文件之间的数据交互需要通过第三个文件
a,b文件同时和c文件交互,
a文件把数据先存放c文件中
b文件从c文件取,反之亦然
socket (套接字) 是一个收发数据的工具有了网络之后
a文件中的数据,通过网络协议,转化101010...二进制进行发送
a文件借助socket发送数据
b文件借助socket接受数据# 二大架构
c/s 架构 : c => client (客户端)  王者荣耀 微信 qq wow dnf ... s => server (服务端) 天河三号 (百亿亿次)B/S 架构 : b => Brower  (浏览器)谷歌,火狐,360,ie通过输入网址,访问对方的服务器,对方服务器响应之后,把数据返回,浏览器通过返回的数据,渲染页面,看到最后的结果s => server (服务端)一旦开启,永不关机(除非宕机)在未来,更倾向于使用B/s架构,成为新的趋势
小程序: 微信小程序, 支付宝小程序
(1) 省去复杂下载安装环节,节省手机电脑的空间
(2) 因为手机带来的便捷性,随时随地使用到想要的应用,提升用户的满意度# ### 2.网络的概念
"""
网段的作用:主要用来划分同一区域里的某些机器是否能够互相通信。在一个网段里可以不同过因特网,直接对话
判别的依据:如果IP地址和子网掩码相与得到的值相同就是同一网段
"""
"""
逻辑与
全真则真,一假则假
逻辑或
一真则真,全假则假
"""ip1: 192.168,11.251
子网掩码:255.255.255.0
11000000  10101000  00001011  11111011
11111111  11111111  11111111  00000000
11000000  10101000  00001011  00000000  => 192.168.11.0 (网段)ip2: 192.168,12.35
子网掩码:255.255.255.0
11000000  10101000  00001100  00100011
11111111  11111111  11111111  00000000
11000000  10101000  00001100  00000000  => 192.168.12.0 (网段)ip1: 192.168,11.251
子网掩码:255.255.0.0
11000000  10101000  00001011  11111011
11111111  11111111  00000000  00000000
11000000  10101000  00000000  00000000  => 192.168.0.0 (网段)ip2: 192.168,12.35
子网掩码:255.255.0.0
11000000  10101000  00001011  11111011
11111111  11111111  00000000  00000000
11000000  10101000  00000000  00000000  => 192.168.0.0 (网段)
下面的网络相同,意味着可以互相通信;# ### (3) 端口
"""端口:具体某个程序与外界通讯的出口   取值范围:0~65535  """
192.168.2.1:8000  访问这个世界上任何一个电脑里的任何一个软件
自定义端口时,最好命名8000以上的端口号
https://blog.csdn.net/l_smalltiger/article/details/81951824   20 : FTP文件传输协议(默认数据口)
21 : FTP文件传输协议(控制)
22 : SSH远程登录协议
25 : SMTP服务器所开放的端口,用于发送邮件
80 : http用于网页浏览,木马Executor开放此端口
443: 基于TLS/SSL的网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP => HTTPS
3306:MySQL开放此端口# ### (4) osi 网络七层模型
应用层 (应用层,表示层,会话层)封装数据:根据不同的协议,封装不同格式的数据http  (超文本传输协议)HTTPS (加密传输的超文本传输协议)FTP   (文件传输协议)SMTP  (调子邮件传输协议)传输层:封装端口:指定传输协议(TCP协议/UDP协议)网络层:封装ip:ipv4版本 / ipv6数据链路层:封装mac地址:指定mac地址(arp协议[ip->mac] / rarp协议[mac->ip])物理层:打成数据包,变成二进制的字节流,通过网络进行传输





2. 交换机_路由器

# ### (5) 交换机与路由器 , 发送数据包流程
交换机: 从下到上拆2层,拆到数据链路层
路由器: 从下到上拆3层,拆到网络层(得到对应的网段)arp协议: 通过ip -> mac
rarp协议: 通过mac -> ip
"""arp协议整体是通过: 一次广播 + 一次单播 实现"""# arp协议的完整过程: 电脑a发现目标主机没有mac,先发送arp广播包,把mac标记成全F的广播地址交换机接受到arp的广播包,进行从下到上拆包,拆2层,拆到数据链路层看到全F广播地址,开始广播把这个广播包发送给每一台主机每台主机得到广播包后,都开始拆包,如果该数据包找寻的主机不是自己,自动舍弃路由器得到arp广播包后,从下到上拆包,拆3层,拆到网络层,得到网段信息通过路由器的对照信息表,找到网段对应的网关(接口)对应网关的这台交换机得到arp广播包后,从下到上拆包,拆2层,发现全F广播地址进行广播数据库主机收到广播包后,依次从下到上拆包,发现自己是目标要找的那台主机,把自己的ip->mac对照信息封装,变成arp响应包,发送给对应的交换机交换机得到arp响应包之后,依次进行单播,返回给最终的原主机在回来的过程中,所有得到过相应arp广播包的主机都会自动更新自己的arp解析表,方便下次使用




3. 三次握手_四次挥手

# ### (6) TCP/UDP协议:
# tcp
TCP(Transmission Control Protocol)一种面向连接的、可靠的、传输层通信协议(比如:打电话)
优点:可靠,稳定,传输完整稳定,不限制数据大小
缺点:慢,效率低,占用系统资源高,一发一收都需要对方确认
应用:Web浏览器,电子邮件,文件传输,大量数据传输的场景# udp
UDP(User Datagram Protocol)一种无连接的,不可靠的传输层通信协议(比如:发短信)
优点:速度快,可以多人同时聊天,耗费资源少,不需要建立连接
缺点:不稳定,不能保证每次数据都能接收到
应用:IP电话,实时视频会议,聊天软件,少量数据传输的场景# TCP 三次握手客户端发送一个请求消息,与服务端建立连接服务端接受这个请求,发出响应消息,回应客户端,也要与客户端a建立连接(看下a是否同意)客户端接受服务端的响应消息之后,发送回复消息(表达同意,到此客户端与服务端建立连接成功)# TCP 发送数据每次发送一次数据,都会对应一个回执消息,如果发送方没有接受到回执消息,那么该数据包在发送一次;# TCP 四次挥手客户端向服务端发送一个断开连接请求(代表客户端没有数据给服务端)服务端接受请求,发出响应等到服务端所有数据发送完毕之后服务端向客户端发送断开连接请求客户端接受请求,发出响应等到2msl,msl(最大报文段生存时间)这么长时间之后客户端与服务端彻底断开连接


【二十六】Python全栈之路--网络编程基础知识相关推荐

  1. 【五十】Python全栈之路--django的orm

    文章目录 1. orm_sqlite介绍与数据库同步指令流程 1.1 orm对象关系映射 1.2 sqlite数据库 1.3 更新表结构 2. django配置连接mysql 3. orm字段和参数 ...

  2. 【二十一】Python全栈之路--构造方法_继承_登录注册

    文章目录 1. 构造方法__init__ 2. 单继承_多继承 2.1 单继承 2.2 多继承 3. super的深度理解 4. 注册_登录 4.1 注册 4.2 登录 5. 小练习 1. 构造方法_ ...

  3. Python全栈之路系列之基础篇

    Python的诞生 Python是著名的"龟叔"Guido van Rossum(吉多·范罗苏姆)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python语 ...

  4. 〖Web全栈开发①〗—网络编程基础(上)

    网络编程基础 网络编程 网络编程概述 TCP/IP协议 IP地址 什么是IP IP组成 IP 地址使用过程 查看IP Ip地址分类: 子网掩码 端口 socket Socket原理 1.什么是Sock ...

  5. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  6. Python全栈之路系列之数字数据类型

    上篇文章中我们简单的体验了Python语言基本概念与语法,那么在继续深入下去的过程中,不妨先学习几个常见的Python内置数据类型?这也是大部分Python教科书的学习目录,由浅至深,慢慢深入. Py ...

  7. 我的全栈之路-C语言基础之数据存储

    我的全栈之路-C语言基础之数据存储 我的全栈之路 2.1 计算机的计算单位 2.1.1 容量单位 2.1.2 速度单位 2.2 计算机底层为什么只能识别二进制 2.3 进制 2.3.1 进制概述 2. ...

  8. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

  9. python网络编程基础知识_python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

最新文章

  1. html选择按钮selected,HTML Option defaultSelected用法及代码示例
  2. linux安装emc的多路径软件,linux (centos)安装EMCPower多路径软件
  3. axios使用post请求的时候后台接收不到参数
  4. Linux系统抓包命令tcpdump使用实例
  5. 从追逐警报到捕获威胁:有效SOC的进化
  6. c# 修改系统日期格式
  7. 微信小程序:背景图片在电脑可以显示,真机测试时无法显示
  8. Tomcat 服务器只能存有一个正在运行的项目
  9. OpenCV辅助对象(help objects)(2)_Range
  10. python扫地机器人开发学校_扫地机器人源码及解释
  11. toolchain安装教程支持_Xilinx交叉编译工具链安装步骤
  12. vue中使用this遇到的坑
  13. HIVE 分区 分桶
  14. 各浏览器下图片垂直居中的方法:
  15. java spring 源码下载_Spring源码下载
  16. Python爬虫实例(含代码)超详细教程
  17. 深夜不睡的我爬取一下美女照片!!!哈哈!!来吧,刺激磁刺激!!!
  18. 商淘软件S2B2C供应链系统 支持多种电商模式
  19. 用PS快速制作水彩效果人物照片
  20. python取值范围_python 数据库取值范围

热门文章

  1. 基于中国剩余定理的秘密共享方案(Python实现)
  2. 《CondLaneNet:a Top-to-down Lane Detection Framework Based on Conditional Convolution》论文笔记
  3. Python 中的len()函数
  4. mysql学习记录_Mysql 学习记录
  5. dfs-涂色题拯救oibh总部
  6. C++实习任务之学生活动管理系统
  7. 数据库服务概述 、 构建MySQL服务 、 数据库基本管理 、 MySQL数据类型
  8. java arraylist插入_java ArrayList数组中如何插入一个元素
  9. 那些年你追过的电影竟然登上顶刊封面! 盘点思路新奇的顶刊论文
  10. 不喜欢 D 和 C++,程序员将 58000 行代码移植到 Jai 语言?