网络协议
网络协议的概念和要素:网络协议规定了通信的双方具体的通信规则,包括消息的传递细节。
协议的三要素:语法、语义、同步
。
现实中人类通信的类比:
见面说”你好”;
语法:中文
语义:问候语
同步:当有人向你问好时,你也要向他问好
网络协议示例:TCP/IP协议族。这个是因特网上使用的协议的集合。以TCP协议和IP协议为基础,包含很多具体的协议,不同协议实现不同的功能。
协议是网络中最重要的软件,规定了具体通信的规则,其中包括编码规则、数据封装规则、数据表示规则、数据同步处理规则等。
例如:HTTP, FTP, SMTP, DNS, TCP, UDP,
IPv4,,ICMP,RIP,OSPF,IGMP,IPv6,NAT,DHCP。
网络交换技术
交换:从通信资源分配的角度来看,交换(Switching)就是按照某种方式动态地分配传输线路的资源
,从输入链路选择连通到输出链路的过程。
电路交换技术:
经过“建立连接
(占用通信资源)→ 通话
(一直占用通信资源)→“释放连接
(归还通信资源)”
如果用户在拨号的时候电信网的资源已经不足以支持这次的呼叫,则主叫用户就会听到忙音。
特性:
- 提供面向连接的服务。
- 资源独占,价格高。
- 通信可靠性高。
电路交换技术会引发出很多问题:比如资源的不够导致通信拥堵,远程通信成本比较大。在通话的全部时间内,通话的两个用户始终占用端到端的通信资源
。
使用电路交换技术传输计算机数据时,线路的传输效率很低
。
分组交换技术(重点):
分组交换采用存储转发
技术
名称 | 意义 |
---|---|
报文 | 要发送的整块数据 |
数据段 | 报文划分出来的单元 |
首部 | 加在数据段的前面,里面代表必要的控制信息 |
分组 | 首部+数据段 就是一个分组,分组也可以称之为“包”,于是首部也可以称之为“包头” |
过程:
- 分组:
将需要传输的较大的文件或报文分成多个小的包(分组)。 - 存储转发
分组交换机(路由器)收到分组,存储到缓存中,排队等待处理,最后选择输出链路转发。 - 资源共享
由于存储转发使得多个用户可以共享一段链路。
资源共享是宏观的。
为什么要加分组??
数据越大,路由器缓存越大,不利于存储转发。
不分组可能导致一台主机持续占据网络资源,不公平。
一般链路的分组大小为1500Byte(MTU)。
MTU:最大传输单元,一个分组的最大值
-
为什么要加首部?
- 首部用于区分不同站点的数据包。
- 使接收方能够有效的将分组还原。
- 包含地址等控制信息,控制分组的传输。
-
存储转发会带来什么影响?
- 当网络中间节点传入数据的速度大于传出的速度时,其缓存空间会逐渐减少。
- 当网络中间节点的缓存满的时候,会丢弃传入的数据,导致网络拥塞。
分组交换的优缺点总结:
- 优点:适合计算机通信,实现宏观上的资源共享,通信效率高,成本低。
优点 | 所采用的手段 |
---|---|
高效 | 在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用 |
灵活 | 为每一个分组独立地选择最合适的转发路由 |
迅速 | 以分组作为传送单位,可以不先建立连接就能向其他主机发送分组 |
可靠 | 保证可靠性的网络协议,分布式多路由的分组交换网,使网络有很好的生存性。 |
- 缺点:存储交换排队导致网络延迟很大甚至可能出现
网络拥堵
。
路由器和交换机的区别:
- 路由器是将不同的网互联起来。
- 交换机是将同一个网中的不同主机互联起来
报文交换技术:
- 不分组,在报文头部添加首部,即“报头”
- 存储转发
- 资源共享
技术 | 总结 |
---|---|
电路交换 | 整个报文的比特流连续得从源点直达终点,好像在一个管道里传送 |
报文交换 | 整个报文先传送到相邻结点,全部存储下来之后查找转发表,转发到下一个结点 |
分组交换 | 单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点 |
网络的带宽和时延
网络带宽 :
网络的最高数据传输率,即每秒最高能传送多少比特的数据(单位:bit/s或b/s
)。
注意:一个网络的带宽是指该网络所有链路带宽的最小值。
此时的网络带宽是4Mb/s。
单位说明:
网络带宽单位:1Mb/s=103kb/s=106b/s。
计算机存储单位: 1M=1024K=220 Byte=8*220 bit
吞吐量
表示在单位时间内通过某个网络(或者信道、接口)的实际数据量
。带宽是网络最高吞吐量。(单位:bit/s 或者b/s)
有时吞吐量还可以用每秒传送的字节数和帧数来表示。
传播速度:
信号(即电磁波)在传输介质上的传输速率(单位m/s等)
时延(重要):
时延是指数据从网络(或者链路)的一段传送到另一端的时间。有时也叫延迟或者迟延。
时延由下面几个不同的部分组成:
- 发送时延:
- 是指主机或路由器发送数据帧所需要的时间 。也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。
- 发送时延发生在机器内部的
发送器
中,与传输信道长度(或信号传输的距离)没有任何关系
。 - 发送时延也叫传输时延。
- 计算公式:发送时延= 数据帧长度 / 发送速率(即带宽)
- 传播时延:
- 是电磁波在信道中传播一定距离需要花费的时间
- 由传播介质,传播速度,链路长度决定。
- 一般这个时间非常快。
- 计算公式:传播时延=信道长度(m)/电磁波在信道上的传输速率(m/s)
- 处理时延
- 主机或者路由器在收到分组时要花费一定的时间进行处理。
- 接收时延有时算在了处理时延中,因为同为在结点上消耗的时间
- 排队时延:
- 分组在进入路由器后要现在输入队列中排队等待处理。
总时延=发送时延+传播时延+处理时延+排队时延
高速网络链路是提高了数据的发送速率,而不是在比特链路上的传播速率。
提高数据的发送速率只是减小了数据的发送时延
往返时延(往返时间)RTT(重要)
表示从发送端发送数据开始,到发送端收到来自接收端的确认为止总共经历的时延。
RTT反映了分组传输总的时延,使用ping命令可以测量RTT。
时延带宽积
时延带宽积=传播时延*带宽
时延带宽积又称之为以比特为单位的链路长度