1、网络编程常见协议

1、协议

​ 传输数据之前需要指定好规则:

文件名
大小
具体内容
解析文件名
解析大小
解析内容
用户A
用户B
内容
大小
内容

​ 先传文件名,在传大小,最后传具体内容。以上是最早的传输协议。即ftp协议。

2、4-7层模型和4层模型以及代表协议

分层模型结构:open system internet OSI

OSI七层模型:物数网传会表应

TCP/IP协议:4层模型 网网传应

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

应用层:http, ftp, nfs, ssh, telnet

传输层:TCP,UDP

网络层:IP,ICMP

链路层:以太网帧协议,ARP

3、网络通信过程

依次封装,封装如下

应用层封装
传输层封装
网络层封装
链路层封装

封装好的消息传过去之后需要解封装,解封装需要逐层解封

4、协议格式

4.1以太网帧格式

目的地址+源地址+类型+其他数据

MAC地址:网卡的网络身份证,全球唯一

源地址是主机上的地址,那路由器上的地址是怎么得到的呢?

​ 通过ARP请求获得,根据Ip地址获取MAC地址。

ARP请求具体为:

目的地址+源地址+帧类型+...+发送端以太网地址+发送端Ip地址+目的以太网地址+目的Ip地址

以太网地址就是MAC地址:00:0c:29:a9:9c:e5

IP地址:192.168.1.108

路由表:记录着每个Ip地址对应的MAC地址,如果目标Ip地址存放在路由表中,就会应答,反之就会驳回。

获取到目标MAC地址之后,就会根据以太网帧协议完成数据包传输。

4.2 IP段格式

IP协议:

​ 版本:IPv4、IPv6

​ TTL协议:time to live ,设置数据包在路由节点中的跳转上限,每跳转一次,该值减去一,减为0时,该数据包自动删除。

​ 源IP和目的IP:32位——4字节,192.168.1.108 其为点分十进制的IP地址

TTL+8位协议+16位首部检验和

具体表现位192.168.1.108 。

16位源端口号+16位目的端口号+32位序号+32位确认序号+6个标志位+16位窗口大小

4.3 UDP数据段格式

UDP传输数据不用建立连接,而TCP传输数据需要建立连接。

16位源端口号+16位目的端口号

4.4 C/S模型和b/S模型:

c/s:client-sever

b/s:browser-server

C/S优点
提前缓存大量数据 如游戏中的图片
协议选择灵活
速度快
应用程序的迭代和更新更为方便
只要更新客户端 服务器中将库更新
C/S缺点
必须安装
安全性很高
不能跨平台

C/S模型的优点就是B/S模型的缺点,C/S模型的缺点就是B/S模型的优点

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

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

相关文章

Mac mov转mp4,详细转换步骤

Mac mov转mp4怎么转?视频文件格式为.mov是由Apple公司所开发的特殊格式。因其只能在苹果设备上播放,与他人分享时就会变得困难。为此,我们通常会选择使用MP4这种最受欢迎的视频格式。在日常使用中,MP4成为了大家首选的视频格式。而…

onlyoffice历史版本功能实现

一:开启客户端配置 如果不开启,回调请求里面的history和changeUrl是空 二:客户端主要实现2个回调函数 1.实现onRequestHistory事件,该事件会在ui点击查看历史的时候发起,用于展示历史列表 关键在于获取到history的内容&#xff…

代理IP与Socks5代理在多领域的卓越应用

随着数字化时代的到来,网络工程师在跨界电商、爬虫、出海业务、网络安全和游戏等多个领域中扮演着至关重要的角色。在这些领域中,代理IP与Socks5代理技术已经成为网络工程师的得力助手,本文将深入探讨它们在技术世界中的卓越应用。 1. 跨界电…

写爬虫?前端er何必用python

前言 说起网络爬虫,很多人第一时间想到python,但爬虫并非只能用python实现,虽然网上大部分爬虫文章都在说python爬虫,但对于前端程序员来说,我觉得js才是最屌的(对于简单爬取任务来说,复杂的我暂时没碰到~),下面说说我的经验(是的,仅限本人经验),希望能给各位前…

RPA机器人在电商领域有哪些应用?

随着科技的不断发展,机器人流程自动化(RPA)已经成为许多领域的重要工具。在电商领域,RPA机器人也发挥了重要的作用。我将从两个方面探讨RPA机器人在电商领域的应用,以及它们如何提高电商运营的效率和效益。 一、RPA机…

Oracle修改数据之后提交事务如何回滚?

在 MySQL 和 Oracle 数据库中,事务提交后都无法回滚。 在 MySQL 中,恢复机制是通过回滚日志(undo log)实现的,所有事务进行的修改都会先记录到这个回滚日志中,然后在对数据库中的对应行进行写入。当事务已经…

