计算机网络 第一章 引言
第一章 引言
Computer network(计算机网络):
一组互联的计算机,通过同一种技术自主交换信息
可看见实际的计算机情况,即可见,不透明
计算机网络不是Internet因特网(因特网是一种特殊的覆盖全球的计算机网络)
计算机网络不是WWW万维网(万维网是建立在因特网之上的分布式系统)
计算机网络的组成:
计算机/主机/端系统(数据通信的源端和数据端)
通信链路(分为有线和无线)
交换机/路由器,作为Node节点
Distributed system(分布式系统):
一组独立的计算机,对外是一个统一的系统,是不可见,透明的
在计算机网络的基础上加入中间件(一种应用于分布式系统的基础软件),来实现这个模型
典型的分布式系统:万维网
网络硬件
计算机网络的分类方式:
以传输技术分类:
以传输技术分类:
Personal area network(个域网): 允许设备围绕着一个人进行通信,例如蓝牙网络
Local area network(局域网): 将主机和边缘路由器链接起来,共享同一个通信链路,分为有线局域网和无线局域网
在大多数情况下,每台计算机与安装在天花板上的一个设备通信,这个设备,称为接入点、无线路由器或者基站,它主要负责中继无线计算机之间的数据包,还负责中继无线计算机和Internet之间的数据包
拓扑结构:总线型或环型
- 信道分配:
静态:将时间划分成时间槽,并使用轮循算法,每台机器只能在分配给它的时间槽到来时广播。当一台机器在分配给它的时间槽到来时没有任何数据需要发送,这种静态分配算法就浪费了信道容量
动态:按需分配,可以是集中式的,也可以是分散式的。在集中式的信道分配方法中,有一个中心实体,由这个中心实体决定接下来谁使用信道;在分散式信道分配方法中,没有一个中央实体,每台机器必须自行决定是否可以传输
Metropolitan area network(城域网): 范围可覆盖一个城市,例如有线电视网
- 拓扑结构:树型
Wide area network(广域网): 覆盖范围较广泛的通信网,通常是一个国家、地区或者一个大陆
The Internet(互联网)
- Internet和internet的区别:
internet互联网:网络与网络之间所串连成的庞大网络
Internet因特网:一种特殊的覆盖全球的互联网
- 网关:在硬件和软件方面提供必要的翻译,将两个或多个不同的网络连接起来并提供必要转换的机器
- Internet和internet的区别:
子网,网络,互联网:
子网:路由器和通信链路的集合
网络:子网和它的主机的结合
互联网:不同的网络互联
网络软件
协议层次结构:
网络体系结构: 层和协议的集合,实现的细节和接口的规范都不是体系结构的一部分
为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈或分级栈
每一层都是一个虚拟机,的目的是向更高的层提供特定服务,每层具体实现的细节对外不可见
层,对等体,协议,接口
5层网络
层次设计问题:
可靠性: 差错检测和差错修正;路由选择
网络演进: 协议分层;addressing(寻址)和naming(命名):识别发送者和接收者;internetworking(网络互联):对消息进行拆分、传输,然后重组;可拓展性:网络规模变大时仍能工作良好
资源分配: 统计复用:根据主机的短期需求变化动态共享网络带宽;流量控制,拥塞控制
服务质量QoS:
QoS包含的参数是带宽、时延、抖动、丢包率- 带宽: 在单位时间(一般指的是1秒钟)内能传输的数据量
- 时延: 一个报文或分组从一个网络的一端传送到另一个端所需要的时间。它包括了发送时延,传播时延,处理时延,排队时延。(时延=发送时延+传播时延+处理时延+排队时延)
- 抖动: 如果网络发生拥塞,导致通过同一连接传输的分组延迟各不相同。抖动用来描述延迟变化的程度,也就是最大延迟与最小延迟的时间差
- 丢包率: 丢包率是指在网络传输过程中丢失报文的数量占传输报文总数的百分比
安全性
面向连接和无连接服务:
面向连接服务 | 无连接服务 | |
---|---|---|
参考 | 电话系统 | 邮政系统 |
特点 | 建立连接时分配资源,预先分配资源 | 分配仅当数据到达,动态分配资源,接收机不需要在线 |
Qos | 可靠的传输 | 数据会丢失,乱序或重复 |
目的地址 | 只有建立连接时需要完整地址,后续不用 | 需要完整的目的地址 |
应用 | 大量数据在短时间内转送到目的地 | 少量数据 |
包含服务类型 | Reliable message stream(可靠的报文流) Reliable byte stream(可靠的字节流) Unreliable connection(不可靠的连接) |
Unreliable datagram(不可靠的数据报) Acknowledged datagram(有确认的数据报) Request-reply(请求-响应) |
可靠的报文流和可靠的字节流的区别:
可靠的字节流没有边界,而可靠的报文流则有边界
例如:一个发送进程向一个连接中写入了1024字节数据,然后又写入了1024字节数据。对于可靠的报文流服务,接收进程将收到两个1024字节的数据;而对于可靠的字节流服务,接收进程将可能收到一个完整的 2048 字节的数据,即不能保证上层信息的边界
接口和服务:
服务提供者和服务用户: 第n层的实体向第n+1层提供了服务,第n层称为服务提供者,第n+1层称为服务用户
服务访问点SAP: 第n层的SAP是第n+1层可以访问所提供服务的地方
协议数据单元PDU: 对等体之间通信所传输的信息,平常所称的包就是PDU,PDU=SDU+PCI(协议控制信息)
服务原语: 同一个系统内相邻两层之间交互的信息
例子:
简单的面向连接的服务:
- 系统调用: 操作系统提供给用户的API
原语 | 实例 |
---|---|
LISTEN | 阻塞操作,等待入境连接请求 |
CONNECT | 与等待中的对等实体建立连接 |
ACCEPT | 接受来自对等实体的入境连接请求 |
RECEIVE | 阻塞操作,等待入境报文 |
SEND | 给对等实体发送一个报文 |
DISCONNECT | 终止一个连接 |
服务和协议的关系:
服务(垂直): 定义了某一层向它上一层提供的一组原语(操作),但完全没有说明这些操作是如何实现的;与两层之间的接口有关,下层向上层提供服务
协议(水平): 规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义;服务通过协议实现它的定义
服务和协议是完全分开的,不更改服务的前提下,协议可以随意修改
参考模型
OSI参考模型:
物理层: 在信道上传送原始的比特流
数据链路层: 将一个原始的传输设施转变成一条没有漏检传输错误的线路
发送方将输入的数据拆分成数据帧,然后顺序发送这些数据帧;如果服务是可靠的,则接收方必须给发送方发回一个确认帧
流量控制:避免一个快速发送方用数据“淹没”一个慢速接收方
网络层: 控制子网的运行
路由选择:根据路由表决定转发到哪个链路
- 拥塞控制
异构网络互联:技术不同的网络互联
在广播网络当中,路由问题比较简单
传输层: 接收来自上一层的数据,在必要的时候把这些数据分割成较小的单元,然后把这些数据单元传递给网络层,并且确保这些数据单元正确地到达另一端
传输层还决定了向会话层提供哪种类型的服务
一个完全无错的点到点信道(最为常见)
传输独立的报文但不保证传送的顺序
将报文广播给多个目标节点
会话层: 允许不同机器上的用户建立会话
对话控制:记录该由谁来传递数据
令牌管理:禁止双方同时执行同一个关键操作
同步功能:在一个长传输过程中设置一些断点,以便在系统崩溃之后还能恢复到崩溃前的状态继续运行
表示层: 规定传输信息的语法和语义
- 交换的数据结构必须以一种抽象的方式来定义
应用层: 包含了用户通常需要的各种各样的协议
- 超文本传输协议HTTP
OSI模型的核心是如下3个概念:
服务: 某层实体对于上一层实体的支持
接口: 某层实体对于上一层实体提供的原语操作
协议: 两个对等体之间进行通信所必须遵守的原则
TCP/IP参考模型:
链路层: 描述了链路必须完成什么功能才能满足无连接的互联网络层的需求;不是真正意义上的一个层,而是主机与传输线路之间的一个接口
互联网层: 将整个网络体系结构贯穿在一起,是基于无连接互连层的分组交换网络
因特网协议IP:正式的数据包格式和协议
互联网层的工作是把IP包送到它们应该去的地方
分组路由,转发IP包
拥塞控制
传输层: 允许源主机和目标主机上的对等实体进行对话,是在TCP/IP模型中位于互联网层之上的那一层
定义了两个端到端的传输协议:
传输控制协议TCP:可靠的、面向连接的协议,允许从一台机器发出的字节流正确无误地交付到互联网上的另一台机器
把输入的字节流分割成离散的报文,并把每个报文传递给互联网层
接收TCP进程把收到的报文重新装配到输出流中
流量控制
用户数据报协议UDP:不可靠的、无连接协议
适用于那些不想要TCP的有序性或流量控制功能,而宁可自己提供这些功能的应用程序
应用于及时交付比精确交付更加重要的应用,比如传输语音或者视频
应用层: 包含了所有的高层协议,以及所需的任何会话和表示功能
……未完待续♬