计算机网络笔记

应用层

2.1 应用层协议原理

应用程序体系结构

  1. 客户-服务器体系结构
  2. p2p体系, 有自拓展性和成本效益

进程通信

同一个端系统间进程通信

  1. 网络应用程序间通信, 一个作为服务器, 一个作为客户端
  2. 套接字也就是应用程序编程接口API, 用于应用层和运输层间通信

运输服务

  1. 可靠数据运输, 容忍丢失的应用不太注重, 也就是多媒体应用
  2. 吞吐量, 对吞吐量有要求的程序就是带宽敏感的应用, 而能够根据带宽多少来利用的是弹性应用
  3. 定时, 时延方面
  4. 安全性

运输服务

  1. TCP服务(tansmission control protocol), 具有可靠的数据传输, 有拥塞控制机制, 先握手, 然后建立连接, 最后断开连接
  2. UDP服务(User Datagram protocol), 没有握手, 就比较轻量, 快速

应用层协议

应用层协议只是网络应用的一个组成部分

web和http

http(hypertext transfer protocol)超文本传输协议
web页面由对象组成, 通过URL寻址
HTTP定义了客户向服务器响应的方式:用户请求一个web页面, 浏览器发送请求, 服务器接收并且响应. 传输方式:客户通过API访问TCP

非持续性连接: 每个请求都单独建立一次TCP, 总的响应时间就是两个TRR(Round-Trip Time往返时间)加上服务器传输HTML文件的时间
缺点:必须为每个请求对象建立和维护一个全新的连接, 给服务器带来负担; 每个对象都需要经受两倍的RTT的交付时延

持续性连接的HTTP: 使用单个持续的TCP连接

HTTP报文格式
  1. 请求报文
    首行为请求行, 包含三个字段: 方法字段, URL字段, HTTP字段
    之后为首部行
    每行行尾有一个回车换行符
    首部行后有个回车换行符的空行

  2. 响应报文
    有三部分: 首行状态行, 六个首部行, 最后实体体

cookie可以标识用户, 在无状态的HTTP之上建立一个用户会话层
cookie技术有四个组件

  1. 在HTTP响应报文的一个cookie首部行
  2. 在HTTP请求报文中的一个cookie首部行
  3. 在用户端系统保留一个cookie文件
  4. 位于web站点一个后端数据库

wei缓存(Web chahe)/代理服务器(proxy server)

使用Web缓存器的两点原因:

  1. 减少对客户请求的响应时间
  2. 减少一个机构的接入链路到以太网的通信量
  3. 减少因特网的Web流量, 改善应用的性能

条件GET的方法

条件GET用于验证Web缓存器中的对象副本是不是最新版
也就在GET方法的情况下, 添加一个”If-Modified-Since”的首部行

电子邮件

主要有3个部分:用户代理(user agent), 邮件服务器(mail server), 简单邮件传输协议(Simple Mail Transfer Protocol, SMTP)

SMTP