当前位置: 首页 > news >正文

【计算机网络】个人学习笔记——第六章 应用层:域名系统DNSWWW万维网FTPHTTPSMTPPOP3DHCP

文章目录

  • 第六章 应用层
    • 一、应用层概述
      • 1.应用层的功能
      • 2.应用层的重要协议
      • 3.应用层的常见模型
    • 二、域名系统DNS【重点】
      • 1.DNS域名解析系统概述
      • 2.域名结构
      • 3.域名类型
      • 4.域名服务器
      • 5.域名解析方式
      • 6.域名查询过程的理解
    • 三、文件传输协议【重点】
      • 1.文本传送协议FTP
      • 2.简单文件传送协议TFTP
    • 四、WWW万维网和HTTP【重点】
      • 1.万维网概述
      • 2.统一资源定位符URL
      • 3.超文本传送协议HTTP
      • 4.超文本标记语言HTML
      • 5.万维网的信息检索系统
      • 6.万维网必须要解决的四个问题
    • 五、电子邮件【重点】
      • 1.邮件系统的构成
      • 2.用户代理
      • 2.简单邮件传送协议SMTP
      • 3.邮件读取协议POP3和IMAP
      • 4.内容传送编码
    • 六、DHCP动态主机配置协议
      • 1.连接到互联网的计算机的协议软件需要配置的项目
      • 2.动态主机配置协议DHCP
    • 七、【补充】远程终端协议TELNET(又称终端仿真协议)

第六章 应用层

一、应用层概述

  • 1.应用层的功能

    • 文件传输、访问和管理
    • 电子邮件
    • 虚拟终端
    • 查询服务和远程作业登录
  • 2.应用层的重要协议

    • FTP
    • SMTP,POP3
    • HTTP
    • DNS
  • 3.应用层的常见模型

    • C/S模型(客户端/服务器模型)
      在这里插入图片描述

    • P2P模型(point to point点对点模型)
      常见于文件共享技术,每个节点即充当客户端也是服务端
      在这里插入图片描述

二、域名系统DNS【重点】

  • 1.DNS域名解析系统概述

    为了便于记忆网站,而不是背一串IP地址,我们给每一个网站都准备了一个“名字”,IP地址更像是网站的身份证号。我们平时在称呼对方的时候总不能称呼人家的身份证号吧。而DNS域名系统的作用就像是把名字解析成对应身份证号,使你能精准的找到那个唯一确定的目标。
  • 2.域名结构

从右到左依次是顶级域名、二级域名、三级域名…
在这里插入图片描述

  • 3.域名类型

    域名中的标号都由英文字母和数字组成,每一个标号不超过63个字符(最好不超过12),且不区分大小写。完整域名最多不超过255个字符。

    • 国家顶级域名(如.cn表示中国,.us表示美国)

    • 通用顶级域名
      常用的有com,org,info,gov
      在这里插入图片描述

    • 基础结构域名:只有唯一一个,arpa,用于反向域名解析,所以基础结构域名也叫做反向域名

    • 我国的二级域名分类
      在这里插入图片描述

    • 互联网域名结构树
      在这里插入图片描述

  • 4.域名服务器

    • 根域名服务器:最高层次的域名服务器,最重要的域名服务器。所有根域名服务器都知道所有顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器无法解析,都要首先求助根域名服务器。根域名服务器采用任播技术,因此用户能够就近找到一个根域名服务器进行解析。
    • 顶级域名服务器:负责管理在该顶级域名服务器注册的二级域名。解析时可能给出结果,也可能是告诉你下一步该找哪个服务器。
    • 权限域名服务器:负责一个区域的域名服务器。
    • 本地域名服务器:第一步解析都是先本地。每个互联网服务提供商ISP或者一个大学甚至一个系都会有一个本地域名服务器,一般离用户是最近的,不超过几个路由器的距离。
  • 5.域名解析方式

在这里插入图片描述

- 递归查询:主机向本地域名服务器查询的时候一般使用递归
- 迭代查询:本地域名服务器向根域名服务器查询的是偶一般用迭代
  • 6.域名查询过程的理解

    域名查询一般从本地域名服务器开始,主机会先查本地,本地查不到就直接上根域名问,根域名一般不能直接告诉你IP是多少,但是根域名服务器知道你下一步该找哪个顶级域名服务器问,而顶级域名服务器也可能没办法直接告诉你目标IP,但是顶级域名服务器知道你下一步应该找哪个权限域名服务器。
    以现实举例:你是一个群众,有事先找本地机关,解决不了你就直接上到国务院。国务院不知道你这个小事情要怎么搞,但他知道每个省省长的名字,会给你个具体联系方式,让你去找主管省长。省长也可能不知道这个小事情具体谁在落实,但他知道每个市市长的名字,他会告诉你下一步找哪个市长,让你找到主管这个事情的市长。域名解析大概就是这个过程。

