1.网络开发的两大架构c/s,b/s

# ### 1.网络开发的两大架构
a文件 -> b文件 借助c文件
a文件和b文件进行数据交流,借助c文件中转数据
a文件把数据放在c文件中,b文件从c文件取
b文件把数据放在c文件中,a文件从c文件取
构成了最早期的数据交互的原理 ->socket(套接字)的模型
socket(套接字)是收发数据的一个工具 后来有了网络之后
a文件中的数据,可以通过网络协议,转化成101001电信号,进行发送
a文件借助socket发送数据
b文件借助socket接收数据 #两大架构
c/s
c => client 客户端
是具体的一个软件,比如qq,微信,lol等
s => server 服务端
天河三号 百亿亿次 b/s
b => browser 浏览器
通过输入网址,访问对方的服务器,对方的服务器响应请求之后
把对应的数据给你返回,就可以在浏览器看到了
s => server 服务端 #b/s c/s 两大架构 更好的是b/s 是未来的发展方向
未来更多向b/s 发展,像微信小程序,支付宝程序
(1)省去复杂漫长的下载安装环节,节省手机或者电脑的硬盘空间
(2)因为手机便捷性,随时随地可以访问到网站和相应的服务,提升效率,加快速度

2.网络的概念

# ### 2.网络的概念
#(1)ip
ip => 查看本地ip地址 ipconfig
ip地址的最后一位0或者255 两个数字不能用
一般最后一位0表达的是网段
255代表广播地址 #(2)网段:
判别的依据:如果ip地址和子网掩码相与 得到的值相同就是同一网段
子网掩码:区分网段和主机和一串ip
# 案例一
#ip1 192.168.31.43 通过bin转换成二进制
11000000 10101000 00011111 00101011
#子网掩码 255.255.255.0
11111111 11111111 11111111 00000000
#ip1 & 子网掩码 两两为1就为1,否则为0
11000000 10101000 00011111 00000000
ip1的网段:192.168.31.0 #ip2 192.168.30.44
11000000 10101000 00011110 00101100
#子网掩码 255.255.255.0
11111111 11111111 11111111 00000000
# ip2 & 子网掩码
11000000 10101000 00011110 00000000
ip2的网段:192.168.30.0 ip1和ip2的网段不同,不一样,所以不在同一网段不能通信 #案例二 改变子网掩码
#ip1 192.168.31.43
11000000 10101000 00011111 00101011
#子网掩码 255.255.0.0
11111111 11111111 00000000 00000000
#ip1 & 子网掩码
11000000 10101000 00000000 00000000
ip1的网段:192.168.0.0 #ip2 192.168.30.44
11000000 10101000 00011110 00101100
#子网掩码 255.255.0.0
11111111 11111111 00000000 00000000
#ip2 & 子网掩码
11000000 10101000 00000000 00000000
ip2的网段:192.168.0.0 结论:ip1和ip2的网段相同,所以可以通信
ping 域名 可以查看网络是否通常(顺便可以拿到ip) #(3) 端口:某个程序与外界通讯的出口
通过ip+端口 可以找到世界上任何一台电脑的任何一个软件
端口的范围:0~65535 形式:192.168.2.1:8000
建议自定义端口的时候,往8000以上定义 20 端口:FTP文件传输协议(默认数据口)
21 端口:FTP文件传输协议(控制)
22 端口:SSH远程登录协议
23 端口:telnet(终端仿真协议),木马,Tiny Telnet Server 开放次端口
25 端口:SMTP 服务器所开放的端口用于发送邮件
80 端口:http,用于网页浏览,木马 Executor 开放此端口
443 端口:基于 TLS/SSL的网页浏览端口,能提供加密和通过安全端口传输的另一种http
3306端口:MySQL 数据库端口

3.osi七层网络模型

