计算机网络学习笔记-应用层

news2024/11/25 12:34:42

目录

概述

客户-服务器方式(C/S)

对等方式(P2P)

域名系统DNS

域名

四种类型

根域名服务器

顶级域名服务器

权限域名服务器

本地名服务器

域名解析过程

万维网WWW

超媒体与超链接

工作方式

URL(统一资源定位符)

HTTP(超文本传输协议)

报文类型

报文结构:开始行、首部行和实体主体

主要特点

HTTP/1.0采用非持续连接

HTTP/1.1采用持续连接

代理服务器(万维网高速缓存Web)

万维网文档

文件传送协议FTP

概述

常见用途

基本工作原理

TCP连接

电子邮件

工作方式:客户-服务器方式(C/S)

组成

SMTP(简单邮件传送协议)

POP3(邮局协议)

IMAP(因特网邮件访问协议)

基于万维网的电子邮件

动态主机配置协议DHCP

提供机制:即插即用连网

作用

报文类型

端口号

UDP报文


概述

应用层是计算机网络体系结构得最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分

客户-服务器方式(C/S)

  • 客户是服务器的请求方,服务器是请求的提供方
  • 服务器总是处于运行状态,并等待客户的服务请求。服务器具有固定端口号,而运行服务器的主机也具有固定的IP地址
  • 基于C/S方式的应用服务通常是服务集中型的,即应用服务集中在网络中比客户计算机少得多的服务器计算机中
  • 常出现服务器计算机跟不上众多客户机的情况,常用计算机群集(或服务器场)构建一个强大的虚拟服务计算机器

对等方式(P2P)

  • 分布在网络边缘各端系统中的应用进程是对等的,被称为对等方。无固定的服务请求者和服务提供者。对等方互相之间直接通信,每个对等方既是服务的请求者也是提供者
  • 基于P2P的应用是服务分散型
  • P2P方式的突出特性之一就是它的可扩展性。系统每增加一个对等方,不仅增加了服务请求者,也增加了服务提供者,系统性能不会因规模的增大而降低
  • P2P具有成本上的优势,不需要庞大的服务器设备和带宽

域名系统DNS

  • 互联网采用层次树状结构的命名树作为主机的名字,并使用分布式的域名系统 DNS
  • 名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器  
  • 每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录
  • 不区分大小写

域名

概念:任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字

结构:由标号序列组成,各标号之间用点隔开

​​​​​​​ 

 

四种类型

  • 根域名服务器
  • 顶级域名服务器
  • 权限域名服务器
  • 本地域名服务器

根域名服务器

  • 根域名服务器是最高层次的域名服务器,也是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址
  • 不管是哪一个本地域名服务器,若要对互联网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器
  • 在互联网上共有 13 个不同 IP 地址的根域名服务器,它们的名字是用一个英文字母命名,从 a  一直到 m(前 13 个字母) 

顶级域名服务器

(1) 国家顶级域名 nTLD     

.cn 表示中国        .us 表示美国        .uk 表示英国

(2) 通用顶级域名 gTLD     

最早的顶级域名是:.com(公司和企业).net(网络服务机构).org(非赢利性组织) .edu(美国专用的教育机构) .gov(美国专用的政府部门).mil(美国专用的军事部门).int(国际组织)

(3) 基础结构域名 

这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名

权限域名服务器

  • 负责一个区的域名服务器
  • 当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的 DNS 客户,下一步应当找哪一个权限域名服务器

本地名服务器

  • 当一个主机发出 DNS 查询请求时,这个查询请求报文就发送给本地域名服务器
  • 每一个互联网服务提供者 ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器
  • 这种域名服务器有时也称为默认域名服务器

​​​​​​​ 

域名解析过程

递归查询:一般都是主机向本地域名服务器的查询

迭代查询:通常是采用本地域名服务器向根域名服务器的查询

万维网WWW

  • 万维网 WWW并非某种特殊的计算机网络
  • 万维网是一个大规模的、联机式的信息储藏所
  • 万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息

超媒体与超链接

  • 万维网是分布式超媒体系统,它是超文本系统的扩充
  • 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在互联网上的超文本系统中。超文本是万维网的基础
  • 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像

工作方式

  • 万维网以客户-服务器(C/S)方式工作
  • 浏览器就是在用户计算机上的万维网客户程序万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器
  • 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档
  • 在一个客户程序主窗口上显示出的万维网文档称为页面

