IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络(第5版)笔记-第六章 应用层 -> 正文阅读

[网络协议]计算机网络(第5版)笔记-第六章 应用层

总述:
(1) 域名系统DNS——从域名解析出IP地址 (2) 万维网和HTTP协议,以及万维网的两种不同的信息搜索引擎。 (3)电子邮件的传送过程,SMTP协议和POP3协议、IMAP协议使用的场合。 (4)动态主机的配置协议DHCP的特点。 (5)网络管理的三个组成部分(SNMP本身、管理信息结构SMI和管理信息库MIB)的作用 (6) 系统调用和应用编程接口的基本概念。 (7)P2P文件系统。

1.域名系统DNS(Domain Name System)
是分布式系统,一个出故障并不会影响整个的运行。
域名到IP地址的解析是由分布在因特网上的许多域名服务器程序(也叫域名服务器)共同完成。
过程:当某一个应用进程需要把主机名解析为IP地址时,该应用进程就调用解析程序(resolver),并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器(使用UDP是为了减少开销)。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用进程获得目的主机的IP地址后即可进行通信。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。
1)IP与域名的关系,DNS的作用,域名的结构
? IP与域名的关系:一个域名只有一个IP地址,但是一共IP地址却是可以对应多个域名的。所以,IP地址与域名是一对多的关系。
? DNS的作用:查询域名与IP地址的映射;主机别名;负载均衡(web服务器);Internet核心功能;多层命名服务器构成的分布式数据库。
? DNS服务器管辖以区为单位,而不是域。
? 域名的结构:域名的结构由标号序列组成,各标号之间用点隔开。
DNS规定,域名中标号都由英文字母和数字组成,每一个标号不超过63个字符,也不区分大小写。级别低的域名写在左边,级别高的写在右边。
在这里插入图片描述

? 三大类顶级域名:国家顶级域名nTLD(cn,us,uk等),通用顶级域名gTLD(com,net,org,gov,mil,name,pro,aero,travel等),基础结构域名(只有一个arpa,用于反向域名解析,也称反向域名)。
? 根据域名服务器所起的作用,可以划分为四种不同类型:根域名服务器,顶级域名服务器,权限域名服务器,本地域名服务器。
2)四类域名服务器(根域名服务器,顶级域名服务器,权限域名服务器和本地域名服务器)
四类域名服务器(根域名服务器,顶级域名服务器,权限域名服务器和本地域名服务器)
根域名服务器(root name server):知道所有顶级域名的映射
顶级域名服务器(TLD服务器):负责com,org,ney,cn,uk等顶级域名
权威域名服务器(local name server):属于组织的,负责组织内部服务器的解析
本地域名服务器:
主机应至少配置一个本地域名服务器
主机向本地域名服务器发送DNS查询请求报文
本地域名服务器若无法解析一个域名时,首先求助于根服务器
3)迭代与递归解析域名的方式,DNS缓存
? 主机向本地域名服务器的查询一般都是采用递归查询。
? 本地域名服务器向根域名服务器的查询通常采用迭代查询。
迭代与递归解析域名的方式:
在这里插入图片描述
DNS缓存:每个域名服务器和主机都维护一个DNS高速缓存。
查看主机DNS缓存命令:ipconfig /displaydns
清空主机DNS缓存命令:ipconfig /flushdns

