总时延 = 排队时延 + 处理时延 + 传输时延 + 传播时延
1. 排队时延
分组在路由器的输入队列和输出队列中排队等待的时间,取决于网络当前的通信量(输入队列用于排队进入路由器,输出队列用于路由器处理完决定往哪转发后排队发出去)。
2. 处理时延
主机或路由器收到分组时进行处理所需要的时间,例如分析首部、从分组中提取数据、进行差错检验或查找适当的路由等。
3. 传输时延
主机或路由器传输数据帧所需要的时间。(从结点进入传输媒介的时间)
4. 传播时延
电磁波在信道中传播所需要花费的时间,电磁波传播的速度接近光速。
1. 五层协议
应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。
传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的
应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、可靠的数据传输服务,数据单位为报
文段;用户数据报协议 UDP,提供无连接、尽最大努力的数据传输服务,数据单位为用户数据报(TCP对进程传下来的数据看成一串无意义的字节流,发送也不会以进程交付的界限发送,而是根据自己缓冲区来决定发送哪些字节;而应用层给UDP的数据,UDP不会将他拆分成不同的字节部分分开发送,而是应用层给什么,UDP发什么,不拆分,也不合并)。TCP 主要提供完整性服务,UDP 主要提供及时性服务。
网络层 :为主机提供数据传输服务。而传输层协议是为主机中的进程提供数据传输服务。网络层把传输层传递下来的报文段或者用户数据报封装成分组。
数据链路层 :网络层针对的还是主机之间的数据传输服务,而主机之间可以有很多链路,链路层协议就是为同一链路的主机提供数据传输服务。数据链路层把网络层传下来的分组封装成帧。
物理层 :考虑的是怎样在传输媒体上传输数据比特流,而不是指具体的传输媒体。物理层的作用是尽可能屏蔽传输媒体和通信手段的差异,使数据链路层感觉不到这些差异。
2. OSI
其中表示层和会话层用途如下:
表示层 :数据压缩、加密以及数据描述,这使得应用程序不必关心在各台主机中数据内部格式不同的问题。
会话层 :建立及管理会话。
五层协议没有表示层和会话层,而是将这些功能留给应用程序开发者处理。
3. TCP/IP
它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。
TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者网络接口层。
基本问题
1. 封装成帧
将网络层传下来的分组添加首部和尾部,用于标记帧的开始和结束。
2. 透明传输
透明表示一个实际存在的事物看起来好像不存在一样。
帧使用首部和尾部进行定界,如果帧的数据部分含有和首部尾部相同的内容,那么帧的开始和结束位置就会被错误的 判定。需要在数据部分出现首部尾部相同的内容前面插入转义字符。如果数据部分出现转义字符,那么就在转义字符 前面再加个转义字符。在接收端进行处理之后可以还原出原始数据。这个过程透明传输的内容是转义字符,用户察觉 不到转义字符的存在。
3. 差错检测
目前数据链路层广泛使用了循环冗余检验(CRC)来检查比特差错。
PPP 协议
互联网用户通常需要连接到某个 ISP 之后才能接入到互联网,PPP 协议是用户计算机和 ISP 进行通信时所使用的数据链路层协议。
ISP
互联网服务提供商 ISP 可以从互联网管理机构获得许多 IP 地址,同时拥有通信线路以及路由器等联网设备,个人或机构向 ISP 缴纳一定的费用就可以接入互联网。
MAC 地址
MAC 地址是链路层地址,长度为 6 字节(48 位),用于唯一标识网络适配器(网卡)。一台主机拥有多少个网络适配器就有多少个 MAC 地址。例如笔记本电脑普遍存在无线网络适配器和有线网络适配器,因此就有两个 MAC 地址。
局域网
局域网是一种典型的广播信道,主要特点是网络为一个单位所拥有,且地理范围和站点数目均有限。
主要有以太网、令牌环网、FDDI 和 ATM 等局域网技术,目前以太网占领着有线局域网市场。可以按照网络拓扑结构对局域网进行分类:星型 环型 直线型
以太网
以太网是一种星型拓扑结构局域网。
交换机
交换机具有自学习能力,学习的是交换表的内容,交换表中存储着 MAC 地址到接口的映射。正是由于这种自学习能力,因此交换机是一种即插即用设备,不需要网络管理员手动配置交换表内容。下图中,交换机有 4 个接口,主机 A 向主机 B 发送数据帧时,交换机把主机 A 到接口 1 的映射写入交换表中。为了发送数据帧到 B,先查交换表,此时没有主机 B 的表项,那么主机 A 就发送广播帧,主机 C 和主机 D 会丢弃该帧,主机 B 回应该帧向主机 A 发送数据包时,交换机查找交换表得到主机 A 映射的接口为 1,就发送数据帧到接口 1,同时交换机添加主机 B 到接口 2 的映射。
网络层向上只提供简单灵活的、无连接的、尽最大努力交互的数据报服务。
与 IP 协议配套使用的还有三个协议:
地址解析协议 ARP(Address Resolution Protocol)
网际控制报文协议 ICMP(Internet Control Message Protocol)
网际组管理协议 IGMP(Internet Group Management Protocol)
IP 数据报格式
版本 : 有 4(IPv4)和 6(IPv6)两个值;
首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长
度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
区分服务 : 用来获得更好的服务,一般情况下不使用。
总长度 : 包括首部长度和数据部分长度。
生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL
为 0 时就丢弃数据报。
协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算
的工作量。
标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
IP转发分组的流程
路由器中的路由表存储的不是所有主机的IP地址,而是网络的地址,以及到该网络应该如何转发。
比如某个路由表项:20.0.0.0 直接交付,接口0 表示到20.0.0.0网路直接交付即可
40.0.0.0 30.0.0.1 表示到40.0.0.0要先跳到IP地址为30.0.0.1的路由器。
这样,不必关心某个网络内部的结构,转发分组时,只是从一个路由器转发到下一个路由器,直到可以直接交付。
默认路由:如某个路由表有三个表项,第一个到N1,第二个到N2,则到其他任意一个网络都通过默认路由指定的路由器,如N3或N4,都先交付给默认路由指定的路由器。默认路由在表中网络地址表现为0.0.0.0
特定主机路由:大部分情况下,路由表中是目的网络的地址,但也允许有存放特地目的主机的地址与跳转到该主机下一跳所要跳到的路由器地址
在转发分组过程中,IP数据报中的源地址IP和目的IP是不变的,每一跳时都是将下一跳地址翻译成MAC地址(ARP协议),然后封装到链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。
分组转发算法如下:
1.从数据包中提取目的IP地址D,得出目的网络N
2.若N在此路由器连接的某个网络内,从对应网络的那个接口进行直接交付。
3.若路由表中有目的地址为D的特定主机路由,则根据该表项跳到下一跳路由器。
4.若路由表中有到达N的路由,则跳到对应路由器
5.若无N的路由,则按默认路由跳转
6.否则,报告转发分组出错。
IP 地址编址方式
IP 地址的编址方式经历了三个历史阶段:
分类
子网划分
无分类
1. 分类
由两部分组成,网络号和主机号,其中不同分类具有不同的网络号长度,并且是固定的。
IP 地址 ::= {< 网络号 >, < 主机号 >}
对A类:
网络号占1个字节,可用位数为7位,则可指派的网络号有2^7-2
-2是因为:
网络号全为0表示本网络
全为1(011111111)用于环回测试,网络号为127的地址不是一个网络地址
主机号有3个字节,则最大主机数为 2^24-2;
-2是因为:全为0的主机号表示本主机所在的网络的网络地址。如5.6.7.8所在的网络的地址为5.0.0.0
全为1的主机号表示本网络上的所有主机
A类地址除了首位的0,共有2^31个IP地址,占了所有IP地址的50%
对B类:
网络号有2个字节,前两位已固定,可用网络号为2^14-1
-1是因为:
128.0.0.0是不指派的,因此最小的网络地址是128.1.0.0
主机数共有2^16-2
-2是因为:
扣除全0与全1的主机号
B类地址的IP共2^30个,占25%
对C类:
网络号有3个字节,有21位可分配。
网络数共2^21-1:
-1是因为:
192.0.0.0是不分配的,最小网络地址为192.0.1.0
主机数共2^8-2
-2是因为:
全0与全1的主机号不可用
C类共2^29个地址,占12.5%
子网划分
原文:https://www.cnblogs.com/lxy-xf/p/11388877.html