一、概述
- 因特网协议栈的五个层次:应用层,运输层,网络层,链路层,物理层
- 分组交换中的时延:处理时延,排队时延,传输时延,传播时延
- 流量强度和丢包:流量强度越接近1,平均排队时延越大
- 瞬时吞吐量和平均吞吐量
二、应用层
1.应用层协议原理
1.网络应用程序体系有两种:CS体系和P2P体系
2.进程标识:主机地址(IP地址)和目的主机中接收进程的标识符(端口号)
3.TCP的socket(本地标识):我的IP和TCP端口,对方的IP和TCP端口
4.UDP的socket(本地标识):我的IP和UDP端口
2.Web和HTTP
1.URL:统一资源定位符
2.HTTP:超文本传输协议,web应用层的协议,web应用层的核心,是一种无状态协议,HTTP使用TCP作为他的支撑运输协议
3.HTTP请求链接有非持续链接(HTTP1.0版本)和持续链接(HTTP1.1版本),持续链接中请求方式又有非流水式请求和流水式请求
4.HTTP请求报文格式
http请求报文的第一行叫做请求行,后继的行叫做首部行。首部行后会有一行附加的回车和换行。如果请求报文有实体部分,附加的回车换行行后有实体主体。
请求行有三个字段:方法字段,URL字段和HTTP版本字段。方法字段可取的值有GET,POST,HEAD,PUT和DELETE。URL字段是请求对象的标识。
首部行Host指明对象所在的主机,User-agent用来指明用户代理,即向服务器发送请求的浏览器的类型,服务器可以向不用类型的用户代理实际发送相同对象的不同版本(每个版本都有相同的URL)。Accept-language表示用户想要得到该对象的语法版本。
HTTP请求报文的通用格式如下:
5.HTTP响应报文格式
响应报文第一行为状态行,后继几行为首部行,首部行后有一行附加回车和换行,附加回车和换行行后是实体体
状态行有三个字段:协议版本字段,状态码和相应状态信息。
以下为一些常见的状态码和相关短语:
6.用户-服务器状态:cookie
cookie技术有四个组件:a.在HTTP响应报文中有一个cookie的首部行;b.在HTTP的请求报文中有一个cookie的首部行;c.在用户端系统保留一个cookie文件,由用户的浏览器进行管理;d.位于Web站点的一个后端数据库
7.Web缓存
Web缓存器也叫代理服务器
8.条件GET方法:允许缓存器向服务器证实他的对象是最新的。
3、文件传输协议FTP
1.FTP也运行在TCP上
4、Email
1.电子邮件系统主要有三个部分:用户代理,邮件服务器和邮件服务器间的传输协议(SMTP)。
2.邮件传输过程:发送方的用户代理将邮件通过SMTP协议传输到发送方自己的邮件服务器,然后发送方的邮件服务器再通过SMTP协议将邮件传输到接收方的邮件服务器,接收方邮件服务器将邮件送到邮箱中,最后接收方通过用户代理通过拉取协议将邮件从邮箱中拉取到客户端软件中。
3.SMTP
SMTP协议以ASCII码形式向服务器发送报文,当发送的报文中有中文字段或者其他附件内容时,超出了ASCII码的表示范围,要进行补丁,进行字符扩展
4.邮件访问协议(拉取协议):POP3,IMAP,HTTP
IMAP协议允许在邮箱中创建目录
5、DNS
1.DNS域名解析系统:可以实现域名和IP地址的转换
2.DNS报文
DNS有查询和回答两种报文,两种报文的有相同的格式。
6.P2P应用
7.CDN、TCP套接字编程(Socket)
1.CDN:Content Delivery Network,内容分发网络。。用来做内容加速。CDN技术核心是在网络中设置许多缓存服务器,将资源预先缓存到缓存服务器中。用户请求资源的步骤如下:
①、当用户点击APP上的内容,APP会根据URL地址去本地DNS(域名解析系统)寻求IP地址解析。
②、本地DNS系统会将域名的解析权交给CDN专用DNS服务器。
③、CDN专用DNS服务器,将CDN的全局负载均衡设备IP地址返回用户。
④、用户向CDN的负载均衡设备发起内容URL访问请求。
⑤、CDN负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的缓存服务器。
⑥、负载均衡设备告诉用户这台缓存服务器的IP地址,让用户向所选择的缓存服务器发起请求。
⑦、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。
⑧、如果这台缓存服务器上并没有用户想要的内容,那么这台缓存服务器就要网站的源服务器请求内容。
⑨、源服务器返回内容给缓存服务器,缓存服务器发给用户,并根据用户自定义的缓存策略,判断要不要把内容缓存到缓存服务器上。
2.有两种传输层提供服务的Socket:TCP和UDP。TCP提供可靠的、字节流的服务,UDP提供不可靠服务。
3.TCP Socket
4.UDP Socket