2.文件传输协议FTP:FTP协议的作用,控制连接与21号端口,数据连接与20号端口,匿名FTP的三种使用方式
? FTP协议的作用:是互联网上使用最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型和格式,并允许文件具有存取的权限。基于TCP,使用C/S方式,减少或消除在不同操作系统下处理文件的不兼容性。
? 控制连接与21号端口:FTP客户使用临时端口号,用来传输控制信息,使用21号端口,发送你用户名、密码、读取文件等命令。
? 数据连接与20号端口:FTP服务器从控制连接上收到一个读取文件命令后,使用20号端口与客户端临时端口号建立一个数据连接;通过数据连接传输文件;文件传输完毕后关闭数据连接。
? FTP的服务器进程由两大部分组成:一个主进程,若干个从属进程。
? 主进程步骤:
打开熟知端口(端口号21),使客户进程能够连接上。
等待客户进程发出连接请求。
启动从属进程来处理客户进程发来的请求。
回到等待状态。
? 进行文件传输时,FTP的客户和服务器之间要建立两个并行的TCP连接:控制连接和数据连接(实际传输文件)。所以FTP的控制信息是带外传送的。
(1)控制连接
控制连接建立在客户端与服务器之间。一直保持打开。
控制连接始终等待客户端和服务器之间的通信。 并且将相关命令从客户端传送给服务器,同时将服务器的应答传送给客户端。不用来传送文件。
(2)数据连接
服务器的数据连接端使用端口20。服务器执行主动打开数据连接,通常也执行主动关闭数据连接。但是,当客户端向服务器发送流形式的文件时,则需要客户端关闭数据连接。
FTP中传输方式是流方式,并且文件结尾以关闭数据连接为标志,所以对每一个文件传输或目录列表来说,都要建立一个全新的数据连接。因此,当一个文件在客户端与服务器之间传输时,一个数据连接就建立起来了。
? FTP基于TCP、TFTP基于UDP。TFTP(简单文件传送协议)工作就像停止等待协议,TFTP只支持文件传输不支持交互,优点:可用于UDP环境;代码所占内存小。
TFTP特点:每次传送的数据报文中有512字节的数据,但最后一次可以不足512字节;数据报文按序编号,从1开始;支持ASCII码或二进制传送;可对文件进行读或写;使用很简单的首部。
? 网络文件系统NFS:允许应用进程打开一个远地文件,并能在该文件的某一个特定的位置上开始读写数据。
? 匿名FTP的三种使用方法:
利用windows系统中的ftp程序,在命令行中输入:ftp ftp服务器域名
使用web浏览器,在地址栏中输入:ftp://ftp服务器域名
使用FTP专用软件,如CuteFTP等

3. 远程终端协议TELNET
定义了数据和命令如何通过因特网,又称“终端仿真协议“。这些定义就是网络虚拟终端NVT。

**4. WWW服务:**HTTP协议的作用,URL,在浏览器的地址栏中输入一个URL后发生的报文交互情况,流水线持久连接,HTTP报文,Cookie的作用,三类web文档,搜索引擎
? 万维网(WWW: World Wide Web):是一个大规模的、联机式的信息储藏所,是一个分布式的超媒体系统。是超文本系统的扩充。
万维网使用:统一资源定位符URL,超文本传送协议HTTP超文本标记语言HTML。
? 超文本,超媒体:
所谓超文本是指包括制定其它文档的链接的文本(text)。
所谓超媒体是指出了包涵文档text之外,还包含其它表示方式的信息,如图形,图像,声音,动画,视频图像等。
? 实现万维网需要的几个必须解决的关键问题
1.怎样标志分布在整个互联网上的万维网文档?-----》URL
****URL(统一资源定为符):使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。****资源位置和访问这些资源的方法;资源地址;互联网上的所有资源,都有一个唯一的确定的URL。
URL的一般形式由一下四个部分组成:
<协议>://<主机>:<端口>/<路径>
http://localhost:8080/工程路径
2.用什么样的协议来实现万维网上的各种链接?-----》HTTP
在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。
1)对客户端和服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。
2)HTTP协议本身是无链接:为了保证数据的可靠传输,HTTP使用了面向连接的TCP作为运输层协议。因此不用考虑数据在传输过程中被丢弃后又怎样被重传。
3)HTTP协议是无状态的(stateless):服务器不记录用户是否访问过也不记录访问次数。简化了服务器的设计,是服务器更容易支持大量并发的HTTP请求。无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,那是无法取到的。
为了解决这个问题:通过Cookie;通过Session会话保存。
4)HTTP协议请求一次万维网文档所需要的时间:
3.怎样使不同作者创作的不同风格的万维网文档,都能在互联网上的各种主机上显示出来,同时使用用户清楚的知道在什么地方存在着链接?-----》HTML
超文本标记语言HTML:使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
4.怎么使用户能够很方便的找到所需的信息?
可用搜索工具在万维网上查找所需细腻些。

