万字+图片解析计算机网络应用层

本文详细介绍了动态主机配置协议DHCP的工作流程,包括DHCP服务器的参与和IP地址的动态分配,以及DNS的作用、DNS解析过程和电子邮件系统的组成部分。此外,还涵盖了FTP文件传输、SMTP和POP3邮件协议以及HTTP和万维网的相关知识。
摘要由CSDN通过智能技术生成

================

(1)、为什么需要动态主机配置协议DHCP?

如果没有动态主机配置协议DHCP,我们都是手动的给主机配置相应的信息(IP地址、子网掩码、默认网关、DNS服务器)。但是这样的话,可能会导致配置错误且工作量大。因此动态主机配置协议DHCP应运而生。

万字+图片解析计算机网络应用层

(2)、动态主机配置协议DHCP的工作过程

1. 寻找DHCP服务器过程

DHCP客户端进程向链路上发送一个DHCP发现报文(源地址为0.0.0.0,目的IP地址255.255.255.255),该报文是广播报文,从所在的网络中寻找DHCP服务器,因为只有DHCP服务器才能解析出这报文中的UDP数据报。

万字+图片解析计算机网络应用层

2. 提供IP地址租用

当DHCP服务器收到相应的发现报文后,会向链路上发送DHCP提供报文(源地址为DHCP服务器的地址,目的IP地址为255.255.255.255),该报文是广播报文。DHCP客户端进程收到相应的报文后使用ARP确保所选IP地址为被网络中其他主机占用。

万字+图片解析计算机网络应用层

3. 接受IP地址租约

收到提供报文之后,会向链路上发送DHCP请求报文(源地址为0.0.0.0,目的IP地址为255.255.255.255),该报文是广播报文,主要是向DHCP服务器说明接受IP地址租约。

万字+图片解析计算机网络应用层

4. 确认IP地址租约

DHCP服务器受到相应的DHCP请求报文后,向链路上发送DHCP确认报文(源IP地址为:该服务器的IP地址,目的IP地址为255.255.255.255),该报文是广播报文,主要是确认IP地址租约。此时DHCP客户端进程收到相应的报文后使用ARP确保所选IP地址为被网络中其他主机占用。

万字+图片解析计算机网络应用层

(3)、IP地址续约情况

1. 情况1

当相应的IP地址租用期过了一半时,DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址),该情况下,DHCP服务器向DHCP客户机发送DHCP确认报文(源地址为服务器的IP地址,目的IP地址为租用的地址),那么DHCP客户机得到新的租用期

2. 情况2

当相应的IP地址租用期过了一半时,DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址), DHCP服务器向DHCP客户机发送DHCP不确认报文(源地址为服务器的IP地址,目的IP地址为租用的地址),那么DHCP客户机立即停用相应的IP地址,重新进行动态分配过程。

3. 情况3

当相应的IP地址租用期过了一半时,DHCP客户机就会向相应的DHCP服务器发送DHCP请求报文(源地址为租用的地址,目的IP地址为服务器的IP地址), DHCP服务器对DHCP客户机不响应,且DHCP客户机的租用期到时,那么DHCP客户机立即停用相应的IP地址,重新进行动态分配过程。

三种情况图示说明

万字+图片解析计算机网络应用层

(4)、DHCP中继代理

为什么需要DHCP中继代理?

如果相应的主机和DHCP服务器不在同一个网络中的话,而发送的相关报文又是广播报文,而路由器不能转发广播报文。所以需要DHCP中继代理。

DHCP中继代理的作用

作为各计算机和相应的DHCP服务器的桥梁。

万字+图片解析计算机网络应用层

4. 域名系统DNS

===========

(1)、DNS的应用

  1. 域名到IP地址的映射

  2. ping命令

(2)、主机输入域名后所经历的过程

当在用户主机上输入URL后,主机会先在高速缓存中查找相应域名的对应IP地址,如果没有找到,那么就会向DNS域名服务器发送一个内容大致为“相应的域名所对应的IP地址是什么?”的报文给DNS域名服务器。DNS服务器收到后DNS服务器会向用户主机发送一个内容为“相应的IP地址”的响应报文。这样用户主机就可以访问相应的主机了。

万字+图片解析计算机网络应用层

(3)、因特网中是否可以使用一台DNS服务器?

这种做法不可取,因为因特网的规模很大,这样的话域名服务器会因为超负荷而无法正常工作,而且一旦域名服务器出现故障,整个因特网就会瘫痪。

(4)、域名的命名规则

采用层次树状结构的域名结构。

