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应答包; 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PySide6+VSCode Python可视化环境搭建

pip install pyside6 下载本期源码 vscode装一个PYQT Integration插件,设置好两个路径(下面有个脚本用于获取路径) 用everything的童鞋注意了:工具/选项/索引/强制重建 重启vscode可以看到,右击.ui文件时出现可以操作…

01-环境搭建、SpringCloud微服务(注册发现、服务调用、网关)

环境搭建、SpringCloud微服务(注册发现、服务调用、网关) 1)课程对比 2)项目概述 2.1)能让你收获什么 2.2)项目课程大纲 2.3)项目概述 随着智能手机的普及,人们更加习惯于通过手机来看新闻。由于生活节奏的加快,很多人只能利用碎片时间来获取信息&…

map和set(一)——关联式容器的常用接口使用及区别

一、关联式容器 在初阶阶段,我们已经接触过STL中的部分容器,比如:vector、list、deque、forward_list(C11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面 、存储的是元素本身。 那什么…

django学习记录07——订单案例(复选框+ajax请求)

1.订单的数据表 1.1 数据表结构 1.2 数据表的创建 models.py class Order(models.Model):"""订单号"""oid models.CharField(max_length64, verbose_name"订单号")title models.CharField(max_length64, verbose_name"名称&…

Android6.0-14的兼容性

1.Android 6.0 ①新增运行时权限,危险权限需要动态申请 ②删除了对 Apache HTTP 客户端的支持, 解决方法:必须在build.gradle文件中声明以下编译时依赖项 android { useLibrary org.apache.http.legacy } 2.Android 8.0 ①允许安装未知来源…

15 实战:Kaggle房价预测 + 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】

15 实战:Kaggle房价预测 课程竞赛:加州2020年房价预测【李沐动手学深度学习课程笔记】https://zhuanlan.zhihu.com/p/685343754 写在前面:这里格式很乱,代码直接去知乎copy 1 实战Kaggle比赛:预测房价 1.1 实现几个函…

C#实现选择排序算法

以下是使用C#实现选择排序算法的示例代码: using System;class SelectionSort {static void Main(string[] args){int[] arr { 64, 25, 12, 22, 11 };Console.WriteLine("排序前:");PrintArray(arr);SelectionSortAlgorithm(arr);Console.Wr…

STM32CubeMX学习笔记12 ---低功耗模式

在实际使用中很多产品都需要考虑低功耗的问题,STM32F10X提供了三种低功耗模式:睡眠模式(Sleep mode)、停机模式(Stop mode)和待机模式(Standby mode)。这些低功耗模式可以有效减少系…

【AI视野·今日NLP 自然语言处理论文速览 第八十三期】Wed, 6 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Wed, 6 Mar 2024 Totally 74 papers 👉上期速览✈更多精彩请移步主页 Daily Computation and Language Papers MAGID: An Automated Pipeline for Generating Synthetic Multi-modal Datasets Authors Hossein Aboutalebi, …

Vue-04

Vue 指令 指令补充 指令修饰符:通过"."指明一些指令后缀,不同后缀封装了不同的处理操作 → 简化代码 按键修饰符 keyup.enter → 键盘回车监听 在input中使用keyup.enter,这个时候按enter键也能实现添加,和点击按钮实…

Redis的散列插槽及故障转移

散列插槽 散列插槽原理类似于一个哈希散列表,通过哈希算法来映射插槽,并为redis节点分配插槽区间,插槽的所有范围是0~16383 数据key不是与节点绑定,而是与插槽绑定。redis会根据key的有效部分计算插槽值,分两种情况&a…

第十三届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组 统计子矩阵

#include<iostream> #include<algorithm> #include<cstring> #include<string> #include<vector> #include<queue>using namespace std;int cnt,temp; int n,m,K; int a[505][505]; int pre[505][505];//二维前缀和void sol() {cin>>…

【Linux】gcc升级13.2.0

错误信息 g: error: unrecognized command line option ‘-stdgnu14’ -stdc14需要g5.2以上&#xff0c;而centos默认的g只有4.8.5&#xff0c;所以&#xff0c;要做的事情&#xff0c;是升级g 下载gcc 官网下载: https://ftp.gnu.org/gnu/gcc/wget https://ftp.gnu.org/gnu/…

liunx自动构建化工具make/makefile

liunx自动化构建工具 依赖关系和依赖方法makefile 文件格式 第一个项目 进度条牛刀小试 倒计时简单模版 makefile 的多文件编程 依赖关系和依赖方法 依赖关系&#xff1a;依赖关系是文件之间的关系。 依赖方法&#xff1a;依赖方法是文件之间相互作用的方法。通过方法产生关系…

java网络编程 02 socket

01.socket定义 02.TCP编程 import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket;public class clientSocket {public static void main(String[] args) throws IOException {Socket socket new Socket(Inet…

HTTP协议与HTTPS协议

HTTP与*HTTPS HTTP协议HTTP请求的通信过程HTTP优点 HTTPS协议HTTPS优点SSL/TLS的工作原理?*公钥传递的信赖&#xff1f;*通过中间CA机构传输 HTTP协议 HTTP协议是一个无状态的协议&#xff0c; 服务器不维护任何有关客户端之前所发请求的消息。 是一种懒政&#xff0c;有状态协…

基于selenium自动化索引点击

小鹅快速刷题&#xff0c;根据selenium和xpath定位题干&#xff0c;使用模糊匹配fuzzywuzzy库查找题目匹配答案&#xff0c;自动点击&#xff0c;完成后更新题库 先导入基本包&#xff0c;准备好题库 from fuzzywuzzy import process from selenium import webdriver import …

9、Linux-安装JDK、Tomcat和MySql

目录 一、安装JDK 1、传输JDK文件&#xff08;.tar.gz&#xff09; 2、解压 3、备份环境变量 4、配置环境变量 5、重新加载环境变量 6、验证&#xff08;java -version&#xff09; 二、安装Tomcat 1、传输文件&#xff0c;解压到/usr/local 2、进入Tomcat的bin目录 …

如何从产品的角度做好内容营销?媒介盒子支招

内容运营就是指将生产传播内容并进行重组&#xff0c;去满足用户的内容消费需求&#xff0c;想要提高内容运营的效果&#xff0c;媒介盒子认为可以从产品出发&#xff0c;将内容运营与品牌产品相结合。那么应该怎么做呢&#xff1f;接下来就让媒介盒子告诉你。 一、 场景化内容…

Android岗面试,android内存优化面试题

前言 曾听过很多人说Android学习很简单&#xff0c;做个App就上手了&#xff0c;工作机会多&#xff0c;毕业后也比较容易找工作。这种观点可能是很多Android开发者最开始入行的原因之一。 在工作初期&#xff0c;工作主要是按照业务需求实现App页面的功能&#xff0c;按照设…