? HTTP协议的作用:使万维网客户程序与万维网服务器程序之间的交互遵循严格的协议,实现万维网上的各种链接,取得所需的web文档
HTTP定义了浏览器(即万维网客户进程)怎样向万维网服务器请求万维文档,以及服务器怎样把文档传送给浏览器。
HTTP使用了面向连接的TCP作为运输层协议,保证了数据的可靠传输,但HTTP协议本身是无连接的,即通信双方在交换HTTP报文前不需要建立连接。
? URL:是用来表示从互联网上得到的资源位置和访问这些资源的方法。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位,只要能够对资源定位,系统就能对资源进行各种操作,如存取、更新、替换和查找其属性等。
URL是与互联网相连的机器上的任何可访问对象的一个指针。一般由下面四个部分组成:
<协议>://<主机>:<端口>/<路径>
<协议>和<主机>不区分大小写,但路径有时候要区分大小写。
在这里插入图片描述

/规定的格式
<主机>是存放资源的主机在互联网中的域名
<端口>/<路径>有时可省略
? 使用HTTP(端口80)的URL
形式:http:// <主机>:<端口>/<路径>
? HTTP操作过程
协议本身无连接,无状态。使面向连接的TCP协议作为传输层协议,保证数据的可靠传输。
在浏览器的地址栏中输入一个URL后发生的报文交互情况:
在这里插入图片描述

流水线持久连接:
HTTP 1.1的默认选项
客户端只要遇到一个引用对象就尽快发出请求
理想情况下,收到所有对象耗时约1RTT
所需时间=文档发送时间+2RTT
在这里插入图片描述

代理服务器:网络实体,又称“万维网高速缓存“。
? HTTP报文:
HTTP有两类报文:请求报文(从客户到服务器发送请求报文)和响应报文(从服务器到客户的回答)。
报文结构:开始行,首部行,实体主体。
HTTP请求报文=请求行+首部行+空行+实体主体
HTTP响应报文=状态行+首部行+空行+实体主体
在这里插入图片描述
? HTTP请求报文的一些方法:
HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
在这里插入图片描述

? Cookie的作用:网站为识别用户身份、跟踪用户访问行为而存储在用户端的数据。主要用在身份认证,购物车,个性化推荐,隐私问题等方面上。在服务器上存放用户的信息
? 类web文档:
静态web文档
文档创建后保存在服务器中,内容不变
动态web文档
文档的内容是在浏览器访问服务器时,由服务器端的CGI程序动态创建的
活动web文档
服务器返回活动文档程序,浏览器运行该程序,活动文档的内容可连续改变
? 搜索引擎:
全文检索搜索引擎:谷歌(超链分析,核心技术:PageRankTM,网页排名),必应,百度
分类目录搜索引擎:雅虎,新浪,搜狐,网易
在这里插入图片描述

5. 电子邮件系统:电子邮件系统的组成,E-mail格式,SMTP,MIME,POP3和IMAP的区别,基于万维网的电子邮件
? 电子邮件的两个最重要的标准是:简单邮件传送协议SMTP和互联网文本报文格式。
通用因特网邮件扩充MIME。
? 电子邮件系统的组成:邮件客户端+邮件服务器+邮件传输协议(Outlook,Foxmail,web浏览器+Winmail Server U-mail+STMP,POP/IMAP)
? 电子邮件系统的组成:用户代理、邮件服务器,邮件发送协议SMTP、邮件读取协议POP3(也叫邮局协议)。
在这里插入图片描述

