- PDU(Protocol Data Unit)协议数据单元,指不同层级的网络协议进行数据交换时使用的数据传输格式,物理层是bit,数据链路层是帧……
- 互联网构成
- 网络边缘:与互联网相连的计算机和其他设备(各类主机)
- 网络核心:互联端系统的分组交换设备(路由器,链路层交换机)和通信链路(光纤,铜缆,无限电,激光链路)构成的网络
- 典型交换方式
- 电路交换:首先建立连接(固定的通信通路),进行链路带宽/交换机的交换能力等资源预留,建立连接后物理通路被通信双方独占,资源专用,不与其他连接共享
- 传输性能好,实时性最好,通信时延少
- 通信效率低,通信建立过程复杂
- 若中途设备故障,则传输中断
- 报文交换:以报文为单位进行数据运输,每个报文包括源地址,目的地址和数据信息。不需要建立固定的通路,通过节点交换机进行存储和转发,直到到达接收方
- 不需要建立固定的通路,线路利用率高
- 无需建立连接
- 由于在交换机中存在存储-转发的过程,实时性差
- 报文大小灵活(与交换机的存储空间有关,因此需要足够的缓存空间)
- 分组交换:对报文交换的改进,也是存储-转发的方式,将长报文分割成若干个小分组,以分组作为数据传输单元,独立地选择传输路径,支持灵活的统计多路复用(多个主机可以按需共享带宽)
- 无需建立连接
- 可以高效利用线路资源
- 具有较好的实时性
- 相对报文交换,分组长度固定,缓冲区容易管理
- 传输时间较报文更短
- 灵活性高
- 缺点:附加信息开销大,仍然存在时延,分组可能遇到失序,丢失,重复等问题
- 网络协议
- 为进行网络中的数据交换而建立的规则/标准/约定
- 三要素
- 语法:数据的格式
- 语义:规定要完成的功能
- 时序:操作的顺序
- 网络体系结构:
- 层和协议的集合,特定系统使用的一组协议成为协议栈
- 对等实体之间:协议
- 相邻层次之间:接口,定义了下层向上层提供的原语和服务
- 不同类型的服务:
- 面向连接:请求或响应之后,对方回复“指示”或“确认”
- 无连接:传输的数据携带了完整的目标地址,不需要应答
- 参考模型
- 降低系统的复杂度,便于实现和维护,提高灵活性和可扩展性
- OSI与TCP/IP的比较与问题
- OSI:
- 模型,不局限于特定协议,明确了服务,协议,接口等概念,通用性(所以可以支持无连接和面向连接通信)
- 问题:从未真正被实现,分层将功能重复
- TCP/IP:
- 对已有协议的描述(因此仅支持无连接通信(IP))
- 问题:未区分服务/接口/协议等概念,不具备通用性,混用接口与分层的设计,欠缺完整性
- OSI(Open Systems Interconnection)参考模型(7层)
- 物理层(Physical Layer):定义如何在信道上传输0/1,包括机械接口,电子信号,时序接口,介质等
- 数据链路层(Data Link Layer):实现相邻网络实体的数据传输,包括成帧(Framing,从物理层的比特流中提取出完整的帧),错误检测与纠正,流量控制(快速的发送端遇到慢速的接收端),访问控制(同一个信道同时传输信号)
- 网络层(Network Layer):将数据包跨越网络从原设备(主机)发送到目的设备(主机),包括路由(Routing),路由协议,服务质量控制(处理网络拥塞,负载均衡,准入控制,保障延迟),异构网络互联等
- 传输层(Transport Layer):将数据从源端口(进程)发送到目的端口(进程),包括可靠的传输模式(对通信质量有要求的应用场景)和不可靠的传输模式(对通信质量要求不高,但是对通信相应速度要求高)
- 会话层(Session Layer):在应用程序之间建立和维持会话
- 表示层(Presentation Layer):关注传递信息的语法和语义,表示方法,数据结构等
- 应用层(Application Layer):提供应用程序便捷的网络服务调用
- TCP/IP参考模型(事实标准)、
- TCP/IP 协议栈可以用于同一主机上不同进程的通信。
- 结构
- 网络接口层(Host-to-Network Layer):对应OSI中的物理层与数据链路层,定义主机与传输线路之间的接口
- 互联网层(Internet Layer):对应OSI中的网络层,允许主机将数据包注入网络,让其独立地传输至目的地,包括数据包格式和协议(IPv4,IPv6)
- 传输层(Transport Layer):对应OSI中的传输层,允许源主机与目标主机上的对等实体(进程)进行端到端的数据传输(TCP,UDP)
- 引用层(Application Layer):对应OSI中的会话层,表示层与应用层,包括许多高等协议(DNS,HTTP,FTP,SMTP)
- 特点:
- 聪明终端&简单网络,由端系统TCP负责丢失恢复,实现了建立在简单的/不可靠部件上的可靠系统
- 可以在底层物理网络上运行,可以支持各类上层应用
- 核心功能简单,适应网络的爆炸性增长
- 比特率:主机在数字信号上传送数据的速率,单位bit/s(bps)
- 带宽:单位时间内网络中某通道传送数据的能力,单位为bit/s
- 包转发率(Packet Per Second):交换机或路由器以包为单位的转发速率(线速转发:交换机满负载的情况下,对帧进行转发能达到的端口线路的最高速度,大包更容易实现)
- 时延
- 传输时延(Transmission Delay):数据从结点进入传输媒体需要的时间
- 传播时延(Propagation Delay):电磁波在信道中传播一段距离花费的时间
- 处理时延(Processing Delay):主机或路由器收到分组后,处理分组(分析首部,提取数据,差错检验或查找路由)花费的时间
- 排队时延(Queueing Delay):分组在路由器队列中排队等待处理的时延
- 往返时延(RTT,Round-Trip Time):发送方发送数据开始到收到接收方返回的确认,经历的总时间
- 时延带宽积:传播时延×带宽(按比特计数的链路长度,若发送端连续发送数据,则发送的第一个bit到达终点时,已经发送了时延带宽积个bit)
- 时延抖动:变化的时延,源于网络中的队列或缓冲,难以精确预测
- 延迟丢包:多媒体引用中,由于数据包延迟到达,在接收端需要丢弃失去使用价值的包
- 利用率:信道有百分之几的时间是被利用的
- 吞吐量(throughput):单位时间内通过某个网络/信道/接口的数据量,单位bps
- 有效吞吐量(goodput):单位时间内,目的地正确接收到的有用信息的数目,单位bps
- 丢包率:丢失数据包数量占发送数据包的比率
物理层
- 网络体系结构中的最底层
- 从数据链路层获得数据比特流,按照传输媒体的需要进行编码,通过传输媒体传输到下一个节点的物理层
- 屏蔽不同传输媒体和通信手段的差异,提供统一的数据传输服务
- 基本概念,术语
- 通信:在原点和终点之间传递消息/信息
- 消息:能被通信双方所理解/可以相互传递
- 信息:包含在消息中对通信者有意义的部分
- 消息是信息的载体,消息中可能含有信息
- 数据:消息的一种表示形式,在通信系统中,消息通过电信号传递
- 信号是消息的载体
- 信息:(香农)信息是用来消除随机不确定性的东西(强调“使用”,在使用前可能数数字信号,使用后才是信息)
- 消息包含信息的多少称为信息量
- 信息量的大小与描述事件的出现概率有关
- 消息荷载的信息量等于它表示的事件发生的概 率 P 的倒数的对数 I=logap1 ,单位bit
- 总信息量公式为:I=∑i=0m−1−npilogpi=−n∑i=0m−1pilogpi,其中I表示总信息量,n表示消息的总数或长度,pi表示第i个符号出现的概率,m表示可能的符号数量或种类
- 每个符号的平均信息量(熵)公式为: