应用层

应用层协议——原理 应用层协议——原理   应用层协议的实现,只需要写出能够运行在不同的端系统(服务器、手机、电脑等)和通过网络彼此通信的程序。因为网络核心设备(路由器、交换机等,不包括端系统设备)并不在应用层上起作用,只在网络层及下面层次起作用,所以不需要为网络核心设备写对应的应用程序,即开发应用程序的时候只需要考虑适配端系统,不需要考虑网络核心设备。 网络应用程序体系结构   目前主流的网络应用程序体系结构... 阅读详情

一、DNS域名系统

互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。

域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。

域名只是个逻辑概念,并不代表计算机所在的物理地点。

DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。一个服务器所负责管辖的(或有权限的)范围叫做区 (zone)  

1.1常见的域名含义

(1) 国家顶级域名 nTLD

  • .cn 表示中国,

  • .us 表示美国,

  • .uk 表示英国,等等。

(2) 通用顶级域名 gTLD

最早的顶级域名是:

  • .com    (公司和企业)

  • .net    (网络服务机构

  • .org    (非赢利性组织)

  • .edu    (美国专用的教育机构)

  • .gov    (美国专用的政府部门)

  • .mil    (美国专用的军事部门)

  • .int    (国际组织)

新增的通用顶级域名:

  • .aero     (航空运输企业)

  • .biz    (公司和企业)

  • .cat    (加泰隆人的语言和文化团体)

  • .coop    (合作团体)

  • .info    (各种情况)

  • .jobs    (人力资源管理者)

  • .mobi    (移动产品与服务的用户和提供者)

  • .museum (博物馆)

  • .name    (个人)

  • .pro    (有证书的专业人员)

  • .travel    (旅游业)

1.2域名解析过程

  • 主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户的身份,向其他根域名服务器继续发出查询请求报文。

  • 本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。

640?wx_fmt=png

二、FTP协议以及端口

文件传送协议 FTP (File Transfer Protocol) 是互联网上使用得最广泛的文件传送协议。
FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限

网络环境下复制文件的复杂性:

  • (1) 计算机存储数据的格式不同。

  • (2) 文件的目录结构和文件命名的规定不同。

  • (3) 对于相同的文件存取功能,操作系统使用的命令不同。

  • (4) 访问控制方法不同。

正是因为网络环境下复制文件的复杂性,因此就需要用到了FTP协议了。

2.1过程

  1. 打开熟知端口(端口号为 21),使客户进程能够连接上。

  2. 等待客户进程发出连接请求。

  3. 启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。

  4. 回到等待状态,继续接受其他客户进程发来的请求。主进程与从属进程的处理是并发地进行。

  5. 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。

  6. 接着,服务器进程用自己传送数据的熟知端口 (20) 与客户进程所提供的端口号码建立数据传送连接。

  7. 由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。

FTP是使用了两个TCP连接的。好处:

  • 使协议更加简单和更容易实现。

  • 在传输文件时还可以利用控制连接(例如,客户发送请求终止传输)。

640?wx_fmt=png

三、电子邮件协议SMTP、POP3、IMAP

640?wx_fmt=png
  • 不要将邮件读取协议 POP 或 IMAP 与邮件传送协议 SMTP 弄混。

  • 发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用 SMTP 协议。

  • 而 POP 协议或 IMAP 协议则是用户从目的邮件服务器上读取邮件所使用的协议。

四、DHCP

为了将软件协议做成通用的和便于移植,协议软件的编写者把协议软件参数化。这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能。
一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。
在软件协议运行之前,必须给每一个参数赋值。
在协议软件中给这些参数赋值的动作叫做协议配置。

互联网广泛使用的动态主机配置协议 DHCP (Dynamic Host Configuration Protocol) 提供了即插即用连网 (plug-and-play networking) 的机制。

并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。

640?wx_fmt=png

五、简单网络管理协议 SNMP

网络管理包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为网管。

640?wx_fmt=png

含义:

  • 网络管理协议简称为网管协议。

  • 需要注意的是,并不是网管协议本身来管理网络。网管协议是管理程序和代理程序之间进行通信的规则。

CS模式:

  • 管理程序和代理程序按客户服务器方式工作。

  • 管理程序运行 SNMP 客户程序,向某个代理程序发出请求(或命令),代理程序运行 SNMP 服务器程序,返回响应(或执行某个动作)。

功能:

  • SNMP 最重要的指导思想就是要尽可能简单。

  • SNMP 的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。

过程:

  • 整个系统必须有一个管理站。

  • 管理进程和代理进程利用 SNMP 报文进行通信,而 SNMP 报文又使用 UDP 来传送。

  • 若网络元素使用的不是 SNMP 而是另一种网络管理协议,SNMP 协议就无法控制该网络元素。这时可使用委托代理 (proxy agent)。委托代理能提供如协议转换和过滤操作等功能对被管对象进行管理。

  • SNMP 定义了管理站和代理之间所交换的分组格式。所交换的分组包含各代理中的对象(变量)名及其状态(值)。

  • SNMP 负责读取和改变这些数值。

六、HTTP协议

HTTP协议我已经写过三篇了,详情可看:

最后

如果大家有更好的理解方式或者文章有错误的地方还请大家不吝在评论区留言,大家互相学习交流~~~

如果想看更多的原创技术文章,欢迎大家关注我的微信公众号:Java3y。Java技术群讨论:742919422。公众号还有海量的视频资源哦,关注即可免费领取。

可能感兴趣的链接:

  • 文章的目录导航(微信公众号端):https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang

  • 文章的目录导航(PC端):http://www.zhongfucheng.bitcron.com/post/shou-ji/pcduan-wen-zhang-dao-hang

  • 海量精美脑图:http://www.zhongfucheng.bitcron.com/post/shou-ji/nao-tu-da-quan


【Linux驱动开发】Linux应用层到驱动层大概是什么流程? linux中一切皆文件的思想,每一个字符设备都是由一个文件来表示的,文件里记录着相关的硬件信息,应用层是如何根据找到这个文件并最终实现对该设备的控制的。 阅读详情

相关推荐

UDS在应用层的需求

文章目录基本概念二、使用步骤1.引入库2.读入数据总结 基本概念 Boot manager: 作用是检查应用程序是否有效 Boot software: 在服务器特定内存里面执行,负责boot ECU以及刷写。 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import seabo

weixin_49326093的博客 1154

计算机网络第八篇【应用层】

tags: 计算机网络, title: 计算机网络第八篇【应用层】 DNS域名系统 互联网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS。 域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。 域名只是个**逻辑概念,**并不代表计算机所在的物理地点。 DNS 服务器的管辖范围不是以“域”为单位,而是以“区”为单位。一个服务器所负责管辖的(或有权限的)范围叫做...

weixin_34346099的博客 595

java-tftp-client:一个简单的 Java TFTP 客户端。 RIT研究生“计算机网络”课程项目

java中的一个简单的TFTP客户端。 运行说明 首先编译所有java文件: javac * . java 运行包含主要方法的 TFTPClient.java。 java TFTPClient . java TFTP 客户端使用说明。 可用命令: 命令 参数 描述 连接 网址 远程 tftp 服务器的 URL(例如,端口 69 上的 Glados.cs.rit.edu) 模式 八位字节或 netascii 设置传输模式(默认八位字节) 得到 文件名 接收文件 放弃 退出tftp ? 打印帮助

TFTP服务端客户端(Java编写)-TFTP上传下载

TFTP服务端客户端上传下载

qq_40088463的博客 1748

tftpClient:简单文件传输协议(TFTP)客户端的实现。 参考RFC 1350

tftp客户端 简单文件传输协议(TFTP)客户端的实现。 请参阅RFC 1350。 -编译并在没有命令行参数的情况下运行。 CONNECT-客户端希望关键字connect启动任何传输。 键入connecthostname将连接到主机。 键入连接并单击回车将提示用户在下一行输入主机。 异常将显示在非法主机名上,在这种情况下,用户将不得不再次连接。 GET-只需输入关键字get并按回车键,就会提示用户在下一行输入文件名。 每行1个文件名。 如果客户端没有该文件,将抛出未知文件名异常。 如果主机中有文件,则键入getfilename将启动传输,否则将引发错误。 文件与.java文件保存在同一文件夹中。 QUIT(退出)-输入quit并按回车键将退出程序。 超时-未启动传输的超时已设置为5秒。 错误处理-tftp服务器返回的错误按原样显示。 当显示此类错误时,提示用户输入命令。 未知

tftp client.rar_tftp_tftp client_tftp 客户端 ⅤC_tftp_client_tftp客户

这是我上期在TORNADO下用C写的实现TFTP客户端的源代码。

java tftp_JAVA实现tftp服务端(二)-- tftpClientAgent.java

tftpClientAgent.java=========================================public class tftpClientAgent extends Thread {public tftpClientAgent(InetAddress ip, int port, short opcode, String fname, String mode) {thi...

weixin_34304211的博客 465

迪文DGUSII串口屏中文显示实战:手把手教你制作16x16点阵字库

本文提供了一份迪文DGUSII串口屏16x16点阵中文字库制作的完整实战指南。从显示原理、字体选择与参数设置,到使用FontLib Make工具生成字库文件,再到部署、调用及存储空间优化,手把手教你解决中文显示难题,确保界面文字既美观又稳定。

weixin_29190573的博客 154

java网络编程之TFTP(二)

java网络编程之TFTP(二)今天在这里贴一个TFTP客户端实现的实例,希望可以帮助到有需要的人。

pigpig_fly的博客 2047

添加odbc数据源时的一些问题和解决办法

pl/sql

Mr_Syh的博客 9644

改进爬山算法之六:随机重启爬山算法(Random-Restart Hill Climbing,RRHC)

随机重启爬山算法(Random-Restart Hill Climbing,RRHC)是爬山算法的一种改进策略,是一种启发式搜索算法,旨在通过随机重启来克服传统爬山算法容易陷入局部最优解的局限性,并增加找到全局最优解的概率。随机重启爬山算法通过在多次运行中不断尝试不同的初始解,并在每次运行中执行标准的爬山算法,最终选择所有运行中找到的最佳解作为最终结果。(1)计算复杂度:由于需要多次运行爬山算法,因此算法的计算复杂度可能较高,特别是在解空间较大或每次迭代需要较长时间的情况下。

搏博的专栏 2206

计算机网络---应用层概述

应用层概述;网络用户模型;C/S 模型,P2P 模型

qq_63976098的博客 4684

RK3568平台(USB篇)USB HUB集线器

hub,集线器,连接在host与device之间的一种用于usb接口扩展的usb设备。可以将一个usb上行接口扩展为多个下行接口,使得一个host可以同时与多个device连接。一般来说,一块hub桥接芯片可扩展4个usb接口,而市面上的一拖七hub,其实使用了两块hub桥接芯片,其中一块hub桥接芯片的上行端口连接到另一块hub桥接芯片的下行端口。hub的上行端口面向host,下行端口面向device。在下行端口上,hub提供了设备接入检测和设备移除检测的能力,并给下行端口供电。

weixin_49303682的博客 964

Linux应用层的i2c读写

i2c通道在开发过程中使用是非常的方便的,主要是由于其简单的结构,i2c主要有SCL,SDA两条通道,一个时钟线,一个数据线,这也是i2c之所以应用如此普遍的原因。i2c的时序如下: 实现上述时序,便可以轻松通过i2c读写寄存器了,接下来看看i2c下在Linux应用层中实现读写,主要是通过O_RDWR IOTCL读写i2c设备,写函数如下: static int iic_write(int

王牧天的博客 3万+

EtherCAT报文-BRD(广播读)抓包分析

EtherCAT报文之BRD(广播读)报文Wireshark抓包分析。

kevin1499的博客 1212

【Windows Server 2019】活动目录 (Active Directory) ——将计算机加入域和脱离域

博文介绍了如何将计算机加入AD域和脱离AD域,包括加入域,验证客户机加入到域后的信息,使用域账户用户在客户机上登录,使用本地账户用户在计算机上登录,脱离域。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 6169

计算机网络:(十七)应用层(上)应用层基本概念

本文介绍了计算机网络中的应用层,重点阐述了其基本概念和核心作用。应用层作为直接与用户交互的层,主要功能包括封装应用需求(如HTTP、FTP等协议)、调用底层传输服务(TCP/UDP)以及提供用户可见的功能接口。文章通过与底层协议的对比,突出了应用层协议多样性、封装性、用户可见性和快速迭代的特点。此外,深入讲解了DNS域名系统的工作原理及其作为应用层基础设施的重要性,包括域名的层次化结构和域名服务器的分类。整体展现了应用层在网络体系中的关键地位与实用价值。

2402_83322742的博客 1721

190、LLC谐振变换器的样机调试实战(问题定位)

这篇实战笔记总结了LLC谐振变换器样机调试中的五大典型问题及解决方案:1)空载炸机源于谐振电容纹波电流能力不足;2)轻载啸叫因控制环路不稳定,需调整突发模式阈值;3)MOSFET过热由死区时间不当导致,需精确优化实现ZVS;4)输出纹波大由PCB布局耦合引起,需优化共模抑制;5)启动过冲需延长软启动时间。作者强调调试需结合示波器、热成像仪等工具,理论计算与实测并重,并详细记录每次参数调整。文章指出LLC调试是不断试错的过程,关键是通过现象分析本质原因。

Jack010169的博客 49

Linux应用层与内核驱动层3种交互方式

本文主要是总结出应用层与内核驱动层的主要交互方式,并提供示例代码分析交互过程。但不涉及更细节的内核代码的分析。 应用层与内核驱动层交互的方式多种多样,这里只写出了我目前理解到的3种方式,至于其它等以后再做整理。 应用与驱动3种方式 所谓的应用与驱动层的交互主要是数据的传递,这里主要是使用内核提供给应用层的API接口,从而实现应用与驱动数据传递。应用层操作硬件设备也是通过内核层提供的API接口或文件设备提供的操作接口来实现调用驱动来操作硬件设备。 总结来是应用层与驱动层数据相互传递,或应用层通过驱动提供的方法

清风不知妻美的博客 1万+

ATE Pin Electronics电路学习总结

PinElectronics(PE)是ATE测试机的核心模拟前端电路,负责ATE与芯片间的信号转换与交互。主要包含四大功能模块:Driver实现逻辑信号到模拟电平的转换(VIH/VIL可编程);Receiver对DUT输出进行采样比较(VOH/VOL判定);ActiveLoad施加可编程电流负载;PPMU进行精密电压/电流测量。PE的性能直接影响功能测试和直流参数测试的精度,需定期校准维护。关键参数包括:Driver电压精度(±5mV)、Receiver比较精度(±10-50mV)、PPMU测量精度(±1-

歌颂苦难的行为是无耻的; 467

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TCP/IP协议-应用层

DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一种用于在网络中自动分配IP地址及相关网络配置参数的应用层协议。它基于UDP协议工作,常用端口为67(DHCP服务器)和68(DHCP客户端)。

m0_72019240的博客 1926

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

V4L2 应用层完全解读与实战总结

V4L2应用层开发指南摘要 V4L2(Video4Linux2)是Linux下的标准视频采集框架,通过/dev/video设备节点提供统一接口。本文梳理了V4L2应用层开发的核心要点: 基础流程包括设备枚举、参数配置、缓冲区管理、帧采集和资源释放 主流工具对比:v4l2-ctl用于调试,GStreamer适合流媒体,ffmpeg擅长转码,OpenCV便于视觉开发 开发建议:优先使用v4l2-ctl调试,复杂场景采用GStreamer,必须进行格式转码以优化性能 常见问题排查:检查设备节点、参数匹配、权限设置

Interview_TC的博客 1616

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TCP/IP——应用层

TCP/IP——应用层 在OSI七层模型中,将应用层,会话层,表示层综合看成了TCP/IP模型中的应用层 一、应用和数据 应用: 1)应用的存在,是为了满足人们的各种需求,比如访问网页,在线游戏,在线视频 2)伴随着应用会有信息的产生。比如文本,图片,时评等都是信息的不同呈现方式 数据: 1)数据的产生:在计算机领域,数据是各种信息的载体 2)数据的传输:大部分应用程序所产生的数据需要在不同设备之间传递 在TCP/IP协议中,每一层都定义了不同功能的协议,如下图: 二、理解应用层功能 应用层为应用软件提供