ps:浏览器最重要的部分是渲染引擎,也就是浏览器内核

URL(统一资源定位符)

作用:来标志万维网上的各种文档,使每一个文档在整个互联网的范围内具有唯一的标识符 URL

组成部分:<协议>://<主机>:<端口>/<路径> 

ps:端口和路径有时可省略

HTTP(超文本传输协议)

报文类型

  • 请求报文——从客户向服务器发送请求报文
  • 响应报文——从服务器到客户的回答

ps:报文中的每一个字段都是一些 ASCII 码串

报文结构:开始行、首部行和实体主体

主要特点

  • HTTP 使用了面向连接的 TCP 作为运输层协议,保证了数据的可靠传输
  • HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务
  • HTTP 是面向事务的客户服务器协议
  • HTTP 1.0 协议是无状态的

HTTP/1.0采用非持续连接

HTTP/1.1采用持续连接

ps:非持续连接两种方式:非流水线方式 / 流水线方式

代理服务器(万维网高速缓存Web)

  • 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中
  • 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去互联网访问该资源
  • 万维网站点使用 Cookie 来跟踪用户
  • Cookie 表示在 HTTP 服务器和客户之间传递的状态信息
  • 使用 Cookie 的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动

万维网文档

  • 超文本标记语言 (HTML)
  • 层叠样式表(CSS)
  • 脚本语言(JavaScript)

文件传送协议FTP

概述

  • FTP提供交互式访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权,并输入有效的口令)
  • FTP屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件

常见用途

  • 在计算机之间传输文件
  • 让网站设计者将构成网站内容的大量文件批量上传到web服务器

基本工作原理

主动模式(建立数据通道时,FTP服务器主动连接FTP客户):

  1. FTP客户发起TCP连接
  2. 用于传送控制命令的TCP连接
  3. 有数据要传输时,FTP客户通过命令通道告知FTP服务器来与自己的另一个临时端口号建立TCP连接,建立数据通道
  4. FTP服务器发起的TCP连接
  5. 用于传送数据的TCP连接

被动模式(建立数据通道时,FTP服务器被动等待FTP客户连接):

  1. FTP客户发起TCP连接
  2. 用于传送控制命令的TCP连接
  3. 有数据要传输时,FTP客户通过命令通道告知FTP服务器开启某个临时端口被动的等待TCP连接,建立数据通道
  4. FTP服务器发起的TCP连接
  5. 用于传送数据的TCP连接

TCP连接

控制连接:在整个会话期间一直保持打开,用于传送FTP相关控制命令

数据连接:用于文件传输,在每次文件传输时才建立,传输结束就关闭

ps:默认情况下,FTP使用TCP 21端口进行控制连接,TCP 20端口进行数据连接。主动方式下,使用TCP 20端口建立数据连接,被动方式下由服务器和客户端自行协商决定。

电子邮件

工作方式:客户-服务器方式(C/S)

组成

  • 用户代理(电子邮件客户端软件):用户与电子邮件系统的接口
  • 邮件服务系统:电子邮件系统的基础设施。因特网上所有的ISP都有邮件服务器,其功能是发送和接收邮件,同时还要维护用户的邮箱
  • 电子邮件所需的协议包括邮件发送协议(SMTP)和邮件读取协议(POP3、IMAP)

SMTP(简单邮件传送协议)

  • 所规定的就是在两个相互通信的 SMTP 进程之间应如何交换信息。
  • 由于 SMTP 使用客户-服务器方式(C/S),因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。

ps:SMTP只能传送ASCII码文本数据,为解决SMTP传送非ASCII码的问题提出了多用途因特网邮件扩展MIME

POP3(邮局协议)

  • 采用客户-服务器方式(C/S)
  • 常用熟知端口号110
  • 支持离线邮件处理,当邮件发送到服务器后,电子邮件客户端会调用邮件客户端程序,下载所有未阅读的电子邮件(这种离线访问模式是一种存储转发服务)。当邮件从邮件服务器发送到个人计算机上,同时邮件服务器会删除该邮件

IMAP(因特网邮件访问协议)

  • 采用客户-服务器方式(C/S)
  • 常用熟知端口号143
  • 用户在自己的 PC 机上就可以操纵邮件服务器的邮箱,就像在本地操纵一样。IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。

