• 计算机网络笔记6-应用层


    应用层概述

    应用层对应用程序的通信提供服务。

    应用层协议定义:

    • 应用进程交换的报文类型(请求还是响应)
    • 各种报文类型的语法,如报文中的各个字段及其详细描述
    • 字段的语义,即包含在字段中的信息的含义。
    • 进程何时、如何发送报文,以及对报文进行响应的规则。

    应用层的功能:

    • 文件传输、访问和管理
    • 电子邮件
    • 虚拟终端
    • 查询服务和远程作业登陆

    应用层的重要协议:

    FTP、SMTP、POP3、HTTP、DNS

    网络应用模型

    客户/服务器(C/S)模型

    服务器:提供计算服务的设备。

    1. 永久提供服务
    2. 永久性访问地址/域名

    客户机:请求计算服务的主机。

    1. 与服务器通信,使用服务器提供的服务
    2. 间歇性接入网络
    3. 可能使用动态IP地址
    4. 不与其他客户机直接通信

    应用:Web,文件传输FTP,远程的登陆,电子邮件

    P2P模型

    不存在永远在线的服务器

    每个主机即可以提供服务,也可以请求服务

    任意端系统/节点之间可以直接通讯

    节点间歇性接入网络,节点可能改变IP地址

    可扩展性好,网络健壮性强

    DNS系统

    域名系统DNS(domain name system)是因特网使用的命名系统,用来把便于人们记忆的含有特定含义的主机名转换为便于机器处理的IP地址,值得注意的是,DNS系统采用C/S架构其协议运行在UDP之上,使用53号端口

    域名

    因特网采用层次树状结构的命名方法。任何一个连接在因特网上的主机或者路由器,都有一个唯一的层次结构的名字,即域名(Domain name)域是名字空间中一个可以被管理的划分。域还可以被分为子域,而子域还可以继续划分为子域的子域,这样就形成了顶级域,二级域,三级域等。每一个域名都是由标号序列组成,各标号之间用点“.“”隔开。
    举个例子:www.baidu.com(其中com是顶级域名,cskaoyan是二级域名,www是三级域名。

    关于域名中的标号有以下几点值得注意:
    1.英文不区分大小写
    2.标号中除了连字符-之外不能使用其他的标点符号。
    3.每一个标号不超过63个字符,多标号组成的完整域名最长不超过255字符
    4.级别最低的域名写在最左边,级别最高的顶级域名写在最右边。

    域名服务器

    因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模式。

    域名解析过程

    1. 递归查询(靠别人)
    2. 迭代查询(靠自己)

    文件传输协议FTP

    文件传输协议FTP(File Transfer Protocol):

    提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。

    简单文件传送协议TFTP(Trivial File Transfer Protocol):

    FTP服务器和用户端

    FTP是基于客户/服务器(C/S)的协议。

    用户通过一个客户机程序连接至在远程计算机上允许的服务器程序。

    依照FTP一些提供服务,进行文件传送的计算机就是FTP服务端

    连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端

    FTP工作原理

    FTP使用TCP实现可靠传输。

    服务器进程:1个主进程,n个从属进程。

    控制连接始终保持,数据连接保持一会。

    使用的端口建立数据连接与传输模式有关:

    • 主动方式使用TCP 20端口。
    • 被动方式由服务器和客户端自信协商决定(端口>1024)

    FTP传输模式:

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

    电子邮件

    电子邮件系统概述

    信息格式

    组成结构

    用户代理功能:1.撰写 2.显示 3.处理 4.通信

    邮件服务器功能:1.发送&接收邮件 2.向发件人报告邮件传送结果

    协议:1.SMTP(发) 2.POP3、IMAP(收)

    简单邮件传送协议SMTP

    SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。

    负责发送邮件的SMTP进程就是SMTP客户,负责接收邮件的进程就是SMTP服务器

    SMTP规定了14条命令(几个字母)和21中应答信息(三位数字代码+简单文字说明)

    (TCP连接,端口号25,C/S)

    SMTP通信三个阶段:

    1. 连接建立:

      SMTP服务器若有能力接收邮件,回答"250 OK";否则,回答"421 Service not avaiable"

    2. 邮件发送:

    3. 连接释放:

      邮件发完,SMTP客户发送QUIT命令,SMTP服务器返回"221",表示泳衣释放连接。

    SMTP的缺点:

    1. SMTP不能传送可执行文件或者其他二进制对象。
    2. SMTP仅限于传送7位ASCII码,不能传送其他非英语国家的文字。
    3. SMTP服务器会拒绝超过一定长度的邮件。

    通用因特网邮件扩充MIME

    使电子邮件系统可以支持声音、图像、视频、多种国际啊语言等等。

    使得传输内容丰富多彩。

    邮局协议POP3

    TCP连接,端口号110,C/S

    POP3工作方式:下载并保留(在服务器);下载并删除。

    网际报文存取协议IMAP

    IMAP协议比POP协议复杂。当用户Pc上的IMAP客户程序打开IMAP服务器的邮箱时,用户可以看到邮箱的首部,若用户需要打开某个邮件,该邮件才上传到用户的计算机上。

    IMAP可以让用户在不同的地方使用不同的计算机随时上网阅读处理邮件,还允许只读取邮件中的某一个部分(先看正文,有WiFi的时候再下载附件)。

    基于万维网的电子邮件

    用户代理与邮件服务器采用了HTTP协议。

    万维网和HTTP协议

    万维网概述

    万维网WWW(World Wide Web)是一个大规模的、联机式的信息储藏所/资料空间,是无数个网络站点和网页的集合。

    (唯一标识)统一资源定位符URL----->资源(文字,视频、音频...)

    URL一般形式: <协议>://<主机>:<端口>/<路径>

    URL不区分大小写。

    用户通过点击超链接获取资源,这些资源通过超文本传输协议(HTTP)传送给使用者。

    万维网以客户/服务器方式工作,用户使用的浏览器就是万维网客户程序,万维网文档所驻留的主机运行服务器程序。

    万维网使用超文本标记语言HTML,使得万维网页面设计者可以很方便地从一个界面的链接转到另一个界面,并能够在自己的屏幕上显示出来。

    超文本传输协议HTTP

    HTTP协议定义了浏览器(万维网客户进程)怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。

    具体过程:

    1. 浏览器分析URL
    2. 浏览器向DNS请求解析IP地址
    3. DNS解析出IP地址
    4. 浏览器与服务器建立TCP连接
    5. 浏览器发出取文件命令
    6. 服务器响应
    7. 释放TCP连接
    8. 浏览器显示

    注:浏览器可以只下载文本部分。

    HTTP协议特点

    HTTP协议是无状态的。

    一些万维网站点常常希望能够识别用户。----->Cookie小饼干

    Cookie是存储在用户主机中的文本文件,记录一段时间内某用户(使用识别码识别,如"123456")的访问记录。----->提供个性化服务

    HTTP采用TCP作为运输层协议,但HTTP协议本身是无连接的(通信双方在交换HTTP报文之前不需要先建立HTTP连接)。

    HTTP连接方式

    • 持久连接(Keep-alive):非流水线,流水线

    • 非持久连接(Close):

    报文结构

    HTTP报文:HTTP是面向文本的,因此在报文中的每一个字段都是一些ASCII码串。

    • 请求报文:

    • 响应报文:

    首部行:说明浏览器、服务器和报文主体的一些信息。

    状态码:

    • 1xx表示通知信息的,如请求收到了或正在处理。
    • 2xx表示成功,如接受或知道了。
    • 3xx表示重定向,如要完成请求还必须采取进一步的行动。
    • 4xx表示客户的差错,如请求中有错误的语法或不能完成。
    • 5xx表示服务器的差错,如服务器失效无法完成请求。

    参考博客:

    DNS系统:https://blog.csdn.net/aa1928992772/article/details/85284296

    作者:Ligo丶

    出处:https://www.cnblogs.com/Ligo-Z/

    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。

  • 相关阅读:
    Fluent动网格【8】:网格节点运动案例
    Fluent动网格【7】:网格节点运动
    Fluent动网格【6】:部件变形案例
    Fluent动网格【5】:部件变形
    Fluent动网格【4】:DEFINE_CG_MOTION宏实例
    Fluent动网格【3】:DEFINE_CG_MOTION宏
    Fluent动网格【1】:概述
    Fluent动网格【2】:Profile文件
    JavaScript系列--浅析原型链与继承
    简单说说JavaScript的Generator 实现(ES6)
  • 原文地址:https://www.cnblogs.com/Ligo-Z/p/13258098.html
Copyright © 2020-2023  润新知