day27 网络编程一

网络编程 基础


一  软件开发架构前端

# c/s架构(client/server)
c:客户端 / s:服务端 # b/s架构(browser/server)
b:浏览器 / s:服务器 ps:bs架构本质也是cs架构 手机端看上去cs架构比较火,实际上bs已经在崛起,微信支付宝都在作一件事:统一接口,手机端以后确定也是bs比较火 将来应用程序都会愈来愈简单,加上5g和云的力量,只要一个界面,就能实现不少功能,好比大型游戏用手机也能玩,原来的客户端也放到云端

服务器和客户端的本质区别数据库

# 服务端:24小时不间断提供服务 # 客户端:何时想体验服务,就去找心仪的服务端寻求服务

网络编程核心django

# 学习网络编程,就能够开发一个cs架构的软件
将来结合并发编程,数据库,前端和django   就能够一个bs架构的软件

1.2 网络编程的发展史编程

任何现进的技术最先都来源于军事 # 回到过去
1.早期的电话 电话线 2.大屁股电脑 网线 3.笔记本电脑 无线电话 网卡 要想实现远程通讯第一个须要具有的条件是:物理链接介质

1.3 如何实现网络通讯flask

人要想实现无障碍交流必须说统一的语言 >>> 英文 计算机与计算机之间要想实现远程通讯除了有物理链接介质以外还须要 # 公共的标准/协议:OSI协议

 

二  OSI协议
2.0 OSI七层协议浏览器

应用层\表示层\会话层 传输层\网络层 数据链路层\物理链接层 #应表会传网数物

OSI五层协议服务器

应用层\传输层\网络层\数据链路层\物理链接层

2.1 物理链接层微信

# 基于电信号传输010101001010二进制数据

2.2 数据链路层网络

# 1.规定的电信号的分组方式 # 2.规定了任何一台接入互联网的计算机都必须有一块网卡
每一块网卡上面都刻有世界上独一无二的编号 12位16进制数 前6位是厂商编号 后6位是流水线编号 咱们管这12数叫mac地址 ps:以上两点合称为"以太网协议"

2.2.1 交换机架构

基于以太网协议通讯
不能跨局域网通讯

互联网是有N多个局域网彼此之间链接而成的

 

 

2.3 网络层

# IP协议
规定了只要是接入互联网的计算机都必须有一个IP地址 ip地址特色:点分十进制 ip地址最小:0.0.0.0 ip地址最大:255.255.255.255 ip地址目前有两个版本:IPV4 IPV6(因为IPV4已经不够表示目前存在的计算机了 因此推出了IPV6版本) IP地址是动态分配的

 2.4 传输层

# TCP\UDP都是基于端口工做的协议
端口(port) 计算机与计算机之间实际上是计算机上的应用程序与应用程序之间的通讯 端口:用来惟一标识一台计算机上的某个应用程序 端口号的范围:0~65535 注意:0~1024这些都是操做系统默认使用的端口号 建议:使用8000以后的端口 MySQL默认端口:3306 Redis默认端口:6379 django默认端口:8000 flask默认端口:5000 端口号是动态分配的 第一次起qq分配到的是8989 将qq关闭再次启动端口号可能就变了

2.4.1 总结

ip地址:用来惟一标识接入互联网的一台计算机 port端口:用来惟一标识一台计算机上的某个应用程序 ip+port:惟一标识接入互联网一台计算机上的某个应用程序

2.5 应用层

HTTP协议
FTP协议

 


TCP协议
流式协议,可靠协议
基于TCP协议通讯 必选先创建双向通道
TCP协议传输数据之因此可靠的缘由就在于有双向通道???
三次握手四次挥手
星轨
明星出轨

三次握手建链接

 

四次挥手断联系


洪水攻击

相关文章
相关标签/搜索