本博客是通过学习中国科大郑烇老师的计算机网络课程所写的笔记
一、什么是Internet
1.1、从构成角度描述
- 结点
主机结点(主机及其上运行的应用程序)、数据交换结点(路由器、链路层交换机等)
- 边
接入网链路:主机连接到互联网的链路
主干链路:交换机之间的链路
- 协议
协议控制发送、接受信息,是对等型实体在通信过程中应当遵守的规则的集合
定义了报文的格式、顺序,以及报文发送/接收或其它事件所采取的操作
1.2、从提供服务角度描述
- 分布式应用
例如Web、email、分布式游戏、电子商务、VoIP
- 编程接口
Internet为应用程序提供服务的基础设施。端系统(主机)提供的套接字接口,是一套发送程序必须遵循的规则集合。
服务包括:无连接的不可靠服务,面向连接的可靠服务
二、网络结构组成
2.1、网络边缘
包括主机及其上的应用程序
应用进程之间进行通信的模式:客户/服务器模式、对等模式
网络设施提供的服务:面向连接服务、无连接服务
2.1.1、应用进程通信模式
- 客户/服务器模式
客户端向服务器请求/接收服务,可扩展性不算很强
- 对等模式
没有专门的服务器,主机可以充当资源请求方也可以充当资源提供方。可扩展性较好
2.1.2、服务
- TCP
特点:面向连接、可靠、有流量控制、有拥塞控制
使用场景:HTTP、FTP、Telnet、SMTP
- UDP
特点:无连接、不可靠、没有流量控制、没有拥塞控制
使用场景:流媒体、远程会议、DNS、Internet电话
2.2、网络核心
交换机的网状网络,主要功能是路由(路由选择协议)、转发(转发表)
数据传输的方式:电路交换、分组交换
2.2.1、电路交换
主机之间建立起一条独享的电路,保证性能但是用以造成资源浪费。计算机应用的信息有很强的突发性,所以此方式不太适用于计算机应用
贷款被分片,相关技术有频分复用、时分复用、波分复用(光的频分复用)、码分复用
2.2.2、分组交换
以分组为单位,进行存储-转发。在转发之前,节点必须接收整个分组。带宽是共享的,在传输时,使用全部带宽,不再进行分片
统计多路复用,基于数据包/分组的动态分配(无需固定时隙),体现按需使用带宽
在分组交换中,通信子网向端系统提供虚电路和数据报两种网络服务
- 数据报网络
分组的目标IP地址决定下一跳
在通信之前,无需建立连接,每个分组独立路由,所以每个分组的传播路径可能不一样
- 虚电路网络
每个分组带有虚电路标识,该标识决定下一跳
在通信之前,需要建立连接,通信过程中,路径保持不变,路由器维持通信的状态信息
2.2.3、电路交换与分组交换的比较
分组交换不适合实时任务,因为它的时延是可变的、不可预测的,并且存在丢包的风险。但是,分组交换提供了比电路交换更好的带宽共享,比电路交换更简单、有效。分组交换还支持更多的用户进行传输。
2.3、接入网和物理媒介
接入网:将端系统(主机)物理连接到边缘路由器的网络
媒介:有线或者无线通信链路,包括双绞线、光纤、同轴电缆、地面微波、LAN、卫星
三、分组时延、丢失和吞吐量
为什么会有分组时延和分组丢失?
因为对于分组交换而言,多个用户共享同一条链路,当多个用户均需要使用该链路时,来个各个用户的分组均会到达路由器,如果前面有分组在转发,那么到来的分组会缓存在路由器的缓冲区中,等待转发,因此产生分组时延。然而,路由器缓冲区是有限的,如果分组到来并且缓冲区已满,则会出现分组丢失。
3.1、分组交换中的时延
- 处理时延
检查是否有差错,检查分组首部并决定导向何处
- 排队时延
在输出链路上等待被传输的时间,取决于路由器的拥塞程度
- 传输时延
路由器转发分组的时间,由分组长度和链路带宽决定
- 传播时延
与分组长度、链路带宽无关,与物理链路的长度和在媒介上的传播速度有关
3.2、吞吐量
吞吐量取决于数据流过的链路的传输速率,在没有其它干扰流量时,吞吐量近似为沿着源和目的之间路径的最小传输速率,木桶效应
四、协议层次及其服务模型
4.1、服务
4.1.1、相关名词
- 服务:低层实体向上层实体提供它们之间的通信能力
- 原语:高层使用低层提供的服务,以及低层向高层提供服务都是服务访问原语来进行交互的
- 服务访问点SAP:上层使用下层提供的服务通过层间的接口
4.1.2、服务类型
- 面向连接
两个通信实体为进行通信而建立的一种结合,网络层的连接被称为虚电路
- 面向无连接
两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃
服务与协议的关系?
本层的协议要靠下层提供的服务来实现,本层实体同通过协议向上层提供服务
4.2、分层
4.2.1、应用层
为人类或其它用户进程提供网络应用服务
相关协议有FTP、SMTP、HTTP、DNS
数据单元:报文
4.2.2、传输层
在网络层提供的端到端通信的基础上,细分为进程到进程之间的通信(一个主机有很多应用,如何确定是哪个进程与哪个进程在通信呢?服务访问点)。除此之外,还负责把网络层不可靠的通信变为可靠的通信
相关协议有TCP、UDP
数据单元:报文段
4.2.3、网络层
实现端到端的通信,不可靠
相关协议有IP、路由协议
数据单元:分组(无连接时为数据报)
4.2.4、数据链路层
相邻点之间的通信,可以提供可靠通信也可以提供不可靠通信
相关协议有PPP、802.11、Ethernet
数据单元:帧
4.2.5、物理层
在线路上传送bit
数据单元:位
数据单元在各层之间传输时,需要经过封装与解封装。在封装时,从上层传来的数据单元,与封装后的数据单元,可能存在一对一、一对多(数据单元太长,被分成多片)、多对一(多个数据单元被合并)的关系。

被折叠的 条评论
为什么被折叠?



