计算机网络的分类
计算机网络的性能指标
速率
数据块(文件)的大小单位是以2^10(1024)为一个级别递增。
例如:
1MB大小的文件,在网速为1Mbps发送的时间需要多少
文件大小的M是2进制来表示的,网速的M为10进制来表示的
文件大小的B是字节(等于8个比特b),网速的bps是指比特b
带宽
用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络中的某一点到另一点所能通过的”最高数据率“;单位与速率单位相同。
吞吐量
吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量;
吞吐量被经常用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络;吞吐量受网络的带宽或额定速率的限制
时延
时延带宽积
常见的计算机网络体系结构
法律上的国际标准是OSI体系结构
- 应用层
- 表示层
- 会话层
- 运输层
- 网络层
- 数据链路层
- 物理层
事实上的国际标准
- 应用层
- 运输层
- 网际层
- 网络接口层
而为了学习计算机网络原理时往往采取折中的办法,折中OSI和TCP/IP的优点,采用五层体系的原理体系结构
原理体系结构
- 应用层
- 运输层
- 网络层
- 数据链路层
- 物理层
计算机网络体系结构分层的必要性
计算机网络最终是要实现各主机,以及主机不同的进程,同主机的进程如何数据传输,因此只需要在各层解决对应的问题,即可实现上述功能
物理层
1.采用怎样的传输媒体(介质)
2.采用怎样的物理接口
3.使用怎样的信号表示比特0和1
数据链路层
1.如何表示网络中的各主机(主机编址问题,例如MAC地址)
2.如何从信号所表示的一连串比特流中区分地址和数据
3.如何协调各主机争用总线(以太网交换机)
主要解决了物理层、数据链路层各自面临的问题就可以实现分组在一个网络上传输了
网络层
1.如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,IP地址)
2. 路由器如何转发分组,如何进行路由选择
运输层
1.如何解决进程之间基于网络的通信问题
2.如果传输错误,如何处理
实现上面四层的问题,就可以实现进程之间基于网络的通信
应用层
1.通过应用程序间的交互来完成特定的网络应用
浏览器的请求流程
浏览器的一个请求,访问到服务器并获得请求详细,这应用进程间的基于网络的通信是如何实现的
1.应用层: 按HTTP协议的规定,构建一个HTTP请求报文,并交给运输层处理
2.运输层:给HTTP请求报文添加一个TCP首部,使之成为TCP报文段,并将TCP报文段交付给网络层处理
以下是TCP报文段的首部格式,其作用是为了区分应用进程,
3. 网络层:给TCP报文段添加一个IP首部,变成IP数据报,并交付给数据链路层处理
4. 数据链路层:给IP数据包添加一个首部和一个尾部使之成为帧(目的是让它能在一个链路上或一个网络上传输)
5. 物理层:接收到帧,物理层将帧看作比特流,并给比特率前面添加一个前导码,目的是让目的主机做好接收帧的准备
路由器如何实现路由转发的
1.物理层:路由器的物理层将信号变换为比特流,去掉前导码后,将其交付给数据链路层(实际上交付的是帧)
2.数据链路层:将帧的首部和尾部去掉后交付给网络层(交付的是IP数据报)
3.网络层:解析IP数据报的首部,从中提取目标网络地址,然后查找路由表,确定转发端口
之后再向之前的一样将其一层层的封装成比特流
计算机网络专用术语
实体
任何可发送或接收信息的硬件或软件进程
对等实体
收发双方相同层次中的实体
协议
控制两个对等实体进行逻辑通信的规则的集合
协议三要素
- 语法
定义所交换信息的格式 - 语义
定义收发双方所要完成的操作 - 同步
定义收发双方的时序同步(TCP三次握手)
服务