基于万维网的电子邮件

  • 通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰亏、收发、网读和管理电子邮件。这种工作模式与IMAP很类似,不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器。
  • 邮件服务器网站通常都提供非常强大和方便的邮件管理功能,用户可以在邮件服务器网站上管理和处理自己的邮件,而不需要将邮件下载到本地进行管理。

动态主机配置协议DHCP

提供机制:即插即用连网

作用

可为局域网各主机配置IP地址、子网掩码、默认网关、DNS服务器等信息

报文类型

  • DHCP DISCOVER:客户端用来寻找DHCP服务器。
  • DHCP OFFER:DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。
  • DHCP REQUEST:客户端请求配置确认,或者续借租期。
  • DHCP ACK:服务器对REQUEST报文的确认响应。
  • DHCP NAK:服务器对REQUEST报文的拒绝响应。
  • DHCP RELEASE:客户端要释放地址时用来通知服务器。

ps:在协议软件中给这些参数赋值的动作叫做协议配置

端口号

  • DHCP客户使用的UDP端口号:68
  • DHCP服务器使用的UDP端口号:67

UDP报文

  • UDP报文封装在协议字段为0x11的IP报文中
  • 该IP报文目的地址为广播地址255.255.255.255源地址为0.0.0.0
  • IP报文封装在源MAC为本PC机,目的MAC为全1的广播帧中,类型字段为0x0800

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

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

相关文章

Spring Boot 中的 WebSocketMessageBrokerConfigurer

Spring Boot 中的 WebSocketMessageBrokerConfigurer 在现代 Web 应用程序中&#xff0c;WebSocket 已成为一种流行的通信协议&#xff0c;它允许客户端和服务器之间实时双向通信。在 Spring Boot 中&#xff0c;我们可以使用 WebSocketMessageBrokerConfigurer 接口来配置 We…

vivo 自研鲁班分布式 ID 服务实践

作者&#xff1a;vivo IT 平台团队- An Peng 本文介绍了什么是分布式ID&#xff0c;分布式ID的业务场景以及9种分布式ID的实现方式&#xff0c;同时基于vivo内部IT的业务场景&#xff0c;介绍了自研鲁班分布式ID服务的实践。 一、方案背景 1.1 分布式ID应用的场景 随着系统的…

【Servlet】HttpServletRequest、HttpServletResponse

目录 &#x1f381;1 HttpServletRequest &#x1f4a5;1.1 通过 query string 来进行传递 &#x1f437;1.2 通过 body (form) 来进行传递 &#x1f6f8;1.3 通过 body(json) 来进行传递 &#x1f358;2. HttpServletResponse &#x1f476;2.1 为响应设置状态码 200 …

JVM 常量池

一、常量池使用 的数据结构 常量池底层使用HashTable key 是字符串和长度生成的hashValue&#xff0c;然后再hash生成index, 改index就是key&#xff1b;Value是一个HashTableEntry&#xff1b; 1、key hashValue hash string(name&#xff0c; len) index hash to…

LeetCode 打卡day48--打家劫舍I, II, III

一个人的朝圣 — LeetCode打卡第48天 知识总结 Leetcode 198. 打家劫舍题目说明代码说明 Leetcode 213. 打家劫舍 II题目说明代码说明 Leetcode 337. 打家劫舍 III题目说明代码说明 知识总结 今天全是打家劫舍系列的题目, 还挺有意思的 Leetcode 198. 打家劫舍 题目链接 题目…

SpringBoot配置

1.配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的&#xff1b; application.propertiesapplication.yml 配置文件的作用:修改SpringBoot的自动配置的默认值&#xff1b;SpringBoot在底层都给我们自动配置好&#xff1b; YAML 是一个标记语言&#xff1b;不是…

一步一步学OAK之三:实现RGB相机场景切换

目录 Setup 1: 创建文件Setup 2: 安装依赖Setup 3: 导入需要的包Setup 4: 遍历所有场景模式和特效模式Setup 5: 创建pipelineSetup 6: 创建节点Setup 7: 连接设备并启动管道Setup 8: 创建与DepthAI设备通信的输入队列和输出队列Setup 9: 定义putText函数Setup 10: 主循环获取视…

SpringBoot3【① 快速入门 示例+基本框架】

