计算机网络原理 - 二. 网络应用/应用层

计算机网络应用体系结构

  - 客户/服务器(C/S)结构:最基本,最典型的应用结构。
  - P2P(Peer to Peer)结构:服务器与客户的结合体,对等端之间直接通信。
  - 混合结构:既有中心服务器存在,又有对等端间通信。

网络应用通信基本原理

  - 套接字(socket):典型的网络应用编程接口,套接字是每个应用进程与其他应用进程进行网络通信时,接收和发送报文的通道。通过进程运行的主机IP地址以及其套接字所绑定的端口号可以标识应用进程。
  - 端口号(port number):一个应用进程可以创建多个套接字与同一个或不同的传输层协议进行接口。对每个套接字进行编号,用于标识该套接字。IP地址是Internet的网络层地址,用于唯一标识一个「主机或路由器接口」。
  - Internet 传输层提供服务:
    - 面向连接可靠字节流传输服务(TCP):应用层报文开始传送之前,TCP客户和服务器互相交换传输层控制信息,完成握手。「在客户进程与服务器进程的套接字之间建立一条逻辑的TCP连接」。这条连接是「双全工」的,「当应用程序结束报文发送时,必须拆除该连接」。
      - 「可靠的数据传输服务」:「应用进程能够依靠TCP实现端到端的无差错、按顺序交付所有发送数据的服务。」
    - 无连接的不可靠字节流传输服务(UDP):「UDP是一种不提供连接的保障的轻量级传输层协议,仅提供最小的“尽力”服务」。UDP是不可靠的数据传输服务,因此在两个进程通信前没有握手过程。

域名系统(DNS)

  - 层次树状结构命名方法
    1.国家顶级域名nTLD: cn,us,uk
    2.通用顶级域名gTLD: com, net, org, edu, gov
    3.基础结构域名:arpa
 
- 域名解析:将域名映射为IP地址的过程。为了实现域名解析,需要建立分布式数据库,存储网络中域名与IP地址的映射关系数据。
- 域名服务器
1.根域名服务器
2.顶级域名服务器
3.权威域名服务器
4.本地域名服务器

  - 域名解析
    - 递归查询:提供递归查询的的域名服务器,可代替查询主机进行进一步域名查询,并将最终解析结果发送给查询主机。
    - 迭代查询:只将下一步要查询的服务器告知客户端

万维网应用

  • HTTP(超文本传输协议)

    浏览器是Web应用的客户端软件。在Web应用中,通过一个「URL地址」来寻址一个Web页或Web对象,每个URL地址主要由两部分组成:「存放对象的服务器主机域名(或lP地址)和对象的路径名」。例如:URL地址为http://www.abc.edu.cn/cs/index.html,其中www.abc.edu.cn是Web服务器主机域名,/cs/index.html是路径名
    • 概念:超文本传输协议,定义浏览器如何相应web服务器,HTTP使用的端口号是80。
    • 版本:HTTP/1.0和HTTP/1.1
    • HTTP连接:
      • 非持久连接:

        1.非持久连接的HTTP1.0中,客户HTTP需先向Web服务器发送请求建立TCP连接的请求报文,等待Web服务器的响应报文,这一来一回的一个往返时间为一个RTT;
        2.Web服务器响应HTTP客户后,HTTP客户再请求Web网页,Web服务器响应后,告知HTTP客户该网页有多少个图片引用,并通知TCP断开此TCP连接;
        3.随后HTTP客户再次请求TCP连接,Web响应后,再请求第一个图片的TCP连接,等待响应,Web响应后通知TCP连接断开此TCP连接;
        4.依次类推,获取含有3个图片的完整Web网页内容需要花费8RTT。

        • 并行连接:同上述的HTTP1.0的工作原理相同,不过在请求建立图片的TCP连接时,可以建立多条TCP请求;如教材P60图2.11所以,配置了3条并行TCP连接后,请求含有3个图片的完整Web网页内容只需要花费4RTT。
      • 持久连接:

   

posted @ 2022-05-03 22:05  Felix-Zhang  阅读(191)  评论(0编辑  收藏  举报