计算机网络 —— 应用层

Posted rainbow-ran

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络 —— 应用层相关的知识,希望对你有一定的参考价值。

技术图片

1. DNS域名解析协议

把域名解析为IP地址。

域名是给人用的,而IP地址是给机器用的,由DNS来做翻译。

  • DNS系统域结构(以www.sina.com.cn为例)

  • 整个DNS系统是由许多域所组成,每个域下又细分更多的域,DNS域构成了层次树状结构,自上而下分别是根域、顶级域名、二级域名……最后是主机名

技术图片
  • 域名结构

    • 根(.)
    • 顶级域名(com,edu,net,cn,org,gov)
    • 二级域名(inhe,baidu等,自己花钱买注册的,例如baidu.com是全球唯一的域名)
    • 三级域名(www,mail,ftp等,例如 www.mail.xueit.com)
    • 注意:xueit.com是域名,而 www.xueit.com中的www叫主机名
  • 统一资源定位符URL的构成

    • 用来表示从互联网上得到的资源位置和访问这些资源的方法

    • URL的格式:<协议>://<主机>:<端口>/<路径>

    • http://主机名 . 域名(端口号、参数、查询等可选)

    • www不是域名的组成部分,而是URL的组成部分,表示该主机所提供的服务为www服务,即Web服务器

  • 举例1:www.sina.com.cn 是个三级域名。

技术图片
  • 举例2http://zhidao.baidu.com 是个二级域名。

    http是URL中所使用的传输协议,域名是.baidu.com,主机名是zhidao,所以域名.baidu.com二级域名

  • 举例3http://kiss360.blog.163.com 是个三级域名。

    http是URL中所使用的传输协议, 域名是.blog.163.com,主机名是kiss360,所以域名.blog.163.com三级域名

  • ping或nslookup能得到IP地址。或者直接输入网址。

  • 安装自己的DNS服务器:

    • 解析内网域名
    • 降低到Internet的域名解析流量
    • 域环境

2. DHCP动态主机配置协议

负责给互联网上的计算机提供动态的IP地址。

  • 连接到因特网的计算机都需要配置以下几个项目:

    • IP 地址
    • 子网掩码
    • 默认路由器的 IP 地址即网关
    • 域名服务器的 IP 地址
  • IP地址获取方式有两种,一种静态IP,一种动态IP。

  • DHCP客户端请求IP地址的过程:UDP广播(IP与MAC全为1)

  • DHCP的服务器必须是固定地址

  • 静态IP是人工自己指定的,一般公司自己组建的局域网、学校机房的固定的计算机、机房服务器、互联网上的大型服务器,凡是位置固定不动的,都用静态IP地址。

  • 动态IP地址是用DHCP服务器来分配的地址,适用于计算机位置不固定、家庭拨号上网等情况。可以避免产生IP地址冲突。

  • DHCP客户端请求IP地址的过程(逆arp协议,即rarp协议)

  • 计算机主动申请租约和释放租约的命令:

    • 申请租约 ipconfig /renew
    • 释放租约 ipconfig /release

3. FTP文件传输协议

  • FTP连接方式

    • 控制连接:标准端口为21,用于发送FTP命令信息。
    • 数据连接:标准端口为20,用于上传、下载数据。
  • 客户端选择数据连接的建立类型

    • 主动模式:FTP客户端告诉FTP服务器使用什么端口,FTP服务器就主动用自己的20端口和FTP客户端的这个端口建立连接。FTP服务一般都使用主动模式。
    • 被动模式:服务端在指定范围内打开一个新的端口,被动等待客户端发起连接。
  • FTP传输模式

    • 文本模式:ASCII模式,以文本序列传输数据
    • 二进制模式:Binary模式,以二进制序列传输数据

4. Telnet远程终端协议

默认使用TCP的23端口。

实验:使用telnet远程配置另一台计算机。
首先在被控制的远程计算机上打开telnet服务(注意一定要打开23端口)。然后在本地计算机命令行里输入telnet 对方IP地址 ,再输入远程计算机上的一个用户名和密码就可以连过去了。此时就可以在命令行里输入各种命令来控制对方。
net user han a1! 更改用户密码(用户名han,密码a1!)
net user han a1! /add 添加用户
net user han /del 删除用户
net localgroup administrators han /add 添加用户han到管理员组

Win7默认不开telnet,怎么打开呢?
控制面板 -> 程序 -> 打开或关闭windows功能 -> 勾选telnet客户端(控制别人)或者telnet服务器(被控制)

Telnet命令还有一个功能,用来测试远程的计算机的某个端口是否打开。
telnet 192.168.8.10 445 测试计算机10的445端口是否打开

5. RDP远程桌面协议

使用TCP的3389端口。

它和远程终端协议的功能一样,都是为了远程管理另一台计算机,只不过上面那个telnet通过命令行管理,而这个通过图形界面管理。一般用来远程管理服务器。

6. HTTP超文本传输协议

使用TCP的80端口。

定义浏览器怎么向万维网服务器请求万维网文档,以及服务器怎么把文档传送给浏览器;是面向事物的应用层协议

  • HTTP的主要特点:

    • HTTP本身是无连接的:虽然使用TCP连接,但通信双方在交换HTTP报文前不需要建立HTTP连接

    • HTTP是无状态的:同一个客户第二次访问同一服务器上的页面时,服务器的响应与第一次被访问时相同

    • 请求一个万维网文档所需时间:是该文档的传输时间+两倍往返时间RTT

    • HTTP/1.0的主要缺点:每请求一个文档就要有两倍的RTT的开销;这种非持续连接会使万维网服务器负担很重

    • HTTP/1.1的改进:使用了持续连接;服务器在发送响应后仍在一段时间内保持连接,使同一个客户能继续在这条连接上传送后续HTTP请求报文和响应报文

    • HTTP/1.1持续连接的两种工作方式:

      • 非流水线方式:客户在收到响应报文之后才能继续发送
      • 流水线方式:客户收到响应报文之前也可以继续发送
  • 标识网站:地址/端口/域名

  • 一机多站,最好靠域名来标识

  • 使用代理服务器访问网站好处

    • 节省内网访问Internet的带宽,加快上网速度
    • 通过Web代理绕过防火墙

7. SMTP、POP3、IMAP电子邮件相关协议

  • SMTP:发送邮件
  • POP3和IMAP:接受邮件

习题

一:

假定要从已知的URL获得一个万维网文档,若该万维网服务器的IP地址开始不知道。问除HTTP外,还需要什么应用层协议和运输层协议?

解:DNS->UDP(解析IP地址),HTTP->TCP(访问万维网文档)

二:

当点击一个万维网文档时,若该文档除了有文本外,还有一个本地gif图像,和两个远地gif图像,试问:需要使用哪个应用程序,以及需要建立几次UDP连接和几次TCP连接?

解:HTTP/1.0:建立4次TCP连接,不需要UDP;HTTP/1.1:建立1次TCP连接,不需要UDP

参考博客:

https://blog.csdn.net/weixin_43093481/article/details/86684129

https://blog.csdn.net/qq_28785209/article/details/79335555








以上是关于计算机网络 —— 应用层的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

jQuery应用 代码片段

Android:向活动添加片段

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段