计算机网络--->8. 应用层

1. TCP/IP协议

  • 应用层协议有很多,每一个应用层协议对应着我们计算机上的一个服务。计算机若安装了web服务,则就要使用HTTP协议(HTTP协议就是使用TCP+80端口来标识的一个服务)

2. 域名系统DNS

  • DNS服务器的作用:负责解析域名,将域名解析为IP地址
  • 我们的计算机除了配IP地址,子网掩码,网关,还要配DNS。若DNS配置错误,或者配置的DNS服务器不工作了,导致我们输入域名后无法将域名解析为IP地址,就会上网失败(就算我们的计算机与Internet是通的,网络层没有问题,但是域名解析有问题)。域名解析是我们访问网站之前进行的。

2.1 域名

  • 互联网上的网站或者服务器它们的名称就叫做域名
  • 域名必须全球唯一
  • 完整的网站写法:www.91xueit.com.
  • 根:所以域名都是以“.”开始,这叫做“根”
  • 顶级域名:代表服务器的性质,有com edu net cn org gov等。(1)com 代表商业型服务器(2)edu代表教育型服务器(3)net代表提供信息的服务器(4)cn代表中国的服务器(5)org代表组织(6)gov代表政府部门服务器
  • 二级域名:公司、企业、个人都可以申请。 91xueit
  • 三级域名

2.2 域名检查

  • 谷歌公司域名解析服务器8.8.8.8;电信公司服务器222.222.222.222
  • nslookup可以查看到是192.168.43.1为我们的计算机提供域名解析服务,之后输入 www.baidu.com就可以查看百度官网的ip地址183.232.231.174和183.232.231.172。可见百度的服务器不仅在一台计算机上,通过这种技术可以实现网站的负载均衡。可以输入quit推出
C:\Users\Ruanc>nslookup
默认服务器:  UnKnown
Address:  192.168.43.1

> www.baidu.com
服务器:  UnKnown
Address:  192.168.43.1

非权威应答:
名称:    www.a.shifen.com
Addresses:  183.232.231.174
          183.232.231.172
Aliases:  www.baidu.com
  • 上述命令等效于 nslookup 网址
C:\Users\Ruanc>nslookup www.baidu.com
服务器:  UnKnown
Address:  192.168.43.1

非权威应答:
名称:    www.a.shifen.com
Addresses:  183.232.231.174
          183.232.231.172
Aliases:  www.baidu.com

2.3 域名注册

搜索域名注册,进入某网址后查询自己想好的域名是否已经被占用

2.4 域名解析的过程

Internet的域名解析采用的是一种分布式的查询技术

  • 首先有一个根DNS服务器
  • 根DNS服务器下面有一系列服务器,分布负责.com .net .edu .cn等
  • 根DNS服务器不负责域名解析,但它知道.COM的域名由ip地址为101的服务器负责解析;.net是由。。。
  • 负责.com .net .edu .cn的域名解析服务器知道自己的根是100
  • 比如我注册了一个91xueit.com的域名,那么服务器1上就记录着91xueit.com这个域名的IP地址
  • 当某学生计算机A访问www.91xueit.com这个网址后,若A正好给服务器1发数据包请求进行域名解析,那么服务器1会返回A域名解析的ip地址191。之后A就去访问ip地址191去了。
  • 当A输入www.inhe.net,若A还是给服务器1发数据包请求进行域名解析,但是服务器1不知道,那么服务器1就去找根服务器去了,根服务器就会告知服务器1,.net是服务器2负责的内容,这时服务器1就会要求服务器2查询inhe.net的ip地址,之后服务器2会将结果给服务器1,服务器1缓存得到的结果,再传给客户端。
  • 客户端知道域名之后,可以访问网站了,同时本地还会缓存一次,若过两分钟又访问相同的域名,就不需要再通过DNS服务器解析了
  • 没过多久,时另一个客户端也要访问www.inhe.net,给服务器1发送域名解析请求,由于服务器1刚才缓存了该域名的IP,就不用重复解析了,直接把结果给客户机。
  • 所以无论我们配置的DNS服务器指向谁,只要服务器工作正常,总能把域名解析出来
  • 其中Internet中的根DNS服务器也不是只有1个,而是10多个

2.5 安装自己内网的DNS服务器的三种场景

  • 解析内网自己的域名(内网服务器的域名可能与外界的有冲突重名)
  • 降低到Internet的域名访问流量
  • 内网有域环境,必须通过DNS找到域环境,否则无法组建域环境

3. 动态主机配置协议DHCP

