8.23_python_lx_day29

一.网络开发的两大架构

(1)早期没有网络 a.py -> b.py 借助c文件中转

  • a文件把数据放在c文件中,b文件从c文件取
  • b文件把数据放在c文件中,a文件从c文件取
  • 构成了早期的一种数据的交互原理 -> socket(套接字)模型
  • socket(套接字)是收发数据的一个工具

(2)后来有了网络

  • a文件中的数据,可以通过网络协议,转成10101电信号,进行发送
  • a文件借助socket发送数据
  • b文件借助socket接受数据

(3)c/s 架构 : client  server

  • C/S
    •   c -> client 客户端
    •   具体制定是一个软件,像qq,微信,腾讯会议,dnf,wow,跑跑卡丁车,龙与地下城ddo,消消乐,劲舞团,英雄联盟
    •   s -> server 服务端
    •   天河三号 百亿亿次超级计算机

(4)b/s 架构 : brower  server

  • B/S
    •   B -> Brower 浏览器
    •   通过输入网址,直接访问对方服务器,对方服务器响应请求之后
    •   把对应的数据通过网络返回到浏览器中进行显示
    •   s -> server 服务端

(5)b/s谁代表未来

  1. 省去复杂漫长的下载和安装环节,节省了手机和电脑的硬盘空间
  2. 因为手机的便捷性,可以随时随地不受限制的使用各式各样的功能,满足日常需求.

二.网络概念

(1) ip windows ipconfig  linux ifconfig

  • ip地址的最后一位0或者255 两个数字不能用,
  • 一般最后一位0表达的是网段,255代表广播地址

(2) 网段

  • 网段的作用:判别的依据:
    •   主要用来划分同一区域里的某些机器是否能够互相通信。
    •   在一个网段里可以不通过因特网,直接对话
    •   如果IP地址和子网掩码相与得到的值相同就是同一网段
  • 子网掩码:
    •   区分网段和主机

(3)端口: 某个程序与外界通讯的出口

<1>ip + 端口 访问这个世界上任何一台电脑里面的任何一个应用

  • 20 端口:FTP 文件传输协议(默认数据口)
  • 21 端口:FTP 文件传输协议(控制)
  • 22 端口:SSH 远程登录协议
  • 25 端口:SMTP 服务器所开放的端口,用于发送邮件
  • 80 端口:http,用于网页浏览,木马 Executor 开放此端口
  • 443 端口:基于 TLS/SSL 的网页浏览端口,能提供加密和通过安全端口传输的另一种 HTTP
  • 3306 端口:MySQL 开放此端口
  • 自定义端口的时候起一个9000以后的端口号,不要乱用已知的端口号

三.osi 网络七层模型

(1)七层模型

应用层(应用层,表示层,会话层)
    封装数据:
        根据不同的协议,封装成对应格式的数据消息
        HTTP  [超文本传输协议]
        HTTPS [加密传输的超文本传输协议]
        FTP   [文件传输协议]
        SMTP  [电子邮件传输协议]
传输层:
    封装端口
        指定传输的协议(TCP协议/UDP协议)
网络层:
    封装ip
        版本ipv4 ipv6    
数据链路层:
    封装mac地址
        指定链路层协议arp(ip->mac) / rarp (mac->ip)
物理层:
    打成数据包,变成二进制的字节流,通过网络进行传输
交换机:从下到上拆2层,物理层,链路层
路由器:从下到上拆3层,物理层,链路层,网络层

(2)arp协议 : 通过ip -> mac (arp地址解析协议)

  • 通过交换机的一次广播和一次单播找到对应mac物理地址
电脑a先发送arp的广播包,把mac标记成全FF-FF-FF-FF-FF-FF的广播地址
交换机接收到arp广播包,从下到上拆2层,到数据链路层得到mac
发现mac是全F的广播地址,重新打包,交换机开始广播,所有连接在这台
交换的的设备统一都会受到arp广播包,开始拆包
如果对应的是全F广播地址,直接跳过,继续向上找,如果ip不对,直接舍弃
路由器允许从下到上拆3层,拆到网络层,得到ip,找到其中的网段
重新把数据打包,发送给对应这个网段的那个接口(网关)
对应的接口设备是交换机,从下到上拆2层,全F广播地址,开始发送arp广播包
数据库服务器接收到arp广播包开始拆包,发现要找的机器就是自己.
于是把自己的ip->mac的对照数据,返回给对应的交换机.
交换机开始单播,让ip->mac的对照数据返回到开始处
原主机接收到了ip->mac的对照关系之后,更新一下自己的arp的解析表,方便下次使用
到此结束.
ip -> mac 

(3)三次握手

SYN 创建连接
ACK 确认响应
FIN 断开连接

  • 客户端发送一个请求,与服务端建立连接
  • 服务端接受请求,发出响应,并且回应也要与客户端建立连接
  • (服务端同意连接的请求 和 服务端与客户端建立连接的请求在一次响应当中完成了)
  • 客户端接受服务端的请求之后,把消息在回复响应给服务端.

(4)四次挥手

  • 客户端向服务端发送一个断开连接的请求
  • (代表客户端已经没有数据可以传输了)
  • 服务端接受请求,发出响应
  • 等到服务端把所有数据发送或者接受完毕之后
  • 服务端向客户端发送断开连接的请求
  • 客户端接受请求,并且发出响应(持续2MSL)
  • 等待2msl,最大报文生存时间之后
  • 客户端与服务端彻底断开连接.
原文地址:https://www.cnblogs.com/Magicianlx/p/13551291.html