~. 三级域名. 二级域名 . 顶级域名

万字+图片解析计算机网络应用层

  1. 根域名服务器:根域名服务器通常并不直接对域名进行解析,而是直接返回所属顶级域名的顶级域名服务器的IP地址。

  2. 顶级域名服务器:这些域名服务器负责管理在顶级域名服务器注册的所有二级域名。

  3. 权限域名服务器:这些域名服务器负责管理某个区的域名。

  4. 本地域名服务器:本地域名服务器起着代理作用,会将该报文转发到上述的域名服务器的等级结构中。

(5)、域名解析过程

1. 递归查询

用户主机递归查询根域名服务器,根域名服务器递归查询顶级域名服务器,顶级域名服务器递归查询权限域名服务器。查询到后进行返回。

万字+图片解析计算机网络应用层

2. 迭代查询

用户主机递归查询根域名服务器,根域名服务器告诉用户主机相应的下一个访问的IP地址迭代查询顶级域名服务器,顶级域名服务器告诉用户主机相应的下一个访问的IP地址迭代查询权限域名服务器。查询到后进行返回。

万字+图片解析计算机网络应用层

递归查询会导致服务器负担太大,所以一般采用主机到本地域名服务器的查询是递归查询,而其余的是迭代查询。

3. 高速缓存

为什么要用高速缓存?

为了提高DNS的查询效率,并减轻DNS域名服务器的压力,所以使用高速缓存。

缓存的过程

如果查询到后,直接把域名和IP地址的对应关系存下来,然后再次查询相同域名的时候,直接把高速缓存的存放结果告诉用户。

万字+图片解析计算机网络应用层

主机中也可以设置高速缓存。

5. 文件传输协议FTP

=============

(1)、什么是文件传送

将某台计算机上的文件通过网络传输到很远的另一台计算机中。

(2)、文件传输协议FTP

  1. FTP提供交互式的访问,允许客户指明文件类型和格式,并允许文件具有存取权限。

  2. FTP屏蔽了各计算机的细节,因而适合于在异构网络中任意计算机之间进行传送文件。

万字+图片解析计算机网络应用层

(3)、FTP客户和服务器之间必须建立的两个连接

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

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

  3. 默认情况下,FTP使用TCP21端口进行控制连接,TCP20端口进行数据连接。

(4)、主动模式

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

万字+图片解析计算机网络应用层

(5)、被动模式

FTP客户端发起TCP连接,建立用于传输控制命令的TCP连接,有数据要传输时,FTP客户通过命令通道告知FTP服务器开启某一个临时端口号等待TCP连接,建立数据通道。

万字+图片解析计算机网络应用层

6. 电子邮件

========

(1)、电子邮件系统说明

电子邮件系统采用的是客户/服务器方式。三个主要组成构件:用户代理,邮件服务器,以及电子邮件所需的协议。

  1. 用户代理是用户与电子邮件系统的接口,又称电子邮件客户软件。

  2. 邮件服务器是电子邮件的基础设施。因特网上所有的ISP都有邮件服务器,其功能是发送和接受邮件,同时还要负责维护用户的邮箱。

  3. 协议包括邮件发送协议(SMTP)和邮件读取协议(POP3)。

(2)、常用的邮件发送协议

常用的邮件发送协议是简单的邮件传送协议SMTP。

  1. 基于TCP连接,端口号为25。

  2. 只能传送ASCII文本。

  3. 用于用户代理向邮件服务器发送邮件以及邮件服务器之间的邮件发送。

1. 存在的问题

但是只能发送ASCII文本。为解决该问题,提出了多用途因特网邮件扩展MIME。

2.多用途因特网邮件扩展MIME的工作过程

当发送方使用SMTP之前先使用MIME将非ASCII码转化为ASCII码,然后使用SMTP进行传送;当接收方接收时,MIME将报文使用MIME从ASCII码转化为非ASCII码,然后进行接收。

万字+图片解析计算机网络应用层

简单邮件传送协议SMTP的基本工作原理

  1. 刚开始的时候发送方邮件服务器(SMTP客户)向接收方邮件服务器发送14条SMTP命令,然后接收方邮件服务器(SMTP服务器)向发送方邮件服务器发送21种SMTP应答。

