计算机网络应用层(期末、考研)

news2024/11/16 1:45:22

计算机网络总复习链接🔗

目录

  • DNS
    • 域名服务器
    • 域名解析过程分类
      • 递归查询(给根域名服务器造成的负载过大,实际中几乎不用)
      • 迭代查询
    • 域名缓存(了解即可)
    • 完整域名解析过程
    • 采用UDP服务
  • FTP
    • 控制连接与数据连接
  • 电子邮件
  • 万维网WWW
    • HTTP
  • 本章小结及疑难点

DNS

域名服务器

在这里插入图片描述

  • 根域名服务器:ICANN机构维护着一张根域名列表,里面记载着顶级域名服务器地址和对应的托管商,全世界有13个根服务器。
  • 顶级域名服务器:管理该顶级域名服务器注册的所有二级域名。
  • 权限域名服务器:负责一个区的域名服务器。按照上面的逻辑,权限域名服务器应该是管理注册在二级域名下的所有三级域名的,但实际不是这样的,如果一个二级域名或者一个三级域名对应一个域名服务器则域名服务器的数量会很多,我们需要使用划分区的办法来解决这个问题。
  • 本地域名服务器:本地域名服务器是电脑解析时的默认域名服务器,即电脑中的设置的首选DNS服务器和备选DNS服务器。

域名解析过程分类

  • 迭代就是A请求B,B告诉A去找C,但是B不会去找C。
  • 递归就是A请求B,那么最后一定是B把答案告诉A,B亲自去访问C。

递归查询(给根域名服务器造成的负载过大,实际中几乎不用)

在这里插入图片描述

迭代查询

在这里插入图片描述

域名缓存(了解即可)

  • 计算机中的DNS记录在本地有两种缓存方式:浏览器缓存和系统缓存。
  • 浏览器的缓存过期时间比较短,Chrome的过期时间是1分钟。
  • 系统缓存是存放在C:\Windows\System32\drivers\etc\hosts中。Windows默认开启DNS缓存服务。
  • 使用命令ipconfig /displaydns可以查看本地缓存。
  • 在浏览器中进行访问的时候,会优先查询浏览器缓存,如果未命中则继续查询操作系统缓存,最后再查询本地域名服务器,然后本地域名服务器会递归的查找域名记录,最后返回结果。主机与本地域名服务器之间的查询方式是递归查询。

完整域名解析过程

在这里插入图片描述

  1. 首先搜索浏览器的DNS缓存,缓存中维护一张域名与IP的对应表。
  2. 若没有命中则继续搜索操作系统的DNS缓存。
  3. 没有命中则操作系统将域名发送至本地域名服务器,本地域名服务器查询自己的DNS缓存。
  4. 没有命中则本地域名服务器向根域名服务器发送请求,根域名返回顶级域名服务器对应IP地址,本地域名服务器向顶级域名服务器发送请求获取权限域名服务器,本地域名服务器向权限域名服务器发送请求,最终得到该域名对应的IP地址。
  5. 本地域名服务器将IP返回给操作系统,同时建立缓存。
  6. 操作系统将IP地址返回给浏览器,同时建立缓存。
  7. 浏览器得到域名对应IP,同时也将IP地址缓存起来。

采用UDP服务

  • DNS采用客户/服务器模型,其协议运行在UDP之上。

FTP

  • FTP文件传输协议提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限,并允许文件具有存取权限。
  • FTP采用TCP可靠的传输服务,一个TCP服务器进程可同时为多个客户进程提供服务。
  • 工作步骤如下:
    1. 打开熟知端口21(控制端口),使客户进程能够连接上。
    2. 等待客户进程发送连接请求。
    3. 启动从属进程来处理客户进程发来的请求。主进程与从属进程并发执行,从属进程对客户进程的请求处理完毕后即终止。
    4. 回到等待状态,继续接受其他客户进程的请求。
  • FTP服务器必须在整个会话期间保留用户的状态信息。特别是服务器必须把指定的用户账户与控制连接联系起来,服务器必须追踪用户在远程目录树上的当前位置。