SpringBoot3-特性介绍和快速入门 1、简介 1. 前置知识 Java17Spring、SpringMVC、MyBatisMaven、IDEA 2. 环境要求 环境&工具版本&#xff08;or later&#xff09;SpringBoot3.0.5IDEA2021.2.1Java17Maven3.5Tomcat10.0Servlet5.0GraalVMCommunity 22.3Native Build …

2-NumPy如何使用?【视频版】

目录 问题视频解答 问题 视频解答 点击观看&#xff1a; 2-NumPy如何使用&#xff1f;

TypeScript学习(一):快速入门

文章目录 一、TypeScript 简介1、TypeScript 是什么&#xff1f;2、TypeScript 与 JavaScript 的区别3、JavaScript 的缺点4、为什么使用 TypeScript 二、TypeScript 开发环境搭建1、下载Node.js2、安装Node.js3、使用npm全局安装TypeScript4、创建一个ts文件5、使用tsc对ts文件…

ubuntu无法打开edge

vim /usr/bin/microsoft-edge在最后加上 --user-data-dir --no-sandbox

git常用命令之config

14. config 14.1 查看 config 命令作用git config --local -l查看仓库级别git 配置信息git config --global -l查看全局级别git 配置信息git config --system -l查看系统级别git 配置信息git config -l查看所有级别配置信息git config --local --list --show-origingit confi…

【STM32】基于stm32的阿里云智能家居

摘 要 智能家居是一种通过物联网将家里的各种电器设备连接在一起&#xff0c;并由中心控制器统一管理的信息系统。系统的核心是各类家居信息的采集与处理。阿里云能够提供云端的数据存储和分析功能&#xff0c;可以作为智能家居中心控制器的重要平台。 本文主要研究了基于阿里云…

看点小程序是什么,怎么搭建与开发?

看点小程序是做什么的,比如一些短视频剪辑博主,剪辑好的视频直接发布,是没有收益的。于是他们把最后一段视频传到看点小程序上。用户进小程序,看广告来看最后一段。因为看点小程序是可以对接流量主的。 对接流量主方法&#xff0c;在字节小程序开通流量主,把广告id填在后台 填好…

2022(一等奖)C23“城轨促交融,慢行赋新机”—TOD模式下城市慢行接驳与碳减排辅助出行系统

作品介绍 一、需求分析 1.1设计背景 “双碳”战略倡导绿色、环保、低碳的生活方式。加快降低碳排放步伐&#xff0c;有利于引导绿色技术创新&#xff0c;提高产业和经济的全球竞争力。碳中和目标对交通运输领域的可持续发展也提出重要要求。随着城市化的快速推进&#xff0c;…

89C52RC普中单片机-3

1.LCD1602调试工具 main.c #include<regx52.h> #include "lcd1602.h" void main() {lcd1602_init();//LCD1602初始化();while(1){lcd1602_show_string(0,0,"helloworld");lcd1602_show_string(1,1,"123456.0");} } lcd1602.c #include …

单片机-定时器时钟

89C52RC 1.定时器0&#xff0c;lcd1602显示时间。 main.c #include<regx52.h> #include "Timer0.h" #include "lcd1602.h" #include "Delay.h"unsigned char sec55,min40,hour17; void main() { //lcd1602锟酵讹拷时锟斤拷锟斤拷始锟斤拷…

ood解题思路----实物类面向对象

实物类 下面以vending machine为例 5C Clarify What 输入输出是什么&#xff1f;大小是否有限制&#xff1f; 无What items does this vending machine sell? coke、sprite、mountain dewWhat to do when an item sold out?What are the supposed payment methods? 可以使…

89C52RC普中单片机

1.静态数码管显示 数组函数 #include<regx52.h> void Delay(unsigned int xms);//带参延时函数ms /*静态数码管 P0&#xff1a;表示数码管的abcdefg dp P2.234表示位选 P21110 0011是第0号数码管 */ unsigned char NixieTable[]{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x…

Arduino Proteus仿真出租车计价器起步价白天黑夜区分LCD1602光电测速-0047

Arduino Proteus仿真出租车计价器起步价白天黑夜区分LCD1602光电测速-0047 Proteus仿真小实验&#xff1a; Arduino Proteus仿真出租车计价器起步价白天黑夜区分LCD1602光电测速-0047 功能&#xff1a; 硬件组成&#xff1a;ARDUINO 开发板、 LCD1602 、信号发生器、多个电…