OSI七层模型/TCP四层模型

协议:

协议是双方共同指定的一组规则,在网络通信中表示通信双方传递数据和解释数据的一组规则。

从A上传文件到服务器B,需要在A和B之间制定一个双方都认可的规则,这个规则就叫文件传输协议,该协议是ftp协议的一个初级版本,后来经过不断的完善,优化,最终形成了一个完整的ftp协议。

注意:协议与具体平台无关。

OSI七层模型:

物理层:双绞线,光纤(传输介质),调用解调器modemn(模数转换,数模转换),将模拟信号转换为数字信号。

数据链路层:数据校验,定义了网络传输的基本单位-帧,ARP协议,RARP协议。

网络层:定义网络,两台机器之间传输的路径选择点到点的传输,IP协议---路由器。

传输层:传输数据TCP,UDP协议,定义端到端的传输。

会话层:通过传输层建立数据传输的通道(建立会话和保持会话)

表示层:编解码,翻译工作

应用层:为客户提供各种应用服务,如email服务,ftp服务,ssh服务,http服务

 TCP四层模型:

应用层:对应会话层,表示层,应用层

传输层:对应传输层

网络层:对应网络层

网络接口层:对应物理层,数据链路层

数据传输过程:

在数据发送方是数据层层打包过程,在数据接收方是层层解包过程

网络应用程序常见的两种设计模式:

1 C/S模式:

优点:可以安装在本地,可以缓存数据,协议的选择灵活;

缺点:客户端工具需要有程序员的开发,开发周期长,工作量大,

           需要本地安装,对客户的电脑安全有一定的影响; 

2 B/S模式:

浏览器/web服务器模式

优点:浏览器不用开发,开发周期短,工作量小;

缺点:只能使用http协议,协议选择受限制,不能缓存数据,效率受影响;

以太网帧格式:

以太网帧格式就是包装在网络接口层(数据链路层)的协议。

六个字节的地址叫MAC地址

四个字节才是ip地址

ARP数据包格式:

ARP协议:通过对方的IP地址获取MAC地址

请求包:以太网目的地址一开始不知道,写:ff:ff:ff:ff:ff:ff,A通过对方B的IP地址获取B的MAC地址

应答包:B发送自己的MAC地址给对方(A)

op为1表示ARP请求包,op为2表示ARP应答包; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/504415.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱1——neo4j

2024年要搞知识图谱,因此没有办法,只能将我之前固守的JDK1.8,升级到JDK21,因为JDK21也是LTS版本,neo4j高版本就不支持JDK8,因此没有办法,只有升级了。写这篇只是一个搭建笔记,我的初…

数据开发必知必会 - 数据仓库理论总结

一、数据仓库特点(4个特点) 1.1、数据仓库是面向主题的 1.2、数据仓库是集成的 1.3、数据仓库的数据是稳定的 1.4、数据仓库中的数据是随时间变化而变化的 二、数据仓库分层(特点or意义) 2.1、把复杂问题简单化 2.2、减少重复开发 2.3、隔离原始数据 三、数据仓库核心…

c语言经典测试题10

1.题1 int fun( int x) {int n 0;while (x 1){n;x x | (x 1);}return n; } int main() {int ret fun(2014);printf("%d", ret);return 0; } 上述代码运行结果是什么呢? 我们来分析一下:这里的fun函数有一个while循环,其判断…

详解队列的接口函数

队列的定义 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。 进行插入操作的…

CleanMyMac X2024免费Mac电脑清理和优化工具

CleanMyMac X是一款专业的 Mac 清理和优化工具,它具备一系列强大的功能,可以帮助用户轻松管理和维护他们的 Mac 电脑。以下是一些关于 CleanMyMac X 的主要功能和特点: 智能清理:CleanMyMac X 能够智能识别并清理 Mac 上的无用文件…

AJAX实例

AJAX - Asynchronous JavaScript and XML - 异步的JavaScript与XML,不是一门新技术,只是一个新的术语。(老技术新玩法) - 使用AJAX,网页能够将增量更新呈现在页面上,而不需要刷新整个页面。 - 虽然X代表…

考研机试C++题目精选

更多内容会在godownio.github.io更新 算法练习(C代码) 考研上机或C语言代码笔试准备,暨大机试原题letcode牛客中南大等高校机试 快速幂算法 题目:输入一个整数 n ,求 n^n 的个位数是多少。 快速幂算法:…

初识C语言—常见关键字

变量的命名最好有意义 名字必须是字母&#xff0c;数字&#xff0c;下划线组成&#xff0c;不能有特殊字符&#xff0c;同时不能以数字开头 变量名不能是关键字 typedef---类型定义&#xff0c;类型重命名 #include <stdio.h>typedef unsigned int uint; //将unsigne…

第七十二天 漏洞发现-Web框架中间件联动GobyAfrogXrayAwvsVulmap

第72天 漏洞发现-Web框架中间件&联动&Goby&Afrog&Xray&Awvs&Vulmap 知识点&#xff1a; 1、Bup简单介绍&使用说明 2、Xray简单介绍&使用说明 3、AWWS简单介绍&使用说明 4、Goby简单介绍&使用说明 5、Afrog简单介绍&使用说明 6、…

Qt/自定义控件的封装

新建文件&#xff0c;选择Qt设计师界面类 创建空界面 这是自己控件封装的文件&#xff0c;双击跳转到设计界面进行设计 跳转到其他的ui界面&#xff0c;创建一个widget 右键&#xff0c;选择提升为 在提升的类名称输入刚刚创建的类名&#xff0c;添加后选择提升&#xff0c;勾选…

2024年经典【自动化面试题】附答案

一、请描述一下自动化测试流程&#xff1f; 自动化测试流程一般可以分为以下七步&#xff1a; 编写自动化测试计划&#xff1b; 设计自动化测试用例&#xff1b; 编写自动化测试框架和脚本&#xff1b; 调试并维护脚本&#xff1b; 无人值守测试&#xff1b; 后期脚本维…

C++:内存管理|new和delete

创作不易&#xff0c;感谢三连支持&#xff01; 一、内存分布 为什么需要内存管理呢&#xff1f;&#xff1f;因为我们在程序的运行过程中会需要各种各样的数据&#xff0c;而我们根据数据的不同存储在不同的区域里面&#xff0c;是为了更高效地处理数据。而C语言相比Java来说…