该协议可以将我们的计算机网络配置好,让我们能够上网。需要有DHCP服务器,为下面的主机分配地址,下面的计算机使用这个协议来请求获得地址。所以这也是一个服务器\客户机的一个结构。

3.1 IP地址

计算机IP地址分配情况,可以使用静态的IP地址也可以使用动态的IP地址

  • 静态IP地址
    情况1:学校机房的台式机,位置基本不动,每台计算机的IP地址都是分配好的,这里一般用静态的IP地址
    情况2:机房里的各个服务器的IP地址也是固定的,这样计算机都不经常挪地方,不从一个网段移动到另一个网段

  • 动态IP地址
    情况1:学生带着笔记本电脑上课,之后又去另一个教室上课,而一个教室代表一个网段,那么两个教室里的IP地址一定不一样,这时需要一个DHCP服务器为这些笔记本分配地址,由服务器统一分配。不需要人工改,人工改地址很容易冲突。

3.2 DHCP客户端请求地址的过程

  • 某网络中有两个DHCP服务器,和一些计算机连着交换机,计算机将地址设置为自动获得,那么这些计算机就变成DHCP客户端
  • 计算机1在网上发广播请求地址(广播包目标IP地址是255.255.255.255,目标mac地址是48位二进制,全1),计算机1不知道HDPC服务器在哪,所以只能发广播包请求地址
  • DHCP服务器收到广播包后会从地址池里选一个地址给客户机:计算机1.
  • 因为会有两个DHCP服务器为计算机1提供地址,计算机1要确定选择谁,之后计算机1给选中的DHCP服务器发一个确认包,而未被选中的DHCP服务器则将地址收回,还可以给其他计算机用。
  • 被选中的DHCP服务器收到确认后将计算机1需要的ip地址、子网掩码、网关、DNS等所有设置都传给计算机1
  • 这样计算机1就获得地址了

请求地址的过程是没有认证的过程,如果这个网络中有一个人安装了一个错误的DHCP服务器,为客户机分配了一个错误的网段,那么客户机就上不了网了,因此网络中DHCP服务器的数量还要进行严格的管理

  • DHCP服务器必须是静态IP地址

3.3 DHCP服务器进行跨网段的地址分配

  • 现在计算机A、计算机B和计算机C该如何获得IP地址呢?
  • 答:一个DHCP服务器想给多少个网段分配地址就要创建多少个作用域,现在需要在DHCP服务器上创建3个作用域。当A需要创建ip地址的时候,A就在网上发广播包,但是广播包不跨网段,所以DHCP服务器接收不到。在路由器1的接口处配一个命令IP helper address 192.168.0.100(该命令的意思是当路由器收到一个广播请求,路由器会把这个广播请求变成定向,找到DHCP服务器,目标地址是DHCP服务器,源地址的路由器(网关)地址)DHCP服务器就知道这是来自192.168.3.0的地址请求,那么DHCP服务器就会从对应的作用域中选一个地址回传到路由器A,路由器1在将地址给A。
  • C请求地址也是发广播包,这时HDPC服务器发现自己收到一个广播包,则确定是本网段的计算机发的地址请求
  • 在路由器上加命令IP helper address 192.168.0.100,其实就是在这个接口上配了一个DHCP中继。
  • 网关1,2 需要配置命令IP helper address 192.168.0.100,网关3不需要
  • A在网上发广播包,问对应自己的mac地址的IP地址是多少,最终由DHCP服务器告知A,所以:
    DHCP:mac--->IP; ARP解析:IP--->mac;客户端请求IP地址的过程其实就算逆向ARP,用抓包工具抓广播包的时候,显示的是PARP

4. 文件传输协议FTP

在互联网上传输文件大多用的是FTP协议

4.1 FTP使用两个TCP连接

  • FIP客户端和FTP服务器使用的是TCP的21端口
  • TCP控制连接:用于传输文件操作命令(文件上传、下载、删除、复制等命令)
  • TCP数据连接:真正的传数据
  • TCP数据连接的建立有两种方式:主动模式和被动模式

4.2 主动模式

FTP客户端告知FTP服务器自己使用某一端口侦听,FTP服务器的20端口和FTP客户端的某一端口建立连接。

  • 准备传数据之前,客户端告知服务器,自己打开了一个端口(比如:1049端口)准备等待建立连接传数据,这时服务器会主动访问客户端的1049端口,来传数据,这就叫做主动模式(服务器发数据包,源端口20(固定),目标端口1049)。

4.3 被动模式

FTP服务器打开一个新端口,等待FTP客户端连接

  • FTP服务器告知客户端自己打开了1089这个端口来侦听客户端的请求,此时FTP客户端主动向服务器的1089端口建立连接,之后进行通信