三、文件传输协议【重点】

  • 1.文本传送协议FTP

    • FTP文本传送协议基于TCP连接和C/S客户端到服务端模型实现。
    • 一个FTP服务器进程可以同时为多个客户进程提供服务。
    • FTP服务器进程由一个负责接收新请求的主进程和若干个用于具体处理单个请求的从属进程组成
    • 进行工作时,FTP的客户与服务器之间要存在两个并行的TCP连接。一个是数据连接,一个是控制连接。
    • 和下面的TFTP的共同特点就是传送的文件都是副本,要复制整个文件,修改也是针对副本进行的。
  • 2.简单文件传送协议TFTP

    • 采用UDP用户数据报
    • 每次传送的数据报文中有512字节的数据(最后一次传送可以不满512),且每个报文从1开始按序编号
    • 支持ASCII码和二进制传送
    • 可以对文件读写
    • 使用很简单的首部
    • 工作原理与停止等待协议类似

四、WWW万维网和HTTP【重点】

  • 1.万维网概述

    • 万维网WWW(Word Wide Web)简称Web。是大规模、联机式的信息储藏所。
    • 以链接(超链)的方式将各个站点连接起来,实现了访问的便捷
    • 万维网提供分布式服务,是一个分布式超媒体系统,是超文本系统的扩充。
    • 万维网基于C/S模型,即客户-服务器方式工作
    • 客户端向服务器端发送请求,服务器端返回给客户端万维网文档,也就是HTML页面
  • 2.统一资源定位符URL

    在这里插入图片描述

    • 所有万维网上的资源都有一个唯一确定的URL

    • URL由四部分组成:协议://主机名:端口/路径
      在这里插入图片描述

    • 主机名通常是万维网文档存放的主机的域名,通常以WWW开头,但通常可以省略

    • 端口号和协议也通常可以省略

    • 协议和主机名的字母不区分大小写,但路径的字符有时需要区分大小写

  • 3.超文本传送协议HTTP

    在这里插入图片描述

    • HTTP超文本传送协议是面向事务的应用层协议。

    • HTTP是无状态的。同一个客户第二次访问同一个服务器上的页面是,服务器的响应与第一次相同。即服务器不记得曾经谁访问过,也不记得为该用户提供了多少次服务

    • HTTP是面向文本的,报文中的每个字段都是一些ASCII码字符串。HTTP报文分为请求报文和响应报文两种。其组成相同,都由三部分组成:开始行,首部行和实体主体
      在这里插入图片描述

    • 响应报文的常见状态码(常见的就是什么404)
      在这里插入图片描述

  • 4.超文本标记语言HTML

HTML不是应用层的协议,只是用于万维网浏览器的一种语言

  • 5.万维网的信息检索系统

    • 全文检索搜索与分类目录搜索
    • 用来搜索资源的工具称为搜索引擎,分为全文检索搜索引擎和分类目录搜索引擎
  • 6.万维网必须要解决的四个问题

    • 如何标识分布在整个互联网上的万维网文档(URL)
    • 用什么协议来实现万维网上的各种连接(HTTP)
    • 怎样使不同创作者的不同风格的万维网文档都能在互联网上的各种主机上显示,同时使用户清楚什么地方存在链接(HTML)
    • 怎样使用户能够很方便地找到所需的信息(搜索引擎)

五、电子邮件【重点】

  • 1.邮件系统的构成

    • 用户代理

    • 邮件服务器
      TCP/IP体系规定的电子邮件地址格式如下

    • 邮件协议

      • 邮件发送协议SMTP
      • 邮件读取协议POP3和IMAP
  • 2.用户代理

    用户代理又称UA(User Agent),是电子邮件客户端软件。比如Foxmai,QQ邮箱,网易邮箱。用户代理应该至少具有以下4个功能

    • 撰写
    • 显示
    • 处理
    • 通信
  • 2.简单邮件传送协议SMTP

    SMTP规定了两个相互通信的SMTP进程之间应该如何交换信息,采用的是C/S方式。发送邮件的进程就是客户端,接收邮件的进程就是服务器端。其工作过程如下(这些工作过程是用户不可见的)

    • 建立连接:SMTP的连接是TCP连接,是直接与接收方的SMTP服务器建立的,不使用中间服务器。不管发送方和接收方距离多远,不管需要途径几个路由器,TCP连接都是只在发送方和接收方的两个邮件服务器之间直接建立。
    • 邮件传送
    • 释放连接
      用户在浏览器中浏览各种信息的时候通常使用的是HTTP协议,在浏览器与互联网那个上的邮件服务器之间传送邮件的时候仍然使用的是HTTP,但如果是邮件服务器之间则使用的是SMTP
  • 3.邮件读取协议POP3和IMAP

    POP3是邮局协议第三版,IMAP是网际报文存取协议,二者均用于邮件的读取。

    • POP3有阅后即焚的特点,如果用户从POP3服务器读取了这封邮件,服务器端就会把这个邮件删除。
    • IMAP的最大好处就是没有设备限制,可以在不同地点使用不同计算机随时处理自己在邮件服务器中的邮件。IMAP协议规定如果用户没有手动将邮件复制到本地,则会一直存放在服务器中,即用户需要先联网才能读取邮件。
  • 4.内容传送编码

    在这里插入图片描述

    • ASCII码:查表转换即可

    • quoted-prinable编码:对所有可打印的ASCII码,除了特殊字符“=”以外,都不改变。“=”和不可打印的ASCII码以及非ASCII码数据的编码方式是——现将每个字节的二进制代码用两个十六进制数来表示,然后再在前面加上一个等号。

      • 如何通过看一个二进制数来判断是不是ASCII码能表示的字符呢?ASCII码只有0~127,也就是对于一个字节来说,肯定是以0开头的,如果是以1开头的,数值上就是128了,超过了ASCII码的表示范围
      • 什么叫每个字节的二进制数用两个十六进制来表示呢?一个字节8位二进制数,对半开,左边四个写成一个16进制数,右边四个写成一个十六进制数即可
    • Base64编码:将24位二进制代码划分成4个6位组,再分别用Base64字符集来表示,最后以ASCII编码发送

      • Base64字符集:从0开始排序,排列顺序为大写字母AZ,小写字母az,数字0~9,字符“+”,“/”。
      • 示例
        在这里插入图片描述
    • 例题
      在这里插入图片描述在这里插入图片描述

