概论
1.1互联网
- 从具体构成
网络由结点和边组成
计算机网络:由联网的计算机构成的网络 节点: 主机节点——数据的源、数据的目标; 数据交换节点——路由器(工作在网络层)、交换机(工作在链路层)(它们既不是源也不是目标)数据中转节点
边:通信链路 接入网链路——把主机和交换节点 主干链路——交换节点和交换节点连在一起
协议:支持互联网工作的标准,控制发送、接收消息(TCP、IP、HTTP、PPP)
互联网:网络的网络 主机=端系统,运行网络应用程序 通信链路:传输速率=带宽(bps) 分组交换设备:转发分组(路由器、交换机)
协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和/或接收或其他事件方面所采取的动作。
- 从服务角度
- 使用通信设施进行通信的分布式应用
- 通信基础设施为apps提供编程接口(通信服务)
无连接不可靠服务UDP 面向连接的可靠服务TCP
- 网络结构
- 网络边缘(主机;应用程序:客户端和服务器):目标主机把数据发给网络核心
- 网络核心(互连着的路由器;网络的网络):数据交换作用,将数据传到目标主机
- 接入网、物理媒体(有线或者无线通信链路):将网络边缘接入网络核心
1.2网络边缘
三种模式:
- 端系统(主机):运行应用程序
- 客户/服务器模式(主从模式):扩展性差,达到阈值断崖式下降
- 对等(peer-peer)模式:每个节点即是服务器也是客户端,下载速度快,同时从不同的服务器请求(一个文件可以从多个服务器下载不同的片段)
两种服务:
-
采用网络设施的面向连接服务(只有端系统维护连接、链路不知道) 目的:在端系统之间传输数据 在数据传输之前——握手(打招呼,作准备,确认两个通信主机之间为连接建立状态,再进行数据传输) TCP服务: 可靠地(请求,确认,查询过去,查询结果返回。4步)、按顺序传送数据; 流量控制(协调接收方速度和发送方速度,速度需要匹配,不超过处理能力); 拥塞控制(网络拥塞时,发送方降低发送速率,减缓拥堵) -
采用基础设施的无连接服务 目标:在端系统之间传输数据 无需握手——直接发送数据(上来就发送,对方直接回应) UDP-用户数据报协议: 无连接(查询过去,查询结果返回。2步); 不可靠数据传输; 无流量控制; 无拥塞控制;
1.3网络核心
网络核心:路由器的网状网络 数据通过网络传输2中方式:
- 电路交换(每个呼叫预留一条专有电路)
端到端的资源被分配给从源端到目标端的呼叫“call” 独享资源; 若无数据传输,被发配的资源会被浪费,因为该线路不能被别人使用,此时空闲
使用时将带宽分成片: 频分FDM、 时分TDM(周期)、 波分
不适合计算机之间通信
- 分组交换(数据分组,存储转发)
以分组为单位存储-转发方式(带宽不分片,数据被分组) 资源共享,按需使用(存储、转发:分组每次移动一跳):转发之前,节点必须接收到整个分组,延迟较大,需要排队时间 排队和延迟: 到达速率>链路的输出速率 分组排队,等待传输;若路由器缓存用完,分组被抛弃。
网络核心的关键功能 路由:决定分组采用的源到目标路径(全局,找到路径) 转发:将分组从路由器的输入链路到输出链路 由转发和路由相互配合,原主机将目标能够放出去,目标主机能够收到
分组交换:统计多路复用(时分复用链路资源,但划分时间片的方式不是固定的) 分组交换(按照网络层是否有连接)分成两种方式: 数据报方式:每一个分组携带目标主机完整地址,每个节点根据该完整地址存储转发,两个主机在通讯之前不需要握手,每个分组传递都是独立的。 虚电路:主机和目标主机通信前握手,之间的交换节点保持通信的状态,建立起一条虚拟的线路,每个分组携带一个虚电路号,节点根据虚电路号存储转发,每个节点都有相应标识
1.4接入网络和物理媒体
- 接入网:将网络边缘接入网络核心
两个注意点: 接入网络的带宽; 接入线路是独享or共享。
三种接入方式: 1.住宅接入:modem (猫),通过电话线调制解调;不能同时上网和打电话 2.DSL:仍使用电话线,1-4kHz保留通话,剩余带宽分为上行和下行() 3.线缆网络:用有线电视信号线缆(本身只能下行,保留电视信号,剩下带宽改造为上下行。HFC:上下行非对称,用户共享接入网)
- 物理媒体:将两者连在一起的物理介质
分成两类: 1.导引性媒体:看得见摸得着的(电缆、光线,信号都局限在导体内部,传的远) 2.非导引性媒体:看不见摸不着(开放空间传电磁波,信号会向周边辐射,传的近)
1.5互联网结构和ISP
互联网结构,有两种划分方式: 1.按照上文划分方式(按照节点和链路的类型划分):网络边缘、核心、接入网 2.把关系比较密集,在一个网络中的设备,称之为一个ISP的网络,互联网由很多ISP网络构成;任何一个端系统都是通过接入到ISP接入到互联网。建立全局ISP,将所有ISP接入其中。 松散的层次结构: 中心:第一层ISP,国家/国际覆盖(直接与其他第一层ISP相连,与大量第二层ISP和其他客户网络相连) 第二层ISP:更小些的(区域性)ISP(与第一层ISP相连,也可能与其他第二层ISP相连) 第三层ISP与其他本地ISP:接入网(与端系统最近)
1.6🌟分组时延、丢失和吞吐量
-
分组丢失原因:路由器缓冲区已满,后来到达的分组被丢掉。 -
时延:分组到达链路的速率超过了链路输出能力,分组等待排到队头、被传输。
四种分组延时: 1.节点处理延时:检查bit是否出错,查去向(路由表) 2.排队延时:在输出链路上等待传输的时间,排到队头的时间(取决于路由器的拥塞程度) 3.传输延时:存储转发延时(将队头分组从路由器传出);R = 链路带宽,L = 分组长度,将分组发送到链路上的时间 = L/R 4.传播延时:在链路上的传播时间;d = 物理链路的长度,s = 在媒体上的传播速度(~2x10^8 m/sec),传播延时 = d/s
排队延时取决于流量强度:R=链路带宽,L=分组长度,a=分组到达队列的平均速率;流量强度 = La/R,不能超过1 丢失的分组可能会被前一个路由重传(链路提供可靠的服务),也可能不重传(链路提供不可靠的服务)。如果使用TCP,在链路提供不可靠服务时,由源主机重传。
- 吞吐量:
在源端和目标端之间传输的速率(数据量/单位时间) -瞬间吞吐量:在一个时间点的速率 -平均吞吐量:在一个长时间内平均值 瓶颈链路:端到端路径上,限制端到端吞吐的链路
1.7协议层次及服务模型
- 分层化方法实现复杂网络功能:
将网络复杂的功能分成功能明确的层次,每一层实现其中一个或一组功能; 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+更下层所提供的服务 协议实现的目的:通过接口为上层提供更好的服务;
1.服务:低层实体向上层实体提供它们之间的通信的能力 2.原语:上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的——形式 3.服务访问点SAP:上层使用下层提供的服务通过层间的接口——地点
-
服务的类型 面向连接的服务:TCP方式交互,需要握手。 无连接的服务:两个应用程序采用UDP方式交互,不需要握手。 -
服务和协议
1.区别: 服务:低层实体向上层实体提供它们之间的通信的能力,通过原语操作(垂直); 协议:对等层实体之间在互相通信过程中,需要遵循的规则和集合(水平) 2.联系: 本层协议的实现要靠下层提供的服务来实现; 本层实体通过协议为上层提供更高级的服务。
- 分层处理和实现复杂系统的好处
对付复杂的系统
概念化:结构清晰,便于标示网络组件,以及描述其相互关系(分层参考模型) 结构化:模块化更易于维护和系统升级(改变某一层服务的实现不影响系统中的其他层次;如改变登机程序并不影响系统的其他部分)
- 互联网协议栈
应用层:网络应用(SMTP、HTTP、DNS、FTP) 传输层(运输层):主机之间的数据传输(TCP、UDP) 网络层:为数据报从源到目的选择路由 链路层:相邻网络节点间的数据传输 物理层:在线路上传送bit
应用层——报文 传输层——报文段(进程到进程之间的区分、提供可靠数据传输) 网络层——数据报(传输以分组为单位,源主机到目标主机端到端传输) 链路层——帧(解决相邻两点的传输) 物理层——bit(把数字数据转换成物理信号)
应用层
2.1应用层协议原理
网络应用的体系结构:
- 客户-服务器模式(C/S)
服务器:一直运行;固定IP地址和周知端口号;扩展性,服务器场,扩展性差 客户端:主动与服务器通信;与互联网有间歇性的连接;可能是动态IP地址;不直接与其他客户端通信 - 对等模式(P2P)
几乎没有一直运行的服务器;任意端系统之间可以进行通信;每一个节点即是客户端又是服务器;参与的主机间歇性连接可以改变IP地址 - 混合体:客户-服务器和对等体系结构
Napster:文件搜索——集中(主机在中心服务器上注册其资源,主机向中心服务器查询资源位置);文件传输——P2P(任意Peer节点之间传输文件) 即时通信:在线检测——集中(用户上线时,向中心服务器注册其IP地址;当用户与中心服务器联系,以找到其在线好友的位置);两个用户聊天之间——P2P
进程通信:
进程:在主机上运行的应用程序 1.同一个主机内,使用进程间通信机制通信(操作系统) 2.不同主机间,通过交换报文来通信
客户端进程:发起通信的进程 服务器进程:等待连接的进程
2.2Web和HTTP
2.3FTP
2.4Email
2.5DNS
2.6P2P应用
2.7CDN
2.8TCP套接字(Socket)编程
2.9UDP套接字编程
|