计算机网络和因特网
计算机网络
- 计算机网络 =通信技术+计算机技术
一、因特网
1.1具体构成描述
即构成因特网的基本硬件和软件组成
总结:
- 因特网就是由一系列终端通过链路、交换设备等中间件连接起来的具有数据交换功能的网络
- 端系统通过通信链路和分组交换机连接到一起
- 通信链路由不同类型的物理媒介组成, 不同的链路以不同的速率传输数据
- 路由器和链路层交换机在入/出通信链路接收和转发信息包(分组packet),并朝着最终目的地转发分组。
- 一个分组所经历的一系列通信链路和分组交换机成为通过该网络的路径(path或route)
- 端系统通过因特网服务提供商(ISP)接入因特网
- 端系统、分组交换机和其他因特网部件都要运行一系列协议(protocol),这些协议控制因特网中信息的接受和发送。
1.2 服务描述
为应用程序提供服务的基础设施角度描述因特网
因特网就是为应用程序提供数据传输等服务的基础设施。
1.3 协议
仅有硬件(主机、链路、路由器…)连接,Internet能否顺畅运行?能保证应用数据有序交付吗? —————— No
- 硬件(主机、链路、路由器等)是计算机网络的基础
- 计算机网络中的数据交换必须遵守实现约定好的规则
- 协议是计算机网络有序运行的重要保证
- 任何通信或信息交换过程都需要规则
- 协议规范了网络中所有信息发送和接受过程
1.3.1 协议的定义
网络协议(network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
协议规定了通信实体之间所交换的信息的格式、意义、顺序以及针对收到信息或发生的时间所采取的‘动作’。
1.3.2 协议的三要素
- 语法(syntax)(数据与控制信息的结构或格式;信号电平)
- .语义(Semantics)(需要发出何种控制信息;完成何种动作以及做出何种响应;差错控制)
- 时序(Timing)(事件顺序;速度匹配)
1.3.3 Internet协议标准
- RFC:Request for Comments
- IETF:互联网工程任务组(Internet Engineering Task Force)
二、网络边缘
主机(端系统)
- 位于“网络边缘”
- 运行网络应用程序
- 主机划分为两类:客户和服务器
- 如:Web,email
客户/服务器(client/server)应用模型:
- 客户发送请求,接收服务器上映
- 如:web应用,文件传输FTP应用
对等(peer-peer,P2P)应用模型:
- 无(或不仅依赖)专用服务器
- 通信在对等实体之间直接进行
- 如:Gnutella,BT,Skype,QQ
2.1 接入网
2.1.1 接入网的定义
接入网:指将端系统物理连接到其边缘路由器的网络
用户关心的是:带宽(bandwidth)(bps)? 共享/独占?
2.1.2 接入网的类型
2.1.2.1、家庭接入网络:DSL(数字用户线路)、电缆、FTTH、拨号和卫星
1、DSL(数字用户线路)因特网接入
2、电缆因特网接入
2.1.2.2、企业(和家庭)接入网络:以太网和WiFi
2.1.2.3、无线接入网络
2.2 物理媒体
比特从源端系统到目的地传输时,通过一系列 “发射器 - 接收器” 对。
对于每个 “发射器 - 接收器” 对,通过跨越一种物理媒体(physical medium)传播电磁波或光脉冲来发送该比特。
物理媒体分成两种类型:引导型媒体(guided media)和非引导型媒体(unguided media)。
2.2.1 引导型媒体
1、双绞铜线:
- 双绞线由两根绝缘的铜线组成,每根大约 1mm 粗,以规则的螺旋状排列着。
- 这两根线被绞合起来,以减少邻近类似的双绞线的电气干扰。
2、同轴线缆:
- 与双绞线类似,同轴电缆由两个铜导体组成,但是这两个导体是同心的而不是并行的。
- 借助于这种结构及特殊的绝缘体和保护层,同轴电缆能够达到较高的数据传输速率。
3、光纤:
- 光纤是一种细而柔软的、能够引导光脉冲的媒体,每个脉冲表示一个比特。
- 一根光纤能够支持极高的比特速率,高达数十甚至数百 Gbps。
- 它们不受电磁干扰,长达 100km 的光缆信号衰减极低,并且很难窃听。
2.2.2 非引导型媒体
1、陆地无线电信道:
- 无线电信道承载电磁频谱中的信号。
- 它不需要安装物理线路,并具有穿透墙壁、提供与移动用户的连接以及长距离承载信号的能力。
- 无线电信道的特性极大地依赖于传播环境和信号传输的距离。
2、卫星无线电信道:
- 一颗通信卫星连接地球上的两个或多个微波发射器/接收器,它们被称为地面站。
- 该卫星在一个频段上接收传输,使用一个转发器再生信号,并在另一个频率上发射信号。
- 通信中常使用两类卫星:同步卫星和近地轨道。
三、网络核心
3.1 网络核心的两个关键功能
路由+转发
3.2 数据交换方式
3.2.1分组交换(packet-switching)
3.2.1.1 分组交换的定义:
主机将应用层消息分成包,将数据包从一台路由器转发到下一台路由器,通过从源到目的地路径上的链路,每个分组以全链路容量传输。
优点:
(1)分组交换不需要为通信双反预先建立一条专用的通信线路,不存在连接建立时延,用户可随
时发送分组。
(2)由于采用存储转发方式,加之交换节点具有路径选择,当某条传输线路故障时可选择其他传
输线路,提高了传输的可靠性。
(3)通信双反不是固定的战友一条通信线路,而是在不同的时间一段一段地部分占有这条物理通
路,因而大大提高了通信线路的利用率。
(4)加速了数据在网络中的传输。因而分组是逐个传输,可以使后一个分组的存储操作与前一个
分组的转发操作并行,这种流水线式传输方式减少了传输时间。
(5)分组长度固定,相应的缓冲区的大小也固定,所以简化了交换节点中存储器的管理。
(6)分组较短,出错几率减少,每次重发的数据量也减少,不仅提高了可靠性,也减少了时延。
缺点:
(1)由于数据进入交换节点后要经历存储转发这一过程,从而引起的转发时延(包括接受分组、
检验正确性、排队、发送时间等),而且网络的通信量越大,造成的时延就越大,实时性较差。
(2)分组交换只适用于数字信号。
(3)分组交换可能出现失序,丢失或重复分组,分组到达目的节点时,对分组按编号进行排序等
工作,增加了麻烦。
3.2.1.2 存储转发(store-and-forward)
存储转发是指在交换机能够开始向输出链路传输该分组的第一个比特之前,必须接受到整个分组。
3.2.1.3 排队延迟、丢失
3.2.1.4 转发表和路由选择协议
- 每台路由器具有一个转发表(forwarding table),用于将目的地址(或目的地址的一部分)映射成为输出链路。
- 当某一分组到达一台路由器时,路由器检查该地址,并用这个目的地之搜索其转发表,以发现适当的出链路,路由器则将分组导向该出链路,从而决定分组应该向哪条链路进行转发。
- 路由器使用分组的目的地之来索引转发表并决定适当的出链路。
- 路由选择协议(routing protocol),用于自动地设置这些转发表,例如:一个路由选择协议可以决定从每台路由器到每个目的地的最短路径,并使用这些最短路径结果来配置路由器中的转发表。
3.2.2 电路交换(circuit switching)
3.2.2.1 电路交换概念
电路交换的三个阶段:
- 建立连接(呼叫/电路建立)
- 通信
- 释放资源(拆除电路)
独占资源
优点:
(1)由于通信线路为通信双方用户专用,数据直达,所以传输数据的时延很小。
(2)通信双方之间的屋里通路一旦建立,双方可以随时通信,实时性强。
(3)双方通信时按发送顺序传送数据,不存在失序问题。
(4)电路交换既适用于传输模拟信号,也适用于传输数字信号。
(5)电路交换的交换设备及控制均比较简单。
缺点:
(1)电路交换平均连接建立时间对计算机通信来说较长。
(2)电路交换家里连接后,物理通路被通信双方独占,即使通信线路空闲,也不能供其他用户使用,因而信道利用率低。
(3)电路交换时,数据直达,不同类型,不同规格,不同速率的终端很难相互进行通信,也难以在通信过程中进行差错控制。
3.2.2.2多路复用
多路复用(Multiplexing):链路/网络资源(如宽带)划分为‘资源片’,
- 将资源片分配给各路‘呼叫’
- 每路呼叫独占分配到的资源片进行通信
- 资源片可能‘闲置’(无共享)
1、频分多路复用(FMD)
2、时分多路复用(TDM)
3、波分多路复用(WDM)
波分复用就是光的频分复用
4、码分多路复用(CDM)
3.2.3 分组交换VS电路交换
若传输的数据量很大,而且传送时间远大于呼叫时间,则采用电路交换较为合适;
当端到端的通路有很多段链路组成时,采用分组交换较为合适。
从提高整个网络的信道利用率上看,分组交换优于电路交换。
分组交换 | 电路交换 |
---|---|
无连接 | 面向连接 |
网络层 | 物理层完成 |
没有用于传输数据的特定路径,因此仅直接进行数据传输。 | 由于存在预定义的路径,因此存在3个不同的阶段,例如连接建立,数据传输,拆除/连接关闭。 |
数据的不同部分到达目的地。 因此,有可能发生乱序,因此将交换数据。 | 数据将以相同的顺序进行。 |
如果数据很小,则数据包交换很有用 | 如果数据很大,电路交换很有用 |
数据包之一可能会丢失。 因此通讯不可靠。 | 确保将以相同的顺序接收总消息。 这样通讯更加可靠。 |
需要更少的资源。 | 即使减少通信量也需要更多资源。 |
优于电路交换的主要优点是,如果一条路径丢失,则仅该路径上的数据包将被重新启动。 但不是整个数据包 | 主要缺点是,如果在任何地方失去连接,则必须重新启动整个通信。 |
3.3 ISP和因特网主干
Q:数以百万计的计入ISP是如何互连在一起的呢?
方案一:直接互连,不适用于大规模网络:O(N^2)连接问题
可选方案:将每个接入ISP连接到一个国家或全球ISP(GLobal ISP)?
四、分组交换中的时延、丢包和吞吐量
4.1 四种分组延迟
4.2 排队时延和丢包
排队时延很大程度上取决于流量到达该队列的速率、链路的传输速率和到达流量的性质。
丢包:一条链路前的队列只有有限的容量,到达的分组发现一个满的队列,由于没有地方存储这个分组,路由器将丢弃改分组
4.3 端到端时延
从源到目的地的总时延
假定在源主机和目的主机之间有 N - 1 台路由器, 我们还要假设该网络此时是无拥塞的(因此排队时延是微不足道的)。
- 在每台路由器和主机上的处理时延是 dproc
- 每台路由器和源主机的输出速率是 R bps
- 每条链路的传播时延是 dprop
- 结点时延累加起来,得到端到端时延:
4.4 吞吐量
五、协议层次及服务模型
5.1 OSI参考模型
5.1.1 应用层功能
5.1.2 表示层功能
5.1.3 会话层功能
5.1.4 传输层功能
5.1.5 网络层功能
5.1.6 数据链路层功能
5.1.7 物理层功能
5.2 数据封装
5.3 TCP/IP 参考模型
5.4 五层参考模型
5.5 五层模型的数据封装
数据封装过程
- 应用层:原始数据被转换成二进制数据
- 传输层:二进制数据被分割成小的数据段,并封装TCP头部 (数据段)
(TCP头部的关键信息–端口号) - 网络层:传输层传来的数据被封装上IP头部 (数据包)
(IP头部的关键信息–IP地址) - 数据链路层:网络层传来的数据被封装上MAC头部 (数据帧)
(MAC头部的关键信息–MAC地址) - 物理层:二进制数据组成的比特流转化为电信号在网络中传输 (比特流)
- 链路层交换机实现了第一层和第二层,如以太网地址;
- 路由器实现了第一层到第三层,意味着因特网路由器能够实现IP协议
- 主机实现了所有5个层次
数据包在网络中的传输过程:
数据包首先会在源计算机中从上到下挨个封装信息,然后通过IP地址和MAC地址在交换机和路由器中转发,最终来到目标计算机,目标计算机对数据包从下到上挨个拆封验证,最终通过端口号见数据包交付给对应的进程。