计算机网络 —— 应用层
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 是个三级域名。
-
举例2:http://zhidao.baidu.com 是个二级域名。
http是URL中所使用的传输协议,域名是.baidu.com,主机名是zhidao,所以域名.baidu.com是二级域名
-
举例3:http://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