Week2 #3时延&协议概述
时延&协议
学习书目:《计算机网络 自顶向下方法》
本篇博客用于知识点整理,坚持记录学习第二周!
Part1:时延
分组在每个节点(主机或路由器)都会遭受以下一种类型的时延
时延是指一个报文或分组从一个网络的一端传送到另一个端所需要的时间。
时延的类型:
- 处理时延(processing delay)
- 排队时延(queuing delay)
- 传输时延(transmission delay)
- 传播时延(propagation delay)
总时延=处理时延+排队时延+传输时延+传播时延
图片来源于百度
处理时延
检查分组首部和决定将该分组导向何处多需要的时间
排队时延
等待的时间,在链路上等待传输时,一般会遭受排队时延,这一般取决于先到达的并且正待等待向该条链路传输的分组的数量,如果通向该条链路的分组多,并且都在排着队,那么排队时延就会变长
传输时延
将所有这一分组的比特推向链路(送上路)所需要的时间。
-
L比特表示该分组的长度,R bps表示传输速率
-
传输时延=L/R
传播时延
分组从一个结点到另一个结点在链路上所需要的时间。
- 传播时延等于两个结点之间的距离除以传播速率
- 传播时延=d/s(E.g:1000km / 2*10^8m/s)
- 传播速率取决于链路的物理媒体(光纤,双绞铜线…)
传输时延&传播时延的区分
传输时延是一个结点推出一个分组(即把这个分组送上链路)所需要的时间,与分组大小和传输速率有关
传播时延是指分组在链路上传播所需的时间,与结点之间的距离和传播速率有关
传输时延
假设一个分组有4个比特,把这四个比特都推上链路所需的时间就是传输时延(在每个比特上链路之前,都存储在该节点内)。该分组长度为4b,假设推送每个比特上路所需要的时间是0.5s(就是说传输速率为2bps),那么传输时延就是4/2=2s
传播时延
一个比特从结点A到结点B在链路上传播需要的时间就是传播时延,假设该链路长50km,传播速率10km/s,那么传播时延就为50/10=5s
Part2:协议
协议(protocal):网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。
分层(layer):网络设计者使用分层的概念来组织各类协议,每层所提供的服务不同,这样做的好处是,当我们想要改变特定服务时,只需要专注于那一层,而不需要影响到别的协议
协议栈(protocal stack):各层的所有协议被统称为协议栈
在OSI模型中,协议栈主要由应用层,表示层,会话层,传输层,网络层,数据链路层和物理层组成
图片来源于百度
应用层:
应用层协议有:HTTP(超文本传输协议), HTTPS, SMTP, FTP
应用层的信息分组称为报文(messsage)。
应用层的协议规定了用语规范,如果是Web文档的请求和发送,就用HTTP协议,如果是两个端系统之间文件的传送,就使用FTP协议。不同的请求应用不同的应用层协议
表示层:
使通信的应用程序能够解释交换数据的含义(服务包括:数据压缩,数据加密和数据描述)
会话层:
主要提供了数据交换的定界和同步功能
运输层:
运输层主要协议:TCP和UDP
TCP将长报文分成一个个短报文(报文段)
TCP还具有确保数据到达目的地,控制流量等作用
运输层分组称为报文段(segment)
网络层:
网络层协议:IP协议,ICMP协议…
根据ip地址决定路由的ip,告诉主机下一站的ip地址
网络层分组称为数据报(datagram)
链路层:
链路层的例子:以太网,WIFI…
提供可靠的传递服务
将网络层传下来的数据报封装成帧(frame),在传输的过程中起到差错检查的作用
物理层:
负责将帧的一个个比特从一个节点传输到下一个结点
图片来源于百度
应用层报文即是原始数据,应用层报文被传输给运输层,运输层给应用层报文加上了运输层首部信息(即TCP头部),应用层报文加上运输层头部信息被称为运输层报文段,同时,也说运输层封装了应用层报文。运输层向网络层传递这个报文段,网络层也在这个报文段头部加上网络层头部(IP头部),生成网络层数据报。链路层收到网络层传递的数据报,并在这个数据报头部加上链路层头部(mac地址),并生成链路层帧。
一个大的报文(原始数据)可能被划分为多个运输层报文段,每个报文段又可能被划分为多个网络层数据报