计网重要内容:以太网、协议、网络设备
前言
推荐书籍
- 谢希仁著:《计算机网络(第6版)》,电子工业出版社,2013.6
- 最最最 最经典最权威 的教材、考研 计算机网络科目的 统考 教材
- 唐纳德.斯蒂文,TCP/IP协议祥解,电子工业出版社
- 不适合作为教材,适合当作字典使用,遇到问题了到里面查一下。
- 对于本科生而言,卷一足够了—— 研究生入学考试 的计算机网络课程就是卷一,博士生入学考试 的计算机网络课程就是卷一卷二。
- 计算机网络:自顶向下方法(原书第6版),机械工业出版社,2014.
Internet是什么?
- 概念:计算机网络是由多个计算机相互连接组成的。
- 特征:
- 计算机网络连接的电脑都要能独立运行(autonomous)、没有主从关系
有些没有硬盘等的电脑不算独立运行 - 网络中的计算机可以分布在任何地方
- 两台电脑是互联的——只要能交换信息就是互联的
- 网络可以是许多种大小、形状、形式的。
- 计算机网络的组成
- 硬件:
①终端:PC, Host, MainFrame, Client…
②中间系统
③接口:网卡、Modem
④介质(Medium):网线、同轴电缆、光纤、无线网络等 - 软件
①网络协议(计算机网络的核心)
②应用程序
资源共享和信息传递是由功能完善的软件实现的
-
功能组成
==网络的七层结构:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 ==
①通信子网:实现数据通信(七层的顶三层,应用层、表示层、会话层)
②资源子网:实现资源共享/数据处理(七层的底三层:网络层、数据链路层、物理层)
小结:可理解为①通信子网是面向使用者操作方面的,所以有应用、表示、会话层,应用层理解为一个个单独的应用,表示层理解为应用的界面如何,会话层理解为应用与服务器进行交流会话;
中间有个传输层,可以理解为数据从使用者这儿发出然后需要传送到物理结构的地方,所以有传输层负责传输数据;
而②理解为面向底层数据的,网络层就是数据传输的时候网络方面要注意哪些东西,数据链路层理解为数据在电路或者终端形成的网络中如何传输和连接,物理层就是与数据的物理存储有关。 -
网络的应用
①资源共享:硬件共享(打印机等)、软件共享(共享文档等)、数据(pdf、word文件等)共享等。
②信息共享:查阅新闻等等。
③通信共享:视频会议、网络电话等。
④普适计算:
⑤移动端用户: -
计算机网络分类
-
按拓扑分类
①总线型拓扑(bus):用的是同轴电缆
②环形拓扑(circuit):只能单向传输,任一节点出现问题,都会导致整个环无法运作
③星型拓扑():一个在中心,向四周发散出许多的单个节点
④扩展的星型拓扑():一个在中心,向四周发散出许多个星型拓扑结构
⑤全连接拓扑(现在最常用的):就是每两个节点都连接上了 -
按范围分类
①局域网(LAN)
②广域网(WAN)
③互联网 -
按边界分类
①内网
②外网 -
按使用者分
①公用网:交钱就能用,比如三大运营商提供的网络服务
②专用网:军队、政府等等的网络 -
按交换技术分
①电路交换
②报文交换
③分组交换 -
按传输技术分
①广播室网络:可以满足一个人发送了消息、所有人都收到消息
②点对点网络:可以实现一对一的发送消息
- 网络的基本结构
-
具体细节方面(“Nuts and bolts” view),网络分为:
①数以亿计的连接了的计算设备。
hosts = end systems
②运行中的网络应用
③通信连接:通过光纤、铜缆、无线电、卫星等。 带宽 = 传输速率,前者表示单位时间内数据传输量的最大值,后者表示单位时间内数据传输量的实时值
④路由器:发送包。包就是数据的组块(chunk)
⑤协议控制收发信息:TCP/IP/HTTP/FTP/PPP等
⑥Internet:是计算机网络的网络,相当于嵌套了,是把全球各个地方单独的一个个小的计算机网络给连成了一片大的计算机网络。它的层次结构松散,而且
这里的⑥要再问问老师,关于ppt中network of networks
⑦Internet标准:所有的计算机要进行通信,就要遵循一定的规则,否则互相就会“无法理解”——比如一些游戏可能在32位/64位机上 不兼容就无法运行等等。
标准有:RFC、IETF
a. IETF:国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)为一个公开性质的大型民间国际团体,汇集了与互联网架bai构和互联网顺利运作相关的网络设计者、运营者、投资人和研究人员,负责因特网相关标准的制定。
b. RFC:Request For Comments,是因特网标准的形式,只要是一个因特网,就一定是RFC形式,但是不是所有的RFC都是因特网标准。 文件收集了有关互联网相关信息,以及UNIX和互联网社群的软件文件,以编号排定。
RFC由互联网工程任务组(IETF)审核通过并发布。
还有一个最重要的组织:
国际标准化组织ISO:建立了OSI参考模型和HDLC协议 -
更近的角度方面,网络分为:
①网络边界:理解为网络核心周围围着的一圈,是许多许多的应用和终端,是用户直接使用的
②网络访问和物理介质:比如有线的和无线的通讯连接
③网络核心:理解为网络边界所围一圈的中间就是网络核心,是互联的路由器、网络的网络(Internet),为网络边界的应用和终端服务 -
从服务的角度看,网络分为:
①通讯基础设施使得分布式应用成为可能:网页、邮件、游戏、文件共享等等
②提供给应用软件的通讯服务:如果是不连接的(不总是安全的但是成本低)、如果是面向连接的(安全但是成本高)
a. 面向连接的服务分为三步:首先握手、然后数据传输、最后连接中断。比如打电话:拨号并应答、说话说话说话、挂断电话。
面向连接的服务的目标:在终端之间进行数据交换。
常用的面向网络连接的服务的协议:TCP协议(Transmission Control Protocol),TCP有两个特点:可信、有序。
b. 无线连接服务:不总可靠,可能发收不及时、可能收不到。目的是在两个终端进行数据传输
面向不连接的服务的协议:UDP协议(User Datagram Protocol),UDP有以下特点:不需要连接、数据传输不可靠、没有流控制、拥塞控制。
使用TCP 的应用:HTTP(Web)、FTP(file transfer)、Telnet(remote login)、SMTP(email)
使用UDP 的应用:流媒体、远程会议、DNS(用UDP效率高速度快,如果出错了就重新xxxxx)、QQ等
- 网络边界:
- 模型分类:
①客户端服务器模型:客户端发起请求、服务器响应请求;客户端和服务器可以直接通讯,但客户端与客户端之间不能直接通讯。
②P2P模型:每个终端既是客户端也是服务器,用于文件传输。
如果出现丢包,则需要双方进行收发确认并重新发送。 - 丢包问题的两种解决方式:
①流控制:是局部性的,接收方会告诉发送方能接收多大的数据,从而使发送方发送的速度不超过接收方的速度,是为了预防拥塞现象的出现
②拥塞控制:是全局性的,涉及到所有的主机和降低网络性能的因素如:在马路上行车,交警跟红绿灯是流量控制,当发生拥塞时,如何进行疏散,是拥塞控制。流量控制指点对点通信量的控制。
- 网络核心
-
主要问题:数据是如何通过网络传输的
-
有两种传输方式:
①电路交换:所有都顺着电路交换,数据是按照有序字节流传输的。
提供的是面向连接的服务,由于资源的预留,可以保证两个端可以占用所有带宽进行通信。对于电话网络而言效率很高、信道利用率可以是100%;但是对于计算机数据网络来说效率很低,因为真正有数据传输的时间比较少,传输的数据不连续、绝大部分连接上的资源存在浪费。
针对上述浪费问题,划分信道可以解决。引入multiplexing(多工、复用)。划分方式有:频率划分(frequency division)、时间划分(time division)、编码划分(code division)。
不同划分方式的举例:
FDM:电台频率划分,即多个用户同时使用带宽的不同范围
TDM:时间划分,即宏观并行、微观串行,即多个用户轮流使用信道。但是信道利用率不到50%,同样会产生资源浪费。于是可以采用统计时分多路共用,就是根据最活跃的有几个用户,则把周期长度减小到对应的长度。(还需要提问和复习)
电路交换网络在计算时间的时候,一定不能忘了连接建立时间
CDM:就是每一组端到端发送的数据都设有一个只能其二者能理解的编码格式,这样虽然接收的时候也会接收到其他格式的数据,但是由于只能识别自己定好的编码格式的数据,就可以忽略其他编码格式的数据。②分组交换:数据以分组的形式、也是以数据包的形式传输,一次传一个包,数据可不走同一条路。
多个端抢用信道,抢到了就全速占用资源,其他的就进行等待。我需要的资源少于能够提供的资源,则
存储转发:一个包到了一个路由器过后,要等待其他包到了,再进行转发。
二者总结比较:分组交换网络的信道利用率更高。
在分组交换中提供电路交换的xxxxx
- 网络接入
分为家用网络接入
最原始的是点对点的访问,是拨号上网——速度慢、上网和打电话不能同时进行
现在家用网络接入的主流是ADSL(非对称的数据贡献):信号进入家庭后有一个分频器,一部分分给电话一部分给modem上网——但因为上行的一部分带宽分给了电话,所以上网的上行速率比较低,而家庭很多情况都是下载数据,所以下行的带宽为电话分得少、上网的下行速率比较高。
HFC(混合光纤同轴电缆):主要用于有线电视网络和数据网络的融合。
有线电视欠费后1-6就关掉了,但是78还能用(网络欠费同理);
现在一般无线路由器和有线路由器是合并的,一个路由器既有无线也有有线的功能。
FTTX技术:
FTTH:光纤到户(也是主要的技术)
FTTB:光纤到楼,进楼后再用电缆分配给各个用户
FTTC:光纤到小区
企业主要采用以太网,会在链路层进行详细的介绍。
无线网包括无线局域网、广域无线网(主要是移动网络如3G4G等,覆盖范围广但是速度慢)。
传输介质:有线介质主要是三类:双绞线(Twisted Pair)、同轴电缆(coax)
双绞线——传的是电信号,是一对一对绞在一起的,可以减少磁场减少干扰。没加金属网的没有信号屏蔽(UTP),加一层金属屏蔽网后会进行信号屏蔽(STP),但会导致成本增加.
同轴电缆:传的是电信号,中间的铜线要处于包裹的金属网的中心,现多用于电视网络,电缆是双向传输的,分为基带电缆(也叫细电缆,baseband)——只能传一路信号;宽带电缆(broadband)——可以传多路信号,主要用在HFC。
光纤(fiber):传的是光信号,以玻璃为介质,高速、低错误率,可完全忽略电磁干扰。
无线(radio):不稳定、容易反射容易衍射容易干涉、有遮挡的地方信号不好。根据radio的波长,可以分为微波、LAN(如WIFI)、广域的蜂窝网、卫星网络(延迟特别大,特别是低纬度卫星) - 协议(Protocol)
Protocol是为了进行网络中的数据交换而建立的规则、标准或约定,用于不同系统中实体间的通信。
两个实体要想通信,必须有“同一种语言”,而且,对于通信内容,怎样通信和何时通信,都必须遵守一定的规定,这些规定就是协议。
- 亦可简单地定义为:控制两实体间数据交换的一套规则。在电子通讯连接中,各个不同的层次都有自己的协议。例如,硬件设备层次和应用程序层次的数据交换都有自己的协议。
- 请求网页的过程:浏览器发起TCP连接请求、返回TCP连接回应、浏览器用GET/POST/REQUEST等方法获取网页文件。
-
发展历史
重要的是Cerf and Kahn’s internetworking principles,因为它定义了当今互联网的结构 -
标准化工作
- 法定标准:由权威机构制定的正式、合法的标准 OSI
- 事实标准:占了市场主导地位的产品形成一种潮流,也就形成了标准,如TCP/IP协议
(自己也是可以制定标准滴)
网络结构和网络服务供应商
- 网络接入
- ISP(Internet Service Provider):提供网络服务的机构,如三大运营商、中国教育科研网(教育网的主机在清华大学)等
① ISP的分层:国家主干网、区域网(如华南地区、华北、华中、东北地区等)、局域网,分别也叫第1层、第2层、第3层。在同一ISP内通信会较快,跨ISP会比较卡。
第1层:是主干、在中心。第1层的各个ISP是互通的,比如使用电信网络可以下载由联通网络提供的文件等等。
第2层:是第1层的客户,给第1层支付一定的费用使用网络,与自己所对应第1层连通、也可能与其他第2层连通
第3层:一些本地的网络服务提供商
②ISP只提供网络连接的基础设施,不提供网络上的内容,即只安装水管,但是水管里没有水
网络上的内容由ICP提供(Internet Content Provider) - 数据包在网络上的传输路径:
- 评价网络性能的三个因素
-
带宽(Bandwidth):数据发送的能力,单位时间内发送数据的多少
-
延迟(Delay):指数据在路由器等地方排队等所花费的时间
-
丢包(loss):指路由器的缓存占满后数据无处排队导致丢失
- 网络的三种表现:
-
数据率(Data Rate):计算机网络上的主机在数字信道上的传送数据的速率
-
带宽(Bandwidth):通信上的带宽,就是高频带宽减去低频带宽;计算机网络的带宽,就是数据的发送速率,就是单位时间内链路上能传输的最大的数据量。
-
吞吐量(Throughput):单位时间内,接收节点收到的来自某个特定节点发送的数据,叫做某两个节点之间的吞吐量;吞吐量由瓶颈速率(也叫额定速率)限制,即取发送、接收、传输速度的最小值
吞吐速度:吞吐量除以时间
- 信道
- 信道分类
(1)按介质不同
①物理信道:指的电缆等传输介质
②逻辑信道:指的电波频率的划分等,比如无线电信号的0 ~ 99频率段属于某个功能用途。
(2)按传输方向不同
①单通信道(One-way communication):只能完成接收或者发送,只能实现单一功能。
②双通信道:分为半双通信道和全双通信道。
半双通信道:可以双向传输,但是同一时间内只能单向传输,比如对讲机,按下过后就能说话但此时不能接收,松开后就可以接收但不能说话。以太网就是半双通信道。
全双通信道:可以双向传输,且同一时间内也能双向传输,比如现在的语音通话,在说话的同时也能听到对方说的话 - 信道传输的容量:带宽(单位为Hz)或者数据率(单位为bps)
- 延迟和丢包
- 延迟
(1)产生原因
数据包在路由器的缓冲区排队(比如包到达链路上的速率大于了链路的容量,此时数据包需要排队等待)
(2)延迟的四种来源
①节点处理延迟:检查数据bit的错误、决定往哪条链路传、数据打包和拆包等所花费的时间
②排队延迟:由路由器的拥挤程度(包括数据的多少和路由器的缓存大小)决定,数据到路由器了但不是马上就能被转发走,因为还有其他数据
③传输延迟:数据bit从路由器到链路上所需要的时间(此时还没开始传播,即还没开始向目标节点前进),传输延迟 = 数据包的长度(bits) / 链路的带宽(bps)
④传播延迟:数据bit从路由器到链路上后开始计时,数据bit到达目标节点时结束计时(就是数据bit真正从一个节点发出、到目标节点接收,所需要的时间),传播延迟 = 物理链路的长度 / 介质中的传播速率(传播速率一般为2×10的8次 m/sec)
小结:
延迟 = 节点处理延迟 + 排队延迟 + 传输延迟 + 传播延迟
可以考虑这样理解:各个加数从前往后就是传数据的过程中要经历的每个步骤,比如传数据需要先检查数据bit有没有错误和决定往哪儿发等(节点处理延迟);检查没问题并且决定好往哪儿发过后,如果数据过多,则需要进行排队(排队延迟);排队轮到该数据bit了,路由器就要把数据bit给放到物理链路上(传输延迟);数据bit被放到物理链路上后,就开始奔向目标节点(传播延迟)
网络通信可以忽略传播延迟,往往传输延迟会起主导作用(就是从路由器发送到链路上的时间)
(3)时延带宽积:主机之间物理链路距离 ÷ 链路传播速度 × 链路带宽,代表传播时间内发送的数据,也就是在链路上积压的数据量。 ÷连接的两个量可以算出一个bit由链路的一头到另一头要多久;再×链路带宽后,代表这段时间内链路上的bit的数量
(4)排队时延:根据流量密度值的大小来判断
流量密度:L × a / R,L指的是包的长度(bits),R指的是链路的带宽(bps),a指的是数据包的平均到达率
流量密度趋近于0:延迟很小,几乎不用排队,数据来了就直接转发走
流量密度趋近于1:延迟比较大
流量密度超过了1:到达的数量已经超过能够处理的量了,延迟无限大
(5)正常情况下,路由器收到一个数据包应该返回一个应答报文,但是有些可能不会返回一个应答报文,但是路由器不返回应答报文不等于不转发数据包!
某个路由器不给应答报文有多种情况,可能是路由器本身就不给返回接收报文,可能是数据包恰好到了该路由器就丢失了。 - 丢包
(1)丢包的原因有两种
①物理丢包:缓冲区满了所以丢了
②逻辑丢包:由于延迟太大,导致数据到达的时候已经不具有时效性了,所以也算丢包了
(2)丢包后处理有三种
①前一节点重新发送
②来源终端系统重新发送
③不再重新发送
- 两种吞吐量
- 实时吞吐量:在某一时刻单位时间内传输的数据bit的多少
- 平均吞吐量:较长一段时间内,单位时间内传输数据bit的多少,的平均值
- 端到端的吞吐量都取决于过程中两个链路的最小吞吐量、路由器的最小处理额度这三者的最小值,即瓶颈链路
- 瓶颈一般都在入户的地方,主网一般是不存在带宽不够的,如下图:
理论上,瓶颈应该为R/10(因为有10个共用这些带宽)、Rs、Rc三者的最小值,但往往R都是足够大的、是Rc和Rs限制了速度