? 邮件地区协议POP3和IMAP。
在浏览器和互联网上的邮件服务器之间传送邮件时,仍然使用HTTP协议,但是在各邮件服务器之间传送邮件时,则仍然使用SMTP协议。
通用互联网邮件扩充MIME的作用。
? SMTP,MIME,POP3和IMAP的区别:
? SMTP协议
使用TCP,端口25,C/S,不使用中间的服务器。
传输过程的三个阶段:建立连接、邮件传送(报文传输)、连接释放。
命令响应交互模式:ASCII文本(命令)、状态代码和语句(响应)
? SMTP的缺点:
不能传送可执行文件或其他的二进制文件。限于传送7位的ASCII码;会拒绝超过一定长度的邮件;并未完全按照SMTP的标准。
MIME协议(多媒体扩展)
通过在邮件首部增加额外的行以声明MIME的内容类型
邮件读取协议POP3(看完要删除)、IMAP(保存每次简历连接)。
在这里插入图片描述
? MIME和SMTP的关系:
MIME并不改动或取代SMTP,增加了邮件主体结构,定义了传送非ASCII码的编码规则。起到中间转换作用。
在这里插入图片描述
基于万维网的电子邮件:
在这里插入图片描述
6.动态主机配置协议DHCP:DHCP的作用(IP地址,子网掩码,默认网关IP地址,默认DNS服务器IP地址),DHCP的工作过程,IP租约期,DHCP服务器的位置及DHCP中继
? DHCP的作用(IP地址,子网掩码,默认网关IP地址,默认DNS服务器IP地址):主机从DHCP服务器动态获取IP地址、子网掩码、默认网关地址、DNS服务器地址
? 优点:减少负担;安全可靠的配置;减少配置管理;
? DHCP的工作方式:支持Server内核。即插即用连网,
需要IP地址的主机广播发送DHCP DISCOVER报文(发现报文),寻找DHCP服务器;
DHCP服务器从IP地址池中选取一个IP地址,广播DHCP OFFER报文(提供报文),提供IP地址等信息给主机
? IP租约期:DHCP服务器分配给DHCP客户的IP地址的临时使用期。IP租用期的长短不固定,通常在DHCP服务器端设定

? DHCP的工作过程:
DHCP服务器在UDP 67端口监听,等待客户端的请求
DHCP从UDP68端口发送DHCPDISCOVER报文
DHCP服务器发出DHCPOFFER报文,DHCP客户端可能收到多个DHCPOFFER报文
DHCP客户从几个DHCPOFFER报文中选择其中一个,并向所选择的DHCP服务器发送DHCPREQUEST报文(请求报文)。
被选择的DHCP服务器发送DHCPACK报文(确认报文),进入已绑定状态,开始使用得到的临时IP地址。
租用期到达50%时,DHCP客户发送DHCPREQUEST报文,要求更新租用期
DHCP服务器若同意,则发回DHCPACK报文
DHCP服务器若不同意,则发回DHCPACK报文,客户须重新申请IP地址
若DHCP服务器不响应,则在租用期到达87.5%时,DHCP客户必须重新发送DHCPREQUEST报文(释放报文)
DHCP客户可随时发送DHCPRELEASE报文提前释放IP地址
在这里插入图片描述
DHCP服务器的位置及DHCP中继:
DHCP服务器可以不和主机在同一个网络,可以通过DHCP中继代理单播穿过其他网络传到DHCP服务器上
在这里插入图片描述
7. P2P应用:文件分发
在这里插入图片描述
发送Trunk原则:Tit-for-Tat
节点(Alice)向4个邻居发送Chunk:
正在向Alice发送Chunk且速率最快的4个
每10秒重新评估Top4
每30秒随机选择一个其他节点,向其发送Chunk
新节点可能成为ALICE的top4

8. 简单网络管理协议SNMP:应用程序协议,封装在UDP中
? 网络管理(网管)包括对硬件软件人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的加个满足网络的一些需求,如:实时运行性能、服务质量等。管理是为了实现预期目标进行协调活动。
? SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。
? 基于TCP/IP的SNMP由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。
SMI定义了命名对象和定义对象类型的通用规则,以及把对象和对象的值进行编码的规则。
MIB:给每个对象命名,并定义对象的类型。
一个SNMP管理的网络由下列三个关键组件组成:
网络管理系统(NMS,Network-management systems)
被管理的设备(managed device)
代理者(agent)
在这里插入图片描述
? 套接字:连接应用层和运输层,也是操作系统和应用程序之间的通信桥梁。
套接字是应用进程为了获得网络通信服务而与操作系统进行交互时使用的一种机制。

参考链接

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-25 12:00:04  更:2021-07-25 12:00:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:49:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码