万字+图片解析计算机网络应用层

  1. 接收方邮件服务器向发送方邮件服务器主动推送服务器就绪应答,应答代码为220;

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方邮件服务器说明身份,告知自己SMTP服务器的域名,如果身份有效,接收方服务器发送回答代码250。

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器说明自己来自何方,如果合理,接收方服务器发送回答代码250,否则,发回其他错误代码。

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器说明自己去往何地,如果邮箱存在,接收方服务器发送回答代码250,否则,发回其他错误代码。

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器说明自己准备发送邮件内容,如果准备好接收,接收方服务器发送回答代码354,否则,发回其他错误代码。

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器说明自己邮件内容

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器发送完邮件内容,还要发送结束符,如果收件成功,接收方服务器发送回答代码250,否则,发回其他错误代码。

万字+图片解析计算机网络应用层

  1. 发送方邮件服务器向接收方服务器说明自己要断开连接,接收方服务器发送回答代码221表示接受请求并主动断开连接。

万字+图片解析计算机网络应用层

(3)、常用的邮件读取协议

  1. 邮局协议POP3:非常简单的、功能有限的邮件读取协议。用户只能以下载并删除方式或下载并保留方式从邮件服务器下载邮件到用户计算机。不允许用户在邮件服务器上管理自己的邮件。

  2. 因特网邮件访问协议IMAP:功能比POP3强大的邮件读取协议。用户在自己的计算机上就可以操作邮件服务器的邮箱,就像本地操控一样,因此IMAP是一个联机协议。

  3. POP3和IMAP4都采用基于TCP连接的客户/服务器方式。POP3使用端口110,IMAP4使用端口143。

(4)、发送邮件的大体过程

发送方的用户代理使用SMTP发送邮件给发送方邮件服务器,发送方邮件服务器使用SMTP发送邮件给接收方邮件服务器。接收方的用户代理使用POP3从接收方邮件服务器取出邮件。

万字+图片解析计算机网络应用层

(5)、基于万维网的电子邮件

通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰写、收发、阅读和管理电子邮件。这种工作模式与IMAP很类似,不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器。

这种工作模式在用户浏览器与邮件服务器网站之间使用HTTP协议,而邮件服务器之间使用SMTP协议。

万字+图片解析计算机网络应用层

7. 万维网WWW

==========

(1)、万维网简介

万维网并非某种特殊的计算机网络。它是一个大规模的、联机式的信息储藏所,是运行在因特网上的一个分布式应用。

(2)、相关流行的浏览器及其引擎

浏览器最重要的部分是渲染引擎,也就是浏览器内核。负责对网页进行解析和显示。

  1. Chrome : Blink

  2. Firefox : Gecko

  3. Safari : WebKit

  4. Opera : Blink

  5. Internet Explorer : Trident

万字+图片解析计算机网络应用层

(3)、统一资源定位符(URL)

万维网使用统一资源定位符URL来指明因特网上的任何种类资源的位置

其组成格式

<协议>://<主机>:<端口>/<路径>

(4)、万维网的文档

万维网文档的最基本的组成成分有HTML、CSS、JavaScript。

  1. HTML : 超文本标记语言HTML,使用多种标签来描述网页的结构和内容。

  2. CSS : 层叠样式表CSS,从审美的角度来描述网页的样式。

  3. JavaScript : 一种脚本语言(和Java没有任何关系),控制网页的行为。

万字+图片解析计算机网络应用层

(5)、超文本传输协议HTTP

HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器。

1.HTTP应用过程

首先浏览器向服务器建立起TCP连接,端口号为80。然后浏览器向服务器发送HTTP请求报文,服务器收到相应的请求报文后,服务器向浏览器发送HTTP响应报文。

万字+图片解析计算机网络应用层

2. HTTP/1.0

HTTP/1.0采用的是非持续连接方式。在该方式下,每次浏览器要请求一个文件都要与服务器建立TCP连接,当收到响应后立即关闭连接。

相应的缺点

  1. 每请求一个文档就要有两倍的RTT开销。如果一个网页上有很多引用对象(例如图片等),那么请求每一个对象都需要花费2RTT的时间

  2. 为了减小时延,浏览器通常会建立多个并行的TCP连接同时请求多个对象。但是,这会大量占用万维网服务器的资源,特别是万维网服务器往往要同时服务于大量客户的请求,这会使其负担很重。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行

腾讯T3大牛总结的500页MySQL实战笔记意外爆火,P8看了直呼内行
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
48193)]

[外链图片转存中…(img-GMZ2qNKJ-1713440848194)]

[外链图片转存中…(img-QMhyrZZC-1713440848194)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

[外链图片转存中…(img-Ce95IuGb-1713440848194)]

[外链图片转存中…(img-dKZoCCEe-1713440848195)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 21
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值