1. 计算机网络的定义
- 最简单的定义:互连、自治的计算机集合
- 互连:计算机直接可以通过有线或者无线的方式进行通信
- 自治:独立的计算机,有自己的软硬件,可以单独运行使用
- 集合:至少需要两台计算机
- 计算机的定义随着时代的发展而不同,目前较好的定义:计算机网络是由一些通用的、可编程的硬件互联而成的,而这些硬件并非专门用来实现某一特定目的(例如:传送数据或者视频信号)。这些可编程的硬件能够专门用来传送不同类型的数据,并能支持广泛的和日益增长的应用
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等智能硬件。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
2. 计算机网络分类
3. 计算机网络的性能指标
1. 速率
1 bit/s=1 bps
2. 带宽
- 在模拟信号系统中的意义
- 带宽在计算机网络中的意义
eg:1MB/S,说明主机1s之内可以向链路发送1MB的数据
3. 吞吐量
单位:b/s,kb/s,Mb/s
4. 时延
发送时延和传播时延谁站主导应该具体情况具体分析
5. 时延带宽积
公式:传播时延*带宽
又称容量:即以比特为单位的链路长度(某段链路当前有多少bit)
6. 往返时间RTT
7. 利用率
可以把链路比作车道,bit比作车辆
8. 丢包率
4. 计算机网络体系结构
1. 常见的计网体系结构
1.OSI体系结构
2.TCP/IP
OSI不符合市场,而且实现起来较为复杂,专家没有相应的事迹经验,因特网的TCP/IP已经占据了主流
3. 原理体系结构
综合了TCP/IP和OSI体系结构
2. 认识分层结构的必要性
"分层"可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
-
物理层:两台设备如何交换信息需要考虑哪些问题
假设在一个总线型的链路上,1. A要给C发送数据,如何标识是要发给C的,2. 又引出一个问题,怎么从一连串比特流中区分地址和数据 3. 信号碰撞问题,现在常用的线路是以太网交换机
-
链路层
以太网交换机的问题 -
网络层
当有多个网络时,1. 需要标识各网络以及各网络中的主机(比如A类IP地址的前8位标识网络,后24位标识主机) 2. 可走的路径不同,如何分组转发路由选择
4. 传输层
假设如何解决进程之间基于网络通信的问题以及传输错误
5. 应用层
设置一些协议
6. 总结
3. 分层思想实现过程
该视频建议反复观看
从浏览器到服务器的一段通信
1. 应用层
按照http协议的规定,构建一个http请求报文
2. 传输层
应用层把http报文交付给运输层处理,运输车给HTTP报文加上TCP首部字段,该字段的内容如下,目的是为了区分应用进程以及实现可靠传输
3. 网络层
应用层把数据交付给网络层处理,网络层给TCP报文添加一个IP首部,使之成为IP数据报,IP首部格式如下:为了使得IP数据报可以在互联网上传输,也就是可以被路由转发
4. 链路层
网络层把数据交付给链路层处理,链路层给IP数据报加上首部和尾部ETH,使之成为帧,以太网的帧的格式如下,该首部的作用是让帧能够在一段链路上或一个网络上传输,能够被相应的目的主机接收,其尾部的作用是让目的主机检查所接收到的帧是否有误码
5. 物理层
链路层把帧交付给物理层,加上前导码,物理层把帧看做是比特流,物理层把比特流变为响应的信号通过传输媒体到达路由器
6. 到达路由器后
物理层把信号变为比特流,去掉前导码后,再变为帧,交付给帧
链路层去头部和尾部,交付给网络层
网络层解析IP数据表首部,提取目的网络地址,查找自身的路由表,确定转发端口,
然后又交付给链路层…物理层…
7. 到达web服务器后
物理层把信号变为比特流,去掉前导码后,再变为帧,交付给帧
链路层去头部和尾部,交付给网络层
网络层把IP数据报首部去掉后,把TCP报文段交给运输车
运输层去掉TCP首部,把HTTP报文交给应用层
应用层对HTTP请求报文进行解析,发回HTTP响应报文
响应报文传回去又是一样的步骤,只不过方向不一样
4. 计网体系结构的专业术语
1. 实体
实体指的是任何可发送或者接收信息的硬件或软件进程
对等实体:收发双方相同层次的实体
下图的A-J小方块都表示实体,网卡也是
2. 协议
- 什么是协议:控制两个对等实体进行逻辑通信(其实这种通信实际上并不存在,但是为了方便我们研究,就只关注对等实体之间的通信即可)的规则的集合
- 协议的三要素:语法、语义、同步
-
语法:定义所交换的信息的格式,例如IP数据报文、HTTP报文的格式
-
语义:定义收发双方所要完成的操作
-
同步:定义收发双方的时序关系
3. 服务
服务访问点
服务原语
协议数据单元PDU