网络编程--网络基础

这里写目录标题

  • 协议的概念
    • 什么是协议
    • 典型协议
  • 分层模型
    • OSI七层模型与TCP/TP四层模型
  • 通信过程
  • 协议格式
    • 以太网帧协议(主要作用与mac地址,也就是网卡)
      • mac地址
      • 格式
      • ARP协议
      • 总结
    • IP协议(主要作用于IP)
    • UDP与TCP协议(主要作用于端口)
  • 网络应用程序设计模式
    • C/S模式与B/S模式
      • 简介
      • 优缺点

协议的概念

什么是协议

在这里插入图片描述
在这里插入图片描述
协议就是传输文件双方都严格遵守的一个传输规则,如上图,第一次传输传文件名,第二次传大小,第三次传内容

典型协议

在这里插入图片描述

分层模型

OSI七层模型与TCP/TP四层模型

TCP/IP协议中各个层与OSI各个层的对应关系:
在这里插入图片描述

TCP/IP协议各个层的典型协议:
在这里插入图片描述
一般常用TCP/IP模型
他的不同层有着不同的协议,这些协议都是典型协议

拓展:
在这里插入图片描述

通信过程

在这里插入图片描述
在这里插入图片描述
首先要知道,数据在没有封装之前,是不能在网络中传递的
在这里插入图片描述
对于一个数据,如上图中的“啥时候还钱五角星”,这就是一个数据,
网络传输时,通过a电脑的网卡,将数据发送到网络,再通过网络到b电脑的网卡
但是赤裸裸的数据是不能直接进行传输的,要对其进行封装

我们先对应用层封装,之后拿着这个封装结果,在传输层再封装一层,之后再在网络层封装一层,层层套娃,最后在链路层封装成最后的样子(每一层的封装都要遵守相应的协议),这样就可以通过主机的网卡传到网络,给到b主机
在这里插入图片描述
b主机拿到这个东西之后,要按照在各个层按照相应的协议进行解释,也就是解封装,最终拿到数据
在这里插入图片描述
我们将应用层划为应用层,应用层之下都划为内核层,
我们只需要负责应用层的封装和解释,内核层的封装与解释都交给系统就好
系统封装好了会自动传给网卡,通过网卡传给网络

协议格式

以太网帧协议(主要作用与mac地址,也就是网卡)

mac地址

在这里插入图片描述
首先介绍一下,mac地址就是网卡的id号,相当于网卡的身份证,每一台电脑的网卡都有一个独一无二的mac地址

格式

在这里插入图片描述
可以看到格式:
目的地址:目的地的mac地址,即目的地的网卡地址
源地址:发送端的网卡地址
类型:每个类型有固定的类型号,数据包就是0800类型
ARP数据包就是0806类型

后面是数据以及CRC

我们可以获取到发送端,也就是本机的mac地址,但我们如何拿到接收端的mac地址呢,就需要用到ARP协议

ARP协议

用来获取目的IP的mac地址
在这里插入图片描述
简化成如下格式:
在这里插入图片描述
对于请求的数据包,第一个是以太网目的地址,我们不知道,我们发送ARP就是为了得到他,不知道就是ff:ff:ff:ff:ff:ff,然后依次是发送端mac地址,数据包类型固定0806,中间一大堆8字节空间不细究,之后是发送端以太网地址(即mac地址),发送端IP地址(本机唯一ID号),然后还是目的端以太网地址,最后是目的端IP地址

举例:
在这里插入图片描述
我们以从主机向网络发送数据为例,(注意,网络就是一个一个路由器互联形成的一个网,每个路由器有自己的网卡,有自己的IP)
所以,这里以主机向路由器发送数据包为例,想要发送最终的以太网帧格式的数据包,就要知道对方的mac地址,我们可以通过ARP协议数据包拿到路由器的mac地址,路由器收到请求,会将ARP请求上的目的IP进行广播,看看是哪个路由器的IP,通过IP找到目标路由器,目标路由器会以ARP协议格式进行应答,我们就可以得到路由器mac地址
就可以封装以太网帧协议数据包,将数据从主机传输给路由器

总结

在这里插入图片描述

IP协议(主要作用于IP)