应用层(应用层,表示层,会话层)
封装数据
依据不同的协议,封装对应格式的数据消息
HTTP[超文本传输协议]
HTTPS[加密传输超文本传输协议]
FTP[文件传输协议]
SMTP[电子邮件传输的协议]
传输层:封装端口 传输协议TCP/UDP协议 网络层:
封装ip
版本ipv4 / ipv6 数据链路层:
封装mac地址
指定链路层的协议(arp协议(通过ip找mac地址),rarp协议(通过mac找ip)) 物理层:
打成数据包,变成二进制字节流,通过网络进行传输 # ### 4.交换机和路由器
#交换机:对同一网段的不同机器之间进行数据转发的设备 [每一台机器和交换机相连,形成通信]
交换机从下到上拆2层,拆物理层和数据链路层,可以找到mac
#路由器:对不同网段的不同机器之间进行数据转发的设备 [每一个局域网和路由器相连,形成通信]
交换机从下到上拆3层,拆物理层和数据链路层和网络层,可以找到ip #arp协议:通过ip找mac (arp地址解析协议)
'''通过交换机的一次广播和一次单播找到对应的mac'''
电脑a先发送一个arp的广播包,把mac标记一个全FF-FF-FF-FF-FF-FF的广播地址
交换机接收到arp的广播包,从下到上进行拆包,拆2层,到数据链路层得到mac
发现mac是全F的广播地址,重新打包,交换机开始广播,所有连接在交换的设备都会收到arp广播包
各个主机开始拆包,对应FF广播地址可以跳过,继续向上找,发现ip不符合,直接舍弃
路由器允许从下到上拆三层,拆到ip,得到对应的网段
打开路由器的对照表 网关->网段,重新打包,找到对应的接口发送数据包
对应的交换机得到数据包,重新从下到上拆包,2层,发现全F,开始广播
数据的主机接收到广播包,从下到上拆包,ip正确,符号自己的条件
数据库主机会把ip->mac的映射关系的数据发送回当前的交换机,
此时,交换机通过单播,把对应的ip和mac发送回原来请求的主机
数据在通过路由器,交换机发送回去
原主机在得到了ip和mac之后,
重新把真实数据进行打包,从而完成发送 如果没有mac,主机一开始会发送请求包(发出找mac的请求)
各大主机在接收arp请求包的时候,都会去找对照自己本机当中的arp解析表(ip->mac)
如果没有,这个arp的请求包舍弃
如果有,会把自己的ip和mac封装在arp的响应包当中给交换机进行单播
在回来的过程中,所有相应的主机都会拿响应包中的数据更新自己的arp解析表,方便下次使用 arp协议:通过ip -> mac

4.TCP/UDP协议三次握手

三次握手

SYN 创建连接
ACK 确认响应
FIN 断开连接 #三次握手
客户端发送一次请求,与服务端建立连接
服务端接收这个请求,并且响应与客户端建立连接的请求
(服务端的响应和请求是在一次发送当中完成的)
客户端接收服务端的请求之后,把消息在响应给服务端 接下来客户端和服务端可以发送数据了
每发送一个数据出去,对应的主机都会有一个回执消息,确认数据的接受情况
如果没有得到回执消息,该数据会重发一次,保证数据的完整
不会一直不停的发下去,有时间最大允许周期