kafka广播消费组停机后未删除优化

背景 kafka广播消息的时候为了保证groupId不重复,再创建的时间采用前缀时间戳的形式,这样可以保证每次启动的时候是创建的新的,但是 会出现一个问题:就是每次停机或者重启都会新建一个应用实例,关闭应用后并不会删除…

Bun v1.0.3 发布,Zig 编写的 JavaScript 运行时

导读Bun 发布了其最新版本 v1.0.3,这是一个集 JavaScript 运行时、打包器、转译器和包管理器于一体的工具。这次的更新不仅修复了众多已知的问题,还引入了一系列令人期待的新功能。 首先,Bun 在这个版本中增加了对 TypeScript 的 emitDecora…

Java架构师主流架构设计模式

目录 1 主流架构设计模式1.1 分层架构模式1.1.1 分层架构的一些常见原则1.1.2 分层的单向依赖原则1.1.3 无循环依赖的原则1.1.4 避免跨层通信的原则1.2 微服务架构模式1.3 基于事件的架构模式2 整洁架构3 六边形架构4 微内核架构模式5 基于空间的架构模式6 道过滤器模式和代理模…

31 数据分析(中)numpy介绍

文章目录 工具excelTableauPower Queryjupytermatplotlibnumpy安装导入包快速掌握(bushi)array和list的相互转化 np的range多维数组的属性array的改变形状array升降维度array内元素的类型数和array的运算array之间的加减法认识轴切片条件与逻辑修改值app…

XPS测试仪器-科学指南针

在做 X 射线光电子能谱(XPS)测试时,科学指南针检测平台工作人员在与很多同学沟通中了解到,好多同学仅仅是通过文献或者师兄师姐的推荐对XPS测试有了解,但是对于其测试仪器还属于小白阶段,针对此,科学指南针检测平台团队…

练[HarekazeCTF2019]encode_and_encode

[HarekazeCTF2019]encode_and_encode 文章目录 [HarekazeCTF2019]encode_and_encode掌握知识解题思路代码分析 关键paylaod 掌握知识 ​ JSON对Unicode字符的解析转义,json格式的构建,代码审计,php伪协议的利用,file_get_content…

ELK集群 日志中心集群、kafka、logstash

ES:用来日志存储 Logstash:用来日志的搜集,进行日志格式转换并且传送给别人(转发) Kibana:主要用于日志的展示和分析 kafka Filebeat:搜集文件数据 es-1 本地解析 vi /etc/hosts scp /etc/hosts es-2:/etc/hosts scp /etc…

px4仿真实现无人机自主飞行

一,确定消息类型 无人机通过即在电脑是现自主飞行:思路如下。 通过Mavros功能包,将ROS消息转换为Mavlink消息。实现对无人机的控制。 几种消息之间的关系如下: 对于ROS数据,就是我们机载电脑执行ROS系统的数据。 对于Mavros消息,就是Mavros功能包内部的消息。查询网站…

app开发工具使用说明

移动应用程序app是现今的主要应用程序之一,许多人也开始学习和开发移动应用程序。因此,app开发工具也越来越重要,本文将对app开发工具的使用进行详细介绍,以帮助那些希望学习和开发应用程序的人们。 1. Android Studio Android …

git 头指针分离于****

转载自https://blog.csdn.net/qq_40718168/article/details/89521028 分离头指针(detached HEAD) 通常,我们工作在某一个分支上,比如 master 分支。这个时候 master 指针和 HEAD 指针是一起前进的,每做一次提交&…

Maven 环境配置

Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK。 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上 Maven 3.2 要求 JDK 1.6 或以上 Maven 3.0/3.1 要求 JDK 1.5 或以上 内存 没有最低要求 磁盘 Maven 自身安装需要大约 10 MB 空间…

振弦采集仪应用于隧道安全监测

振弦采集仪应用于隧道安全监测 振弦采集仪是当今必不可少的现代隧道安全监测工具。该设备广泛应用于隧道内部各种安全参数的实时监测,包括但不限于隧道变形、裂缝、压力、温度等。本文详细介绍了振弦采集仪在隧道安全监测中的应用。 首先,我们来了解一下…

STM32使用HAL库驱动DS3231

1、STM32通讯口配置 启动IIC,默认配置即可。 2、头文件 #ifndef __DS3231_H #define __DS3231_H#include "main.h"#define DS3231_COM_PORT hi2c1 /*通讯端口*//**************************** defines *******************************/ #define DS3231…

算法题:摆动序列(贪心算法解决序列问题)

这道题是一道贪心算法题,如果前两个数是递增,则后面要递减,如果不符合则往后遍历,直到找到符合的。(完整题目附在了最后) 代码如下: class Solution(object):def wiggleMaxLength(self, nums):…