在这里插入图片描述
在这里插入图片描述
首先是版本号
有源IP 以及 目的IP
之后有TTL,对于TTL,他是指数据包的生存时间,如下图:
在这里插入图片描述
当数据被传入到网络中后,由于网络就是一个一个路由器互联而成的网,所以如果通往目的地的网都断开了,该数据包就会一直在该网里来回传送,反复横跳,而当无法到达目的地的数据包增多,这样一来时间一长,就会造成网络的拥堵
在这里插入图片描述
所以,设置了其TTL生存时间,生存时间的单位是跳,表示一个数据包最多在网络中跳转几次,从一个路由器到另一个路由器表示一次跳转,每跳转一次 TTL就-1,当到达一个路由器,TTL减为0时,该路由器会将其数据包丢掉

UDP与TCP协议(主要作用于端口)

这两个协议主要是作用于端口,端口号是在主机中唯一标识一个进程,而IP是在网络环境中唯一标识一个主机,
所以IP+端口号,可以唯一标识一个网络环境下的进程
在这里插入图片描述

在这里插入图片描述
TCP与UDP的区别在于,TCP要建立连接,之后再传输,而UDP是直接传输

!!! 注意,端口最大是65536,所以使用的端口号最大不要超过65536

网络应用程序设计模式

C/S模式与B/S模式

简介

在这里插入图片描述
C/S模式是客户端与服务器开发,需要通讯两端各自部署客户机和服务器,
比如,一个独立的应用,可以上架应用商店的应用,就是C/S模式

B/S模式是浏览器与服务器开发,只需要在一端部署服务器,另一端使用浏览器就可以
比如,一些依附于浏览器的应用,只能在浏览器上运行

优缺点

在这里插入图片描述
C/S模式可以自己规定协议,因为两端的客户端都是自己开发,但是安全性较差,因为协议都是自己规定,公司可以做手脚,同时跨平台较差,不同操作系统的软件数据可能会不相通(比如王者荣耀IOS与安卓不相通)
一些需要大量数据缓存的应用(比如许多特效图片等等需要在应用运行之前提前缓存),使用C/S较为合适

而B/S模式只能严格遵守http,但是安全性高,且跨平台容易
一些不需要缓存大量数据,较为轻量化,希望随时跨平台使用的应用,使用B/S较为合适
在这里插入图片描述

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

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

相关文章

one wire(单总线)FPGA代码篇

一.引言 单总线(OneWire)是一种串行通信协议,它允许多个设备通过一个单一的数据线进行通信。这个协议通常用于低速、短距离的数字通信,特别适用于嵌入式系统和传感器网络。 二.one wire通信优点缺点 优点: 单一数据线…

扫描全能王启动鸿蒙原生应用开发,系HarmonyOS NEXT智能扫描领域首批

近期,“鸿蒙合作签约暨扫描全能王鸿蒙原生应用开发启动仪式”(简称“签约仪式”)正式举行。合合信息与华为达成鸿蒙合作,旗下扫描全能王将基于HarmonyOS NEXT正式启动鸿蒙原生应用开发。据悉,扫描全能王是鸿蒙在智能扫…

TG7050CKN,TG7050SKN ,TG7050CMN,TG7050SMN

爱普生推出的温补晶振型号:TG7050CKN,TG7050SKN ,TG7050CMN,TG7050SMN频率范围为 10mhz ~ 54mhz 适用于广泛的频率需求。这几款的特点就是耐高温,温度可达105℃高温,而且都是高稳定性温补晶振,&…

【C++】开源:fast-cpp-csv-parser数据解析库配置使用

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍fast-cpp-csv-parser数据解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一…

钦丰科技(安徽)股份有限公司携卫生级阀门管件盛装亮相2024发酵展

钦丰科技(安徽)股份有限公司携卫生级阀门管件盛装亮相2024济南生物发酵展! 展位号:2号馆A65展位 2024第12届国际生物发酵产品与技术装备展览会(济南)于3月5-7日在山东国际会展中心盛大召开,展会同期将举办30余场高质…

ubuntu22.04搭建RTSP服务器

大致命令如下: git clone --depth 1 gitgithub.com:ZLMediaKit/ZLMediaKit.git sudo apt-get install build-essential sudo apt-get install cmake #除了openssl,其他其实都可以不安装 sudo apt-get install libssl-dev sudo apt-get install libsdl-dev sudo apt…

医院信息化-6 大模型与医疗