网络通信部分之bs/cs架构,网络概念,osi七层网络模型,TCP/UDP协议---day27的更多相关文章

  1. 网络基础与osi七层与TCP/IP协议

     一 什么是网络 网络:计算机网络是一组计算机或网络设备通过有形 的线缆或无形的媒介如无线,连接起来,按照一定的 规则,进行通信的集合. 通信,是指人与人.人与物.物与物之间通过某种媒 介和行为进行的 ...

  2. OSI七层与TCP/IP五层网络架构详解

      引用自:http://www.2cto.com/net/201310/252965.html   OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天 ...

  3. OSI七层与TCP/IP五层网络架构

    OSI七层模型   OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代 ...

  4. 网络知识学习1---(基础知识:ISO/OSI七层模型和TCP/IP四层模型)

    以下的内容和之后的几篇博客只是比较初级的介绍,想要深入学习的话建议自己钻研<TCP/IP详解 卷1:协议> 1.ISO/OSI七层模型    下四层是为数据传输服务的,物理层是真正的传输数 ...

  5. 网络之OSI七层协议模型、TCP/IP四层模型

    13.OSI七层模型各层分别有哪些协议及它们的功能 在互联网中实际使用的是TCP/IP参考模型.实际存在的协议主要包括在:物理层.数据链路层.网络层.传输层和应用层.各协议也分别对应这5个层次而已. ...

  6. 软件开发架构与网络之OSI七层协议(五层)

    本期内容概要 python回顾 软件开发架构 网络理论前瞻 osi七层协议(五层) 以太网协议 IP协议 port协议 交换机 路由器 局域网 广域网 TCP协议 三次握手 四次挥手 UDP协议 内容 ...

  7. 1、网络并发编程--简介、软件开发架构、OSI七层协议

    python复习 变量与常量 基本数据类型 内置方法 字符编码.文件操作 函数 函数参数.闭包函数.装饰器 面向对象 封装.继承.多态 """ 什么是对象 数据与功能的结 ...

  8. 网络编程:软件开发架构、架构总结、网络编程前戏、OSI七层协议简介、OSI七层协议之物理连接层、数据链路层、网络相关专业名词、OSI七层协议之网络层

    目录 软件开发架构 架构总结 网络编程前戏 OSI七层协议简介 OSI七层协议之物理连接层 OSI七层协议之数据链路层 网络相关专业名词 OSI七层协议之网络层 OSI七层协议之传输层 软件开发架构 ...

  9. 网络OSI七层架构与TCP四层架构的应用与区别

    1.OSI七层网络模型介绍 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 ...

  10. 01网络编程(基础知识+OSI七层协议+TCP与UDP)

    目录 01 网络编程 一.软件开发架构 1.1 CS架构 1.2 BS架构 二.网络理论前戏 2.1 简介 2.2 常见硬件 三.OSI七层协议(五层) 3.1 七层协议 3.2 五层协议 3.3 知 ...

随机推荐

  1. [转帖]Linux系统awk命令详解

    AWK 是一种处理文本文件的语言,是一个强大的文本分析工具. 之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 ...

  2. [转帖]shell脚本变量详解(自定义变量、环境变量、变量赋值、变量运算、变量内容替换)

    https://developer.aliyun.com/article/885658 简介: shell变量 shell变量是指用一个特定的字符串去表示不固定的内容 1.变量的类型 1.1自定义变量 ...

  3. 仅杀掉当前目录的java进程的办法

    比较简单,比如当前目录名字是 /su 就可以写成如下: 利用 /proc/ 下面的cwd 来进行判断直接杀进程 尽量路径唯一标识符 进行处理. for i in `ps -ef |grep java ...

  4. 解决跨域问题的8种方法,含网关、Nginx和SpringBoot~

    跨域问题是浏览器为了保护用户的信息安全,实施了同源策略(Same-Origin Policy),即只允许页面请求同源(相同协议.域名和端口)的资源,当 JavaScript 发起的请求跨越了同源策略, ...

  5. Spring 应用合并之路(二):峰回路转,柳暗花明 | 京东云技术团队

    书接上文,前面在 Spring 应用合并之路(一):摸石头过河 介绍了几种不成功的经验,下面继续折腾- 四.仓库合并,独立容器 在经历了上面的尝试,在同事为啥不搞两个独立的容器提醒下,决定抛开 Spr ...

  6. Dubbo架构设计与源码解析(一) 架构设计

    作者:黄金 一.架构演变 单应用架构 ----> 垂直架构 ----> 分布式架构 ----> 微服务架构 ----> 云原生架构 二.Dubbo总体架构 1.角色职能 • C ...

  7. 【构造,树】【Loj】Loj6669 Nauuo and Binary Tree

    2023.7.3 Problem Link 交互库有一棵 \(n\) 个点的二叉树,你每次可以询问两个点之间的距离,猜出这棵二叉树.\(n\le 3000\),询问次数上限 \(30000\). 首先 ...

  8. 一招轻松解决node内存溢出问题

    node启动项目造成内存溢出的解决办法 我们在使用node启动项目的时在项目较大的时候,可能会造成内存溢出.为什么会造成内存溢出呢? 要回答上面这个问题,我们要了解node中是如何分配内存的. Nod ...

  9. vue3封装搜索表单组件

    seacrch 表单完成的功能 1.根据配置json配置项自动生成表单 ok 2.是响应式的排版 ok 3.点击搜索按钮会向上抛出值 ok 4.点击重置按钮会自动清空数据,不需要父组件额外的处理 ok ...

  10. Seata分布式事务 (理论与部署相结合)

    分布式事务--Seata 分布式事务 1. 本地事务与分布式事务 1.1 本地事务 本地事务,也就是传统的单机事务.在传统数据库事务中,必须要满足四个原则: 1.2 分布式事务问题 分布式事务,就是指 ...