计算机网络 = 通信技术 + 计算机技术
1.计算机网络定义
定义:计算机网络就是互联的、自治的计算机集合
(1)自治:无主从关系(某一个计算机不能控制另外一个计算机)
(2)互联:互联互通(计算机之间要互联互通)
通信链路(光线|同轴电缆|双角线|无线信号|卫星等)|(不可能直连所有的网络设备)
*距离远,数量大如何保证互联
通过交换网络(重要的是:交换节点(路由器|交换机))
*计算机网络是通信技术与计算机技术紧密结合的产物
*通信系统的模型:
信源——>发送设备——>信道(可能会受到噪声源的干扰)——>接受设备——>信宿
*计算机网络就是一种特殊的通信网络(特殊之处在于,信源和信宿就是我们通常说的计算机,发出的信息通常就是一些数字化信息)
2.什么是 Internet
(1)组成细节
*全球最大的互联网络
ISP(Internet Service Provider)网络互联的"网络之网络"
*概念:数以百万计的互联的计算设备的集合
主机 = 端系统
运行各种网络应用
*通过通信链路相连
*实现数据的分组交换:转发分组(数据包)
实现其最重要的设备:路由器和交换机
(2)服务角度
*为网络基础提供服务的通信基础设施
web|网络游戏等
*为网络应用提供编程接口(API)
支持程序"链接" Internet,发送/接受数据
类似于邮政系统的数据传输服务
(3)问题
仅由硬件(主机、链路、路由器 . . .)链接,Internet 能否顺畅运行?能保证数据交付吗?......
答案:NO
需要网络协议
3.什么是网络协议
概念:网络协议简称为协议,是为了进行网络中的数据交换而建立起来的规则、标准或约定
协议规定了通信实体之间所交换信息的格式、意义、顺序及针对收到信息或发生事件所采取的动作
协议是计算机网络有序运行的重要保证
*硬件(主机、路由器、通信链路等)是计算机网络的基础
*计算机网络中的数据交换必须遵守事先约好的规则
*如交通系统
任何通信或信息交换过程都需要规则
4.协议
*协议的三要素:
(1)语法
数据与控制信息的结构或格式
信号电平
(2)语义
需要发出何种控制信息
完成何种动作以及作出何种响应
差错控制
(3)时序
事件顺序
*协议规范了网络中所有信息发送和接收过程
*学习网络的重要内容之一
*网络创新的表现形式之一
*Internet协议标准
5.计算机网络结
(1)网络边缘
主机(端系统)
位于网络边缘,运行程序如:web|email
工作模型:
*客户—服务器应用模型(web应用|文件ftp传输等)
*对等(P2P)应用模型:无专用服务器,通信在对等的实体之间直接进行(QQ|Skype|BT|Gnutella)
网络应用
*接入网络:数字用户线路(DSL)|电缆网络
都使用的是频分多路复用技术
(2)接入网络,物理介质
有线或无线通信链路
(3)网络核心(核心网络)
*解决的问题是:将数据从源主机通过网络核心送达目的主机(利用数交换)
关键功能:路由 + 转发
互联的路由器(或分组转发设备)
发送时根据本:地转发表(由路由算法组成)
6.Internet 结构
*端系统通过 ISP(access ISPs)连接到 Interne
家庭、公司和大学ISPs
*接入ISP进一步互相连接
这样任意两个主机才可以互相发送分组
*构成复杂的网络互联网络
7.数据交换—电路交换
交换:动态转接 |动态分配传输资源
数据交换类型:
(1)电路交换
典型:电话网络最典型
电路交换的三个阶段:
建立连接(呼叫/电路建立)—通信—释放连接(拆除电路)
*最显著的特点:资源独占(两个人在通话个过程中所占用的链路资源不能被第三方所共享)
*多路复用:中继线被共享
(2)报文交换
*源(应用)发送信息的整体
(3)分组交换:统计多路复用
*特点:A&B分组序列不确定,按需共享链路
*存储——转发 的过程
*报文拆分出来的一系小的数据包
*分组交换需要报文的拆分与重组
*产生额外开销
#报文交换和分组交换均采用存储——转发交换方式
*区别:报文交换以完整的报文进行,分组交换需要将报文进行拆分
Question:存储——转发模式交换,哪种交换方式更好呢?
报文交换 VS 分组交换
(1)分组交换(并行的)更省时,并且所需存储空间小
分组交换 VS 电路交换
(1)分组交换允许更多用户同时使用网络(资源共享率更高)
分组交换:
*更适用于突发数据传输网络
资源充分共享
简单,无需呼叫建立
*可能产生拥塞:分组延迟或者丢失
需要协议处理可靠数据传输和拥塞控制
8.多路复用
*简称复用,是通信技术中的基本概念(实现信道共享)
(1)频分多路复用(FDM)
各用户占用不同的带宽(频率带宽:HZ而不是数据发送速率)资源
将信道资源在频率上进行划分(有线电视网络)
(2)时分多路复用(TDM)
将时间划分为一段段等长的时分复用帧,每个用户在每个TDM中帧中占用固定序号的时隙
每用户所占用的时隙是周期性的出现(其周期就是TDM帧的长度)
(3)波分多路复用(WDM)
*就是光的频分复用
(4)码分多路复用(CDM)
*广泛应用于无线链路的共享(如蜂窝网,卫星通信等)
*各用户使用相同频率载波,利用各自码片序列编码数据
*编码信号:原始数据 * 码片序列
*各个用户的码片序列必须相互正交
9.计算机网络性能
(1)速率:即数据率|数据传输速率|比特率
*单位时间(秒)传输信息(比特)量
*计算机网络中最重要的一个性能指标
*单位:b/s | kb/s | Mb/s | Gb/s
(2)速率往往是指额定速率或者标称速率
(3)带宽:最高频率与最低频率之差,单位(Hz)
(3)网络的带宽通常是指数字信道所能传输的最高速率(单位:b/s(bps))
常用的带宽单位:kb/s | Mb/s | Gb/s | Tb/s
(4)
Question:分组交换为什么会发生丢包和时延?
(1)分组在路由缓存中排队
*分组到达速率超出链路容量时
*分组排队,等待输出链路可用
(2)结点处理延迟 | 排队延迟 | 传输延迟 | 传播延迟
10.时延带宽积
时延带宽 = 传播时延 × 带宽
又称为以比特为单位的链路长度
11.分组丢失(丢包)
*队列缓存容量有限
*分组到达已满队列将被丢弃(即丢包)
*丢弃分组可能由前序节点或源重发(也可能不重发)
*丢包率 = 丢包数/已发分组总数
12.吞吐量/率
*吞吐量:表示在发送端与接收端之间传递数据速率(b/s)
即时吞吐量:给定时刻的速率
平均吞吐量:一段时间的平均速率
13.计算机网络的体系结构
*网路体系结构是从功能上描述计算机网络结构的
*简称为网络体系结构,是分层结构
(1)为什么要采用分层结构?
利:
结构清晰,有利于识别复杂系统的部件及其关系
模块化的分层更易于系统更新、维护
有利于标准化
*计算机网络体系结构是计算机网络的各层及其协议的集合
*体系结构是一个计算机网络的功能和层次及其关系的定义
*体系结构是抽象的
(1)实体:表示任何可发送或接收信息的硬件或软件进程
(2)协议:是控制两个对等实体进行通信规则的集合,协议是'水平的'
(3)任一层实体需要使用下层服务,遵循本层协议,实现本层功能,向上层提供服务,服务是'垂直的'
(4)下层协议的实现对上层服务用户是透明的
(5)同系统的相邻层之间是通过接口进行交互,通过服务访问点SAP,交换原语(指示|请求|访问|响应等),指定请求的特定服务
14.OSI参考模型
*开放系统互连(OSI)参考模型是由国际标准化组织(OSI)于1984年提出的分层网络体系结构模型,目的是支持异构网络互连系统的互联互通
*异构网络互联的国际标准
OSI七层(从上到下):每个层次完成特定的网络功能
主机A 中间系统 主机B
7——应用层
6——表示层
5——会话层
4——传输层
3——网络层
2——数据链路层
1——物理层
解释网络通信的过程:
主机要完成所有7层协议,中间系统需要完成三层(1|2|3)
4-7层成为端到端层
简述:
***非端到端实现的功能
1.物理层:实现每一个比特的传输
(1)定义规范接口特性(机械特性|电气特性|功能特性|规程特性)
(2)比特编码
(3)定义传输速率
(4)解决比特同步:时钟同步
2.数据链路层功能:物理链路直接相邻的两个节点只见的数据传输
(1)负责结点-结点数据传输
(2)组帧:接收到数据流时,能分清楚数据
(3)物理寻址:在帧头中增加发送端和/或接受端的物理地址标识数据帧的发送端和/或接受端
(4)流量控制:避免淹没接受端
(5)差错控制:检测并重传破损或丢失帧,并避免重复帧
(6)访问(接入)控制:在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用全
3.网络层功能:从源主机到目的主机可以跨越网络跨越多个链路数据分组的传输/交互
(1)负责源主机到目的主机数据分组交付:可穿过多个网络层
(2)逻辑寻址:全局为一的逻辑地址,确保数据分组被发送到目的主机,如IP
(3)路由:选择路径|路由器(或网关)互联网络,并路由分组至最终目的主机
(4)分组转发
***端到端实现的功能
4.传输层:负责源-目的(端-端)(进程空间)完整报文传输
(1)分段与重组
(2)SAP寻址:确保将完整报文交给正确进程,如端口号
(3)链接控制:端到端的链接控制
(4)流量控制
(5)差错控制
5.会话层:
(1)对话控制:建立|维护
(2)同步:在数据流中插入'同步点'
(3)最宝的一层
6.表示层功能:处理两个系间交换信息的语法与语义问题
(1)数据表示转化:转化为独立的编码
(2)加密|解密
(3)压缩|解压缩
7.应用层:支持用户通过用户代理(如浏览器)或网络接口使用网络(服务)
(1)典型的应用层服务:FTP(文件传输)|SMPT(电子邮件)|HTTP(WEB)等
(2)问什么要进行数据封装?
增加控制信息:构造协议数据单元(PDU)
控制信息主要包括:地址(标识发送端|接受端)、差错检测编码(用于差错检测或纠正)、协议控制(实现协议附加信息,如:优先级|服务质量|安全控制等)
15.TCP/IP参考模型
四层(从上到下):
4.应用层
3.运输层
2.网际层
1.网络接口层
16.5层参考模型
***现实中所运用的
综合OSI和TCP/IP的优点
应用层
传输层
网络层
数据链路层
物理层
**功能:
应用层:支持各种网络应用(HTTP|SMPT|FTP)
传输层:进程-进程的数据传输(TCP|UDP)
网络层:源主机到目的主机的数据分组与转发(IP协议|路由协议等)
链路层:相邻网络的元素(主机|交换机|路由器等)的数据传输(以太网|WIFI|PPP)
物理层:比特传输
17.网络应用
(1)客户机|服务器(C/S)
服务器:
*7*24小时提供
*永久性的访问地址/域名
*利用大量服务器实现可扩展性
客户机:
*与服务器通信,使服务器提供服务
*间接性接入网络
*可能使用动态IP地址
*不会与其它客户机直接通信
WEB典型的C/S结构
(2)P2P(点对点结构)
*没有永远在线的服务器
*任意端系统/结点
*节点间歇性接入网络
*节点可能改变IP地址
文件共享是典型的P2P结构
(3)混合结构
*Napster:
文件传输使用P2P结构
文件搜索采用C/S结构——集中式
每个节点向中央服务器登记自己的内容
每个节点向中央服务器提交查询请求,查找感兴趣的内容
1.网络应用与单机应用有哪些本质性的不同?
2.网络应用采取什么样的体系结构?
3.P2P和C/S相比最大的优点是什么?
优点:高度可伸缩
缺点:难与管理
**网络应用的服务需求
网络应用遵循应用层协议
(1)可靠性/数据丢失
某些网络能够容忍一些数据的丢失:网络电话
某些网络要求100%可靠的数据传输:文件传输|telent
(2)带宽
某些网络应用只有在带宽达到最低要求时才'有效':网络视频
某些应用能够适应任何带宽——弹性应用:email
(3)时延
有些应用只有在延迟足够时才'有效'
网络电话|网络游戏
(4)安全性
**Internet传输层服务模型
(1)TCP
*面向链接:客户机|服务器间进程需要建立连接
*可靠的传输
*流量控制:发送方不会发送速度过快超过接收方的处理能力
*拥塞控制:当网络负载过重时能够限制发送方的发送速度
*不提供时间|延迟的保障
*不提供最小宽带保障
(2)UDP
*无连接
*不可靠的数据传输
*不提供
可靠性保障
流量控制
拥塞控制
延迟保障
带宽保障
**特定网络应用及协议
(1)HTTP
(2)SMTP | POP | IMAP
(3)P2P应用
**网络应用的基础:进程间通信
(1)进程:主机上运行的程序
(2)同一主机上的进程之间是如何通信?
进程间的通信机制
操作系统提供
(3)不同一主机上的进程之间是如何通信?
消息|报文交换
客户机进程:发起通信的进程
服务器进程:等待通信请求的进程
**Socket(套接字)编程(网络应用的开发)
进程之间通信利用socket发送/接收消息实现|类似于寄信|传输基础设施向进程提供API
进程的标识符:IP地址+端口号
(1)TCP
(2)UDP
18.Web应用
*构成要素:网页|网页互相链接
*网页包含多个对象
对象:HTML文件(超文本文件)|JPEG图片|视频文件|动态脚本
基本HTML文件:包含其它对象引用的链接
*对象的寻址
URL:统一资源定位器
Scheme://host:port/path
*遵循HTTP协议
HTTP:超文本传输协议:C/S结构 | 采用客户机——服务器架构(请求|接收|解析|展示web对象)| 服务器——Web Server(响应客户的请求,发送对象)
*使用TCP传输服务
服务器在80端口等待客户请求
浏览器发起到服务器的TCP链接(创建套接字)
服务器接受来自浏览器的TCP链接
浏览器(HTTP客户端)与Web服务器(HTTP服务器)交换HTTP消息
关闭TCP链接
*无状态
服务器不维护任何有关客户端过去发请求的信息
19.