1.网洛编程
软件开发架构
c/s架构
c:client既是客户端
s:server既是服务端
b/s架构
b:浏览器
s:server既是服务端
手机端:好像C/S架构比较火,其实不然,微信小程序,支付宝(客户端)第三方接口
统一接口:
pc端:b/s比较火
本质:b/s其实也是c/s
服务端:24小时不间断提供服务,谁来我就服务谁
客户端:先体验服务的时候,就去找服务端体验服
二、为啥学习网络编程》》》开发cs的软件架构:
开发编程,前段,数据库,框架》》》开发bs架构
起源于:美国军事!!!
实现远程数据传输
如何实现远程沟通交流?
电话插电话线
大屁股电脑插网线
笔记本电脑无线网卡
要实现远程单沟通,第一需要具备的条件的就是:物理连接介质
不同国家的人交流需要有一个公共的语言作为媒介 >>> 英文
计算机于计算机要想实现远程通信,光有物理连接介质是不够,
他们也需要一个共同的标准 >>> 协议
早期问题:网络到底是什么?计算机之间是如何通信的?
早期:联机
以太网 : 局域网与交换机
三、OSI七层协议(模型)
应用层:(HTTP协议,FTP协议)
表示层:
会话层:
传输层:(端口协议)
TCP,UDP 基于端口工作的协议
其实计算机之间的通信是计算机上面的应用程序与应用之间的通信
端口(poer):唯一识别一台计算机上某一个基于网络通信的应用
端口范围:0--65535(动态分配)
注意:0~1024通常是归操作系统分配的端口号
通常情况下我们写的软件端口号建议在8000之后
flask框架默认端口5000
django框架默认端口8000
mysql数据库默认端口3306
redis数据库默认端口6379
注意:一台计算机上同一时间一个端口号在智能被一个应用程序占用
TCP协议(流程式,可靠协议) 三次握手 四次挥手 三次握手建连接 四次挥手断连接 星轨(微博可以接收一个明星出的并发): 也就是在1 秒时间内接收的访问量 可以进行匹配链接不至
于系统挤爆
UDP协议
当应用程序希望通过UDP与一个应用程序通信时,传输数据之前源端和终端不建立连接。
当它想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。
tcp和udp的对比
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接, 之后才能传输数据。 TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去, 但是并不能保证它们能到达目的地。 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快
网络层:网络层(IP协议)
规定了计算机都必须有一个IP地址
IP地址特点:点分十进制
有两个版本ipv4和ipv6为了能够兼容更多的计算机
最小:0.0.0.0
最大:255.255.255.255
ip协议跨局域网传输
ip地址能够唯一标识互联网中独一无二的一台机器
数据链路层:(“以太网协议”:ethernet)
1.规定了二进制分组的方式 2.只要是接入物联网的计算机,都必须有一块网卡! 网卡上刻有世界唯一的编号: 每块网卡出产时都被烧制上一个世界上唯一的mac地址, 长度为48位2进制,通常由12位16进制数表示(前六位是厂商 ,后六位是流水线号) 我们管网卡上刻有的编号叫电脑的》》》mac地址---》上面的两个规定就是“以太网协议”!
基于以太网协议通信:通信基本靠吼吼!!!
弊端:广播风暴
交换机:如果没有交换机,你的电脑就变成了马蜂窝,有了交换机之后,所有的电脑只需要有一个网卡连接交换机
即可实现多台电脑之间物理连接
物理连接层:
实现计算机与物质间物理连接,传输 的数据都是010101二进制电信号工作原理:电只有高低点电瓶,
小总结:
IP地址:唯一标识全世界接入互联网的独一无二的机器
port端口号:唯一标识一台计算机上的某一个应用程序
ip+port :能够唯一标识全世界上独一无二的一台计算机上的某一个应用程序
补充:
arp:
arp协议 ——查询IP地址和MAC地址的对应关系
地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。
主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址。
收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,
其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;
由此攻击者就可以向某一主机发送伪ARP应答报文,
使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。
ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、
添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
TCP协议(流程式,可靠协议)
三次握手 四次挥手
三次握手建连接
四次挥手断连接
上图解释:
第一和第二部可以合并一步就是在发送同意是,也发送链接请求
为甚TCP数据具有可靠性:给对方发送信息时需要对方必须回复收到传输的数据是才会被删除,
否则会在同一时间内反复间隔时间发送,直到对方拒接或者超时
OSI七层协议(模型)
每层运行常见物理设备
每层运行常见的协议