4.4 如果FTP服务器这里,有防火墙要进行端口控制

  • 那么在主动模式下,需要在防火墙上打开21和20端口

  • 被动模式下FTP服务器会打开一个说不准的端口(1234),若有很多个客户端都要访问FTP服务器,那会导致FIP需要开很多端口(1235,1236...),会导致防火墙也开很多端口,这是不可取的.所以防火墙只能打开20端口和21端口,被动模式FTP不能下载数据

  • 综上:FTP服务器端如果有防火墙,需要在防火墙上开20和21端口,使用主动模式进行数据连接。以后访问FTP不成功,就要看一下是不是模式选择错误

  • FTP客户端和服务器传几个文件建立几个会话

5. 远程终端协议TELNET

telnet协议也是英特网的正式标准,telnet协议用于远程调控网络设备,如:路由器,交换机等。若一台计算机向通过网络将命令传输给路由器,以此实现对路由器的远程配置,这个时候就可以使用telnet协议;若A计算机window系统安装了telnet服务,那么在B计算机上发送命令给A,就可以让A执行,即远程管理。

  • telnet默认使用TCP+23端口
  • telnet命令还可以测试到远程的某个端口是否都打开了
telnet ip地址 端口号

6. 远程桌面协议RDP

  • TCP+3389端口
  • 微软的操作系统都可以启用远程桌面,启用远程桌面后,其他的计算机使用mstsc客户端进行连接,就可以对其进行远程管理
  • 还可以进行远程桌面管理

7. 超文本传输协议HTTP

http://www.91xueit.com 中的http标识通过http协议访问www.91xueit.com这个网站,

7.1 WWW的来历

  • 互联网上的网站称为万维网world wide web,提供分布式服务

  • 这些网站通过url可以互相定位查找,所以将互联网上的网站看作一个整体。(用户访问网址A,网站A上的超链接可能定位到B,B可能定位到C。。。若某个网站不在其他网站上有超链接,则用户将通过输入网址的方式访问该网站)

  • 过去:用户可以通过导航网址(早些时候有www.hao123.com将互联网上的网站进行了归类,该网站被看作访问互联网的入口),找到自己感兴趣的网站。

  • 现在:用户偏向输入关键字找到自己感兴趣的网站,这就出现了www.baidu.com,它将全球网站的域名都抓下来,放在其本地进行排序搜索。用户输入关键字,百度就会查找满足这些关键字的网页,用户选择确认之后就连接到相关网站上去了

  • 互联网上的网站被看作是一个整体,所以现在访问网站前都常常加WWW(world wide web)

7.2 万维网相关的概念

  • 浏览器:种类繁多,都是网站的客户端
  • 服务器程序:哪些程序可以做网站【2008server,2003server都可以安装IIS(internet信息服务),之后将网站部署到这些服务器上】
  • 万维网服务器:运行这些网站的硬件
  • 页面:一个网站里面有很多页面(html),一组页面组成一个网站
  • 统一资源定位符URL:URL由冒号隔开的两大部分组成,URL中对字符大小写没有要求,URL的一般格式是:<协议>://<主机>:<端口>/<路径>

7.3 一台服务器上区分不同的网站

(1)一个服务器可能会放多家公司的网站,一个服务器一个IP地址,用户访问服务器的时候访问的是同一个IP地址和同一个端口,那么服务器该如何区分用户访问的是哪一个端口呢? 答:这就涉及到网站标识的问题,由于一台服务器只有一个IP,那么可以通过不同的端口号来区分同一个服务器上不同的网站。

  • 输入http://192.168.80.66:81/ 【ip:192.168.80.66;端口号:80】可以访问该服务器上的网站1
  • 输入http://192.168.80.66:80/ 【ip:192.168.80.66;端口号:81】可以访问该服务器上的网站2
  • 综上:网站的标识可以通过不同的端口来区分。

(2)若一个服务器只有一个公网IP地址,上面的网站都用80端口,那就要使用主机头(域名)来区分

  • 对于网站1【ip:192.168.80.66;端口号:80】。可以规定访问该网站1必须通过域名www.91xueit.com来访问。现在网站1就不可以通过输入IP地址访问了,因为该网站已经指定了主机头。输入http://192.168.80.66:80就会出现错误。若不写主机头,那么网站1既可以通过ip地址访问,又可以通过域名访问。
  • 同时,若该网站还想别人通过其他的域名访问,比如www.hao.com,那么可以将该域名继续添加。
  • 一个网站可以绑定多个域名,多个域名可以指向一个IP地址

7.4 使用web代理服务器访问网站