之前写了一系列跟医疗信息化相关的内容,其中有提到人工智能,但是写的都是原先的一些AI算法基础上的医疗应用。现在大模型出现的涌现推理能力确实让人惊讶,并且出现可商用化的可能性,因此最近一年关于大模型在医疗的应用也开始出现…

使用ffmpeg实现视频旋转并保持清晰度不变

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg -i source.mp4 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-…

智能三维数据虚拟现实电子沙盘

一、概述 易图讯科技(www.3dgis.top)以大数据、云计算、虚拟现实、物联网、AI等先进技术为支撑,支持高清卫星影像、DEM高程数据、矢量数据、无人机倾斜摄像、BIM模型、点云、城市白模、等高线、标高点等数据融合和切换,智能三维数…

python作业题百度网盘,python作业答案怎么查

大家好,小编来为大家解答以下问题,python作业题百度网盘,python作业答案怎么查,今天让我们一起来看看吧! 1 以下代码的输出结果为: alist [1, 2, 3, 4] print(alist.reverse()) print(alist) A.[4, 3, 2, …

根据DCT特征训练CNN

记录一次改代码的挣扎经历: 看了几篇关于DCT频域的深度模型文献,尤其是21年FcaNet:基于DCT 的attention model,咱就是说想试试将我模型的输入改为分组的DCT系数,然后就开始下面的波折了。 第一次尝试&#xf…

在Centos7中利用Shell脚本:实现MySQL的数据备份

目录 自动化备份MySQL 一.备份数据库脚本 1.创建备份目录 2.创建脚本文件 3.新建配置文件(连接数据库的配置文件) 4.给文件权限(mysql_backup.sh) ​编辑 5.执行命令 (mysql_backup.sh) ​编辑 二.数据库通过备份恢复 1.创建脚…

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测

多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现SSA-BiLSTM麻雀算法优化…

k8s的二进制部署: 源码包部署

服务器IP软件包k8s--master0120.0.0.61kube-aplserver,kube-controer-manager,kube-scheduler,etcdk8s--master0220.0.0.62kube-controer-manager,kube-schedulernode节点0120.0.0.62kubelet,kube-proxy,et…

第九部分 图论

目录 例 相关概念 握手定理 例1 图的度数列 例 无向图的连通性 无向图的连通度 例2 例3 有向图D如图所示,求 A, A2, A3, A4,并回答诸问题: 中间有几章这里没有写,感兴趣可以自己去学,组合数学跟高中差不多&#xff0c…

目标检测-Two Stage-SPP Net

文章目录 前言一、SPP Net 的网络结构和流程二、SPP的创新点总结 前言 SPP Net:Spatial Pyramid Pooling Net(空间金字塔池化网络) SPP-Net是出自何凯明教授于2015年发表在IEEE上的论文-《Spatial Pyramid Pooling in Deep ConvolutionalNetw…

设计模式(4)--对象行为(5)--中介者

1. 意图 用一个中介对象来封装一系列的对象交互。 中介者使各对象不需要显式地相互引用,从而使其耦合松散, 而且可以独立地改变它们之间的交互。 2. 四种角色 抽象中介者(Mediator)、具体中介者(Concrete Mediator)、抽象同事(Colleague)、 具体同事(Co…

https密钥认证、上传镜像实验

一、第一台主机通过https密钥对认证 1、安装docker服务 (1)安装环境依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 (2)设置阿里云镜像源 yum-config-manager --add-repo http://mirrors.aliyun.com/do…

时序预测 | Matlab实现SSA-CNN-LSTM麻雀算法优化卷积长短期记忆神经网络时间序列预测

时序预测 | Matlab实现SSA-CNN-LSTM麻雀算法优化卷积长短期记忆神经网络时间序列预测 目录 时序预测 | Matlab实现SSA-CNN-LSTM麻雀算法优化卷积长短期记忆神经网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现SSA-CNN-LSTM麻雀算法优化卷积长短…

中伟视界:燃气站的烟火、安全帽、抽烟、打电话检测等AI算法的工作原理详解

人工智能(AI)技术在各行各业中的应用越来越广泛,燃气站的安全管理也在逐步引入AI算法。本文将详细介绍AI算法在燃气站安全管理中的应用,包括烟火检测、安全帽识别、抽烟、打电话检测等方面的工作原理。 烟火检测是燃气站安全管理中…
最新文章