应用层常见协议

  1. DNS
    DNS全称是域名系统,整个网络架构是采用分布式的域名系统。
    主要是用作将域名转换成IP地址,www.baidu.com,获取服务器IP地址。
    解析过程如下:
    1.UDP承载DNS解析报文,在本地域名服务器上查找相应的ip地址,找到了就返回报文,进程获得目的主机的ip地址之后进行通信,若本地域名服务器中找不到相应的IP地址,则将本地域名服务器作为DNS客户端,向其他服务器发出解析请求,直到能够找到响应该请求的服务器。这是一个递归过程。
    2.本地域名服务器如果存有顶级域名服务器的IP则,直接向顶级域名服务器发起DNS解析报文,如果没有,则向根域名服务器发起DNS解析报文;如果上级服务器能够找到域名对应的IP则,返回,如果找不到,会告诉本地域名服务器下一个应该询问的服务器的是谁;对于本地域名服务器来说,这个问询过程是一个迭代过程。
    面试中经常被问到的一个问题是,从输入URL到页面加载完成的过程中都发生了什么?
    过程概述:
    1. 浏览器根据域名解析出目的服务器对应的IP
      1. 首先根据域名在本地主机的缓存中查找是否有与之对应的IP地址,没有,则向本地域名服务器发起DNS请求;
      2. 如果我在学校接入互联网,那么此时的本地域名服务器就在学校,大部分情况下能够查找成功,会返回相应的响应报文;
      3. 如果查找失败,会向根域名服务器发起请求,根域名服务器一般存储各个顶级域名服务器的IP,例如,它会有.com对应服务器的IP;
      4. 然后本地域名服务器向顶级域名服务器发起DNS请求,迭代查询,知道找到对应的IP;
        注意,DNS请求是通过UDP承载的。
    2. 根据IP地址与服务器建立socket连接
      1. 知道了IP地址,就可以与服务器通过三次握手建立TCP连接,三次握手过程中,若一方收不到确认信号,协议会要求重新发送信号;
    3. 浏览器与服务器通信:浏览器发送http报文,服务器处理http报文
      1. 连接建立之后,主机就可以与服务器进行通信,网页请求是一个单向请求的过程;
      2. 浏览器根据url生成http请求,http报文中包含请求方式,请求内容;
      3. 服务器获取http请求之后,进行解析,得到对应的HTNL文件;
      4. 服务器将相应的HTML文件发送给客户端;
      5. 客户端在执行过程中,会继续向服务器请求网页需要的.jpg图片等。
    4. 浏览器与服务器断开连接
      1. 四次挥手断开连接。
  2. HTTP
    80端口,HTTPs是443端口。
  3. FTP
    文件传送协议,用于在计算机主机间传输文件。它是通过TCP协议来承载的。
    FTP使用客户服务器方式。一个服务器可以接受多个客户端的请求,具体过程如下:
    1. 打开知名端口21;
    2. 在服务器端,有两类进程,主进程和从属进程,主进程用来接收客户端请求,从属进程用来处理客户端请求;
    3. 从属进程处理完请求之后,会关闭连接,它在运行期间还可能创建其他子进程;
    4. 继续等待客户端发起请求。
    5. 服务器通过21端口与客户端建立了连接,但是通过20端口与客户端传输数据。
  4. TELNET
    远程终端协议,通过TCP连接登录到另一台主机,能将用户在本地终端的操作传递到远程主机,同时也能将远程主机的输出通过TCP连接返回到用户屏幕。
  5. SMTP
    用于传输电子邮件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值