1. web代理服务器

客户机A若要访问一个网站,可以不是直接访问该网站的服务器B,而去访问一个WEB代理,由WEB代理向服务器B要来客户要访问的网站,再传给客户.

  • 代理服务器还有缓存数据的功能,在A访问不久后,客户C若要通过代理访问同样的网站,则代理直接将刚刚缓存的网站传给C
  • 代理服务器可以决定接收哪些客户机的请求
  • 代理服务器可以决定访问哪些网站,而不访问哪些网站

2. 使用web代理服务器的几种场景

(1)节省内网访问Internet的带宽

  • 在一个学校里,如果大家上网都是直接访问internet,那么所有的流量都要经过线路AB出去,网络管理员现在若要节省AB的带宽那么可以在内外部署一个WEB代理服务器,告诉学生上网的时候指向内部代理服务器。
  • 当学生1通过代理服务器访问sina.com,代理服务器从Internet上将该网页上要回来后,学生2,3,4...若同样要访问sina.com,那么可以直接将该网页给学生2,3,4...
  • 若不希望学生直接访问internet,那么可以在路由器上设置一下,只允许代理服务器的IP地址可以访问Internet

(2)使用代理服务器可以绕过防火墙
很多FQ软件就是通过web代理来上网的

  • 计算机A是国内计算机,网站B在美国的一个WEB服务器上,国内不允许访问B,那么A可以通过一个外国web代理来访问B网站
  • 路由器会拦截A访问B(202)但是不会拦截A访问201,这样就绕过了路由器防火墙的限制

(3)使用web代理还可以避免跟踪
对于某些网站,若用户在其上发帖子,那么这些网站会记录发帖人的IP地址。若发了反动的言论,公安局会根据IP地址来查是何人发的贴子。就算是用ADSL上网,IP地址是变化的,那么电信那里都有记录,在几点几分这个IP地址分配给哪一家。但是可以使用WEB代理不让网站记录发帖人的IP地址。通过代理服务器访问网站,那么网站记录下的是代理服务器的IP。

(4)使用WEB代理一定可以加快上网速度吗?
答:看情况。比如通过国外代理访问国外网站和直接访问国外网站速度应该差不多。若通过国外的代理访问国内的网站相比于直接访问国内网站就会慢很多。但是代理服务器若是放在企业的内网,那么企业内的人的访问速度一定是快的。通过国外代理访问内网,那就很慢了。

8. 电子邮件(SMTP\POP3\IMAP)

SMTP是用于发电子邮件的协议;POP3和IMAP都是用于收电子邮件的协议

8.1 发送邮件的过程

  • 一般我们会在网上注册邮箱。用户A在QQ这儿注册了一个邮箱zhang@qq.com;用户B在银河这个网站上注册了一个邮箱wang@inhe.net.
  • 注册邮箱的时候,邮件服务器就会给我们在邮件服务器上分配一个空间。用户就会在邮局中有一个发件箱、收件箱、联系人、垃圾邮箱等文件夹。比如QQ的邮件服务器为A分配了一个空间,银河的邮件服务器为B分配了一个空间。
  • 注册邮箱之后,可以在计算机上安装邮件服务器的客户端(常见的客户端有foxmail)
  • 安装邮件客户端之后,输入账号、密码后,客户端就可以将邮局上的邮件下载到本地。

现在AB想发一封邮件

  • A打开foxmail之后,点击新建邮件,那么A的邮件就存到A的邮件服务器中A的发件箱中了

  • 收件人地址写上wang@inhe.net,那么A写完之后点击发送,

  • 由A的邮件服务器(QQ邮件服务器)来负责找B的邮件服务器(银河邮件服务器),由A的邮件服务器负责把邮件传给B的邮件服务器,并放到B的收件箱,那么A的邮件就会放到B的收件箱中
    对于A的邮件服务器要找到B的邮件服务器还需要DNS的帮助,A要查找inhe.net的服务器是谁,那A就要查找DNS上的mx(邮件交换记录)记录,这样就可以找到inhe.net下的邮件服务器。

  • B打开foxmail,登陆之后,点击收件箱后,服务器收件箱的内容就会传下来。

8.2 SMTP

在上述发邮件的过程中用到了SMTP(简单邮件传输协议);从一个邮件服务器发到另一个邮件服务器也是用的SMTP;B收邮件用的是POP3协议或者IMAP协议(IMAP协议的功能更强大)

  • 到邮件的中继,需要身份验证,若不需要则会导致中继可以传任何邮件,不安全

posted @ 2020-02-19 13:45  deer_cen  阅读(530)  评论(0编辑  收藏  举报