weixin_54535828的博客 6566

应用层协议

应用层协议定义了什么 应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递消息。特别是定义了: 交换的消息类型,如请求消息和响应消息。 各种消息类型的语法,如消息中的各个字段及其详细描述。 字段的语义,即包含在字段中的信息的含义。 进程何时、如何发送消息及对消息进行响应的规则。 有些应用层协议是由RFC文档定义的,因此它们位于公共领域,例如HTTP。 有些应用层协议是公司或者个人私有的,...

秀秀的奇妙旅行 5446

Linux应用层框架思想

首先我建议大家先想一下这个场景(每次重开一个项目–不论是MCU还是LINUX),以下是我个人所想到的第一:所有的驱动、业务代码重新写是什么概念;第二:如果还像初阶那样接口初始化业务逻辑放一块儿会有什么后果(举例:天天的像单片机代码复制来复制去,改个参数要去通篇的翻代码找位置去改,效率何其低下,技术水平又体现在哪里);第三:你的代码总要继承吧,总不能一个公司的N个项目N套代码吧;第四:人活着就是要折腾就是要进步,不提高水平怎么加薪,怎么养家糊口!!!

qq_45521099的博客 2342

Linux应用层控制GPIO的多种方法

应用层控制GPIO的方法 方法1: 写一个杂项设备实现GPIO的read/write函数。 方法2:使用/sys/class/gpio操作。 方法3: 创建设备文件供应用层使用。本文重点介绍该方法。 //driver code static ssize_t muteLedshow(struct device *dev, struct device_attribute *attr, char *bu...

TommyMusk的博客 3358
上一篇: 数据链路层
下一篇: 物理层
Java3y
Java3y 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 1万+粉丝 509原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值