六、DHCP动态主机配置协议

  • 1.连接到互联网的计算机的协议软件需要配置的项目

    • IP地址
    • 子网掩码
    • 默认路由器的IP地址
    • 域名服务器的IP地址
  • 2.动态主机配置协议DHCP

    DHCP提供了一种即插即用联网的机制,采用的也是C/S客户服务器模式。工作过程大致如下
    • 需要IP地址的主机再接入互联网的时候就发送一个广播信息,称作发现报文(让DHCP服务器发现你的存在,将IP地址设置为全1,即255.255.255.255),这是因为你刚接入网络时并不知道DHCP服务器在哪。
    • DHCP服务器接收到这个广播信息以后,会以单播的形式回应,发送一个提供报文(给客户端提供配置信息),表示“提供”了配置信息。DHCP服务器会先在数据库中查找该计算机的配置信息,如果有则直接返回,如果没有则在IP地址池中取一个地址返回给该主机
    • 请求方收到单播信息并完成配置后即可正常联网。

七、【补充】远程终端协议TELNET(又称终端仿真协议)

TELNET也是采用的C/S客户服务器模型,其为了适应不同计算机和操作系统之间的差异,TELNET协议引入了网络虚拟终端NVT的概念。

相关文章:

  • 解除网站IP抓取限制的方法有哪些?
  • 手动/自动部署项目
  • 亚马逊选品工具分析
  • 哈希经典题目(C++)
  • Qt C++ TCP服务端响应多客户端通讯
  • 深入 C++ 实践:如何在完全不改变已有模块架构的情况下,二次封装接口给外部模块使用
  • 【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 多段线路径压缩(100分)- 三语言AC题解(Python/Java/Cpp)
  • python项目在日志中 打印出详细的请求参数和返回的响应
  • 观成科技:基于深度学习技术的APT加密流量检测与分类检测方案
  • 任务倒计时App
  • 公司面试题总结(二)
  • BC C language
  • 【运维】Ubuntu换硬盘扩容
  • web刷题记录(5)
  • Python网络爬虫4-实战爬取pdf
  • 【技术性】Search知识
  • Angular 响应式表单之下拉框
  • conda常用的命令
  • Django 博客开发教程 16 - 统计文章阅读量
  • ERLANG 网工修炼笔记 ---- UDP
  • hadoop集群管理系统搭建规划说明
  • iOS 颜色设置看我就够了
  • JAVA 学习IO流
  • Joomla 2.x, 3.x useful code cheatsheet
  • Js基础知识(四) - js运行原理与机制
  • Mysql5.6主从复制
  • npx命令介绍
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云前端周刊 - 第 26 期
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 基于组件的设计工作流与界面抽象
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 如何用vue打造一个移动端音乐播放器
  • 使用common-codec进行md5加密
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 写给高年级小学生看的《Bash 指南》
  • AI算硅基生命吗,为什么?
  • Linux权限管理(week1_day5)--技术流ken
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​如何使用QGIS制作三维建筑
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ## 1.3.Git命令
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2.2w字)前端单元测试之Jest详解篇
  • (2015)JS ES6 必知的十个 特性
  • (C语言)共用体union的用法举例
  • (八)Flask之app.route装饰器函数的参数
  • (附源码)计算机毕业设计高校学生选课系统
  • (回溯) LeetCode 131. 分割回文串
  • (七)glDrawArry绘制
  • (五)MySQL的备份及恢复
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)程序员技术练级攻略