控制连接与数据连接

  • FTP在工作时使用两个并行的TCP连接,一个是控制连接(端口号21),一个是数据连接(端口号20).使用两个不同的端口号可使协议更加简单和更容易实现。
  1. 控制连接。服务器监听21号端口,等待客户链接,建立在这个端口上的连接成为控制连接。控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCII格式传送。FTP客户发出的传送请求,通过控制连接发送给服务器的控制进程,但控制连接并不用来传送文件。
  2. 数据连接。通过20端口和客户端开放的端口连接,发送数据。
  • 控制连接始终保持,数据连接保持一会。
  • 是否使用TCP20端口建立数据连接与传输模式有关,主动方式使用TCP20端口,被动方式由服务器和客户端自行协商决定(端口>1024)。

电子邮件

电子邮件系统最主要的组成构件

万维网WWW

HTTP

本章小结及疑难点

  1. 如何理解客户进程端口号与服务器进程端口号?
  2. 互联网、因特网和万维网的区别是什么?
  3. 域名的高速缓存是什么?
    每个域名服务器都维护一个高速缓存,存放最近通过的名字以及从何处获得名字映射信息的记录,可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,减少此时间值可以提高域名转换的准确性。

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

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

相关文章

LLM之Prompt(三)| XoT:使用强化学习和蒙特卡罗树搜索将外部知识注入Prompt中,性能超过CoT,ToT和GoT

​论文地址:https://arxiv.org/pdf/2311.04254.pdf 一、当前Prompt技术的局限性 LLM使用自然语言Prompt可以将复杂的问题分解为更易于管理的“thought”可以回复用户的问题。然而,大多数现有的Prompt技术都有局限性: 输入输出(I…

centos7服务器上的文件上传到谷歌云盘(google drive)

1,下载gdrive客户端,Releases glotlabs/gdrive GitHub 2,下载完解压,并移动到cp gdrive /usr/local/bin/ 3,查看是否安装成功 4,添加账户,gdrive account add 根据链接,创建Client id和 Client secret 5,填写Client…

HarmonyOS(ArkTS)基础组件参数 媒体类型讲解

我们这里做了一个空的容器 然后 我们可以这样写 Entry Component struct Index {build() {Row() {Column() {Text("你好")Divider()Button("点击")}.width(100%)}.height(100%)} }这里 我们分别使用了三个组件 Text文本组件 Divider分割线组件 Button按钮…

【通俗易懂】基于fabric8io操作k8s集群实战(pod、deployment、service、volume)

目录 前言一、基于fabric8io操作pod1.1 yaml创建pod1.2 fabric8io创建pod案例 二、基于fabric8io创建Service(含Deployment)2.1 yaml创建Service和Deployment2.2 fabric8io创建service案例 三、基于fabric8io操作Volume3.1 yaml配置挂载存储卷3.2 基于fa…

智能优化算法应用:基于乌鸦算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于乌鸦算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于乌鸦算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.乌鸦算法4.实验参数设定5.算法结果6.参考文献7.MA…

go http服务接收POST请求文件同时接收自定义参数

以gin框架为例,其它框架功能都有,大同小异。 gin中接收文件的方式如下: 单个文件 file : c.FormFile("file") 多个文件 form, err : c.MultipartForm() files : form.File["uoload[]"] 此时files就是所有发来的文件…

JS实现日历表

有需要的可以用一下&#xff0c;这是一个简单的demo. HTML&#xff1a; <table><thead><tr><th colspan"2"><span class"left"></span></th><th colspan"3"><span class"time"&g…

积木艺术化佳乐专用五万颗花型艺术积木诠释东方之美

12月11日,为期四天以“惊喜AMAZE”为主题的2023广州设计周圆满落幕!KALOS BLOCKS佳乐专凭借优秀的产品设计与场馆设计,开展四天,流量爆棚,圈粉无数,在设计周展馆中C位出道,获得现场观众和众多设计师的一致好评! 以梅花之形,现东方之美—— 一次唤醒艺术升维的仪式感一次东方美学…

【数学建模】《实战数学建模:例题与讲解》第九讲-时间序列分析(含Matlab代码)

【数学建模】《实战数学建模&#xff1a;例题与讲解》第九讲-时间序列分析&#xff08;含Matlab代码&#xff09; 基本概念确定性时间序列分析方法平稳时间序列模型ARIMA模型季节性序列 习题8.11. 题目要求2.解题过程3.程序4.结果 习题8.21. 题目要求2.解题过程3.程序4.结果 习…

Qt/C++音视频开发59-使用mdk-sdk组件/原qtav作者力作/性能凶残/超级跨平台

一、前言 最近一个月一直在研究mdk-sdk音视频组件&#xff0c;这个组件是原qtav作者的最新力作&#xff0c;提供了各种各样的示例demo&#xff0c;不仅限于支持C&#xff0c;其他各种比如java/flutter/web/android等全部支持&#xff0c;性能上也是杠杠的&#xff0c;目前大概…

数字图像处理(实践篇)二十五 使用hyperlpr3进行车牌识别

目录 1 HyperLPR 2 中文字体文件下载 3 实践 1 HyperLPR HyperLPR是一个基于Python的使用深度学习针对对中文车牌识别的实现,与开源的EasyPR相比,它的检测速度和鲁棒性和多场景的适应性都要好于EasyPR。 HyperLPR3是一个高性能开源中文车牌识别框架。

leetcode-138-随机链表的复制(Java实现)

题目&#xff1a; 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对应的原节点…

【Netty】Socket与I/O模型

目录 Socket网络编程Socket概述Socket整体流程代码实现 I/O模型说明BIO(同步并阻塞)NIO(同步非阻塞)AIO(异步非阻塞)BIO、NIO、AIO适用场景 Socket网络编程 Socket概述 Socket&#xff0c;套接字就是两台主机之间逻辑连接的端点。TCP/IP协议是传输层协议&#xff0c;主要解决…

免费分享一套Springboot+Vue前后端分离的校园二手交易平台,挺漂亮的

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringbootVue前后端分离的校园二手交易平台&#xff0c;分享下哈。 项目视频演示 【免费】SpringbootVue校园二手交易平台系统 毕业设计 Java毕业设计_哔哩哔哩_bilibili 项目介绍 校园二手交易网站是一…

100V耐压 内置MOS ESOP8 40V输入 转5V 2.1A恒压输出

100V耐压内置MOS ESOP8 40V输入转5V 2.1A恒压输出 芯片测试数据如下图&#xff1a;

C#中简单的继承和多态

今天我们来聊一聊继承&#xff0c;说实话今天也是我第一次接触。 继承的概念是什么呢&#xff1f;就是一个类可以继承另一个类的属性和方法&#xff08;成员&#xff09; 继承是面向对象编程中的一个非常重要的特性。 好了&#xff0c;废话不多说&#xff0c;下面切入正题&a…

@SpringBootApplication自动配置原理剖析

SpringBootApplication自动配置原理剖析 自动配置: 根据我们添加的依赖,会自动将一些配置类的bean注册进ioc容器中,可以使用Autowired或者Resource等注解来使用它。 1.1 SpringBootApplication Spring Boot项目创建完成会默认生成一个Application的入口类(启动类),命名规则a…

推荐一些跨平台的比较优秀的翻译服务(软件或平台)

因为编程及查阅资料需要频繁的查阅英文&#xff0c;推荐一些跨平台的比较优秀的翻译服务&#xff08;软件或平台&#xff09; 1、DeepL Translate (https://www.deepl.com/translator) 这是一款基于机器翻译的在线翻译软件。win、安卓、Linux、IOS上都有可用的版本也可以基于w…

Android12编译kernel4.9解决:scripts/gcc-wrapper.py, line 79, in run_gcc(一百六十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

《数据结构、算法与应用C++语言描述》-最大高度优先左高树-C++实现

左高树 完整可编译运行代码见&#xff1a;Github::Data-Structures-Algorithms-and-Applications/_26maxHblt 定义 (大顶堆和小顶堆)堆结构是一种隐式数据结构(implicit data structure)。用完全二叉树表示的堆在数组中是隐式存储的(即没有明确的指针或其他数据能够用来重塑…