计算机网络概述
互联网概述
互联网(internet)把许多网络通过路由器连接在一起
- 与网络相连的计算机常称为主机
区分:Internet是专有名词互联网/因特网!!!
- Internet使用TCP/IP协议作为通信规则,前身是美国的ARPANET
ISP(Internet Service Provider): 互联网服务提供商
ISP分为不同层次:主干ISP、地区ISP、本地ISP
- 根据提供服务的覆盖面积大小和所拥有的IP地址数目不同划分
WWW(World Wide Web):万维网
ISOC(Internet Society):互联网协会
- 对互联网进行全面管理以及在世界范围内促进其发展和使用
IAB(Internet Architecture Board):互联网体系结构委员会
- 负责管理互联网有关协议的开发
- 包括互联网工程部IETF(Internet Research Task Force)和互联网研究部IRTF(Internet Research Steering Group)
指定互联网标准要经过以下三个阶段:
- 互联网草案(Internet Draft)———六个月有效期
- 建议标准(Proposed Standard)———成为RFC文档
- 互联网标准(Internet Standard)———正式标准
互联网组成
从工作方式看,可以分为两部分:
- 边缘部分———由所有连接在互联网上的主机组成
- 核心部分———由大量网络和连接这些网络的路由器组成
边缘部分
客户-服务器方式(client-to-server)
客户是服务请求方,服务器是服务提供方
- 客户程序必须知道服务器程序的地址,反之不用
- 服务器程序可同时处理多个请求
对等连接方式(peer to peer,简写P2P)
每一台主机既是客户又是服务器
核心部分
起特殊作用的是路由器(router),这是一种专用计算机(但不叫主机)
- 实现分组交换(packet switching)的关键构件,其任务是转发收到的分组
电路交换三个步骤:建立连接->通话->释放连接
- 在通话的全部时间内,通话的两个用户始终占有端到端的通信资源
- 传输效率低
分组交换采用存储转发技术
要发送的整块数据成为一个报文(message),发送报文前先把较长的报文分成一个个较小的等长的数据段,每个数据段前面加上一些由必要的控制信息组成的首部(head),就构成了一个分组(packet)
分组是在互联网中传送的数据单元
主机和路由器的区别:
- 主机是为用户进行信息处理的
- 路由器是用来转发分组的,即进行分组交换
分组转发的有点:
- 高效 :在分组传输的过程中动态分配传输带宽
- 灵活:为每一个分组独立地选择最合适的转发路由
- 迅速 :可以不先建立连接就能向其他主机发送分组
- 可靠:保证可靠性的网络协议;分布式多路由的分组交换网,使网络由很好的生存性
分组在各路由器存储转发时需要排队,会产生一定的时延
计算机网络
按照网络的作用范围进行分类:
- 广域网 WAN(Wide Area Network)
- 互联网的核心部分
域域网 MAN(Metropolitan Area Network)- 局域网 LAN(Local Area Network)
- 个人区域网 PAN(Personal Area Network)
- 也常成为无线个人区域网 WPAN(Wreless PAN)
按照网络的使用者来进行分类
- 公用网(public network)
- 专有网(private network)
计算机网络的性能
- 速率:
网络技术中的速率指的是数据的传送速率,也成为数据率或者比特率,单位是bit/s
- k = $10^3$ M = $10^6$ G = $10^9$
带宽:
指某个信号具有的频带宽度/频带范围,单位是Hz
但是在计算机网络中,带宽常常指单位时间内网络中的某信道所能通过的“最高数据率”,这里带宽的单位是bit/s吞吐量
表示在单位时间内通过某个网络( 信道、接口 )的实际数据量时延(delay)
指数据从网络/链路 的一端传送到另一端所需的时间- 发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需要的时间,
因此也叫做传输时延- 发送时延 = 数据帧长度(bit) / 发送速率(bit/s)
传播时延是电磁波在信道中传播一定距离需要花费的时间
- 传播时延 = 信道长度(m) / 电磁波在信道上的传播速率(m/s)
发送时延在机器内部的发送器中, 与传输信道长度无关
而传播时延在机器外部的传输信道媒体上处理时延排队时延
- 发送时延是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需要的时间,
对于高速网络链路,我们提高的仅是数据的发送速率而不是比特在链路上的传播速率
- 提高数据的发送速率只是减少了数据的发送时延
时延宽带积
时延宽带积 = 传播时延 x 带宽- 因此又称为以比特位单位的链路长度
往返时间RTT
RTT不包括发送时间利用率
分为信道利用率和网络利用率- 信道利用率指出某信道有百分之几的时间是被利用的
网络利用率是全网络的信道利用率的加权平均值
信道和网络利用率过高会产生非常大的时延
计算机网络体系
美国的IBM公司宣布了系统网络体系结构SNA(System Network Architecture),这个著名的网络标准就是按照分层的办法制定的
国际标准化组织ISO提出了开放系统互连基本参考模型(OSI/RM)(Open System Interconnection Reference Model),简称OSI
得到最广泛应用的是TCP/IP,其为事实上的国际标准
网络协议(network protocol): 为进行网络中的数据交换而建立的规则、标准或约定,由三个要素组成:
- 语法:数据与控制信息的结构或格式
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应
- 同步:事件实现顺序的详细说明
分层的好处:
- 各层之间是独立的
- 灵活性好
- 结构上可分隔开
- 易于实现和维护
- 能促进标准化工作
通常来说各层要完成的功能由以下一些:
- 差错控制
- 流量控制
- 分段和重装
- 复用和分用
- 连接的建立和释放
计算机网络的各层以及协议的几何就是网络的体系结构(计算机网络的体系结构就是这个计算机网络以及构件所应完成的功能的精确定义)
TCP/IP是一个四层的体系结构,包含应用层、运输层、网际层、网络接口层
学习的时候常常采用一种五层协议体系结构,包含应用层、运输层、网络层、数据链路层、物理层
应用层(application):
通过应用进程间的交互来完成特定的网络应用,应用层协议定义的是应用进程间通信和交互的规则,我们把应用层交互的数据单元成为报文运输层(transport):
. 向两台主机进程之间的通信提供通用的数据传输服务,运输层有分用服用功能- 传输控制协议TCP: 提供面向连接的、可靠的数据传输服务,其数据传输单位是报文段(segment)
- 用户数据报协议UDP: 提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输单位是用户数据报
网络层(network):
为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。由于网络层使用IP协议,因此分组也可叫做IP数据报,简称数据报(不同于UDP)- 无论哪一层传送的数据单元,都可笼统地用分组来表示
数据链路层(data link):
将网络层交下来地IP数据报组装成帧(frame),在两个相邻结点间的链路上传送帧,还能检测所受到的帧有没有差错(可靠协议)- 每一帧都包括数据和必要的控制信息
物理层(physical):
数据的单位是比特。物理层要考虑用多大的电压代表“1”和“0”,以及接收方如何识别出发送方所发送的比特,还要确定连接电缆的插头应当由多少根引脚以及各引脚应如何连接- 传递信息所利用的一些物理媒介,比如双绞线、同轴电缆、光纤等并不在物理层协议之内
OSI模型把对等层次之间传送的数据单位成为该层地协议数据单元PDU(Protocol Data Unit)
协议是控制两个对等实体(或多个实体)进行通信的规则的集合
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,要实现本层协议,还需要使用下面一层所提供的服务
OSI把层与层之间交换的数据的单位成为服务数据单元SDU(Service Data Unit),它可以和PDU不一样
TCP/IP体系结构:
TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行
设备
局域网设备
集线器Hub:多端口中继器,用于连接个人计算机,属于物理层
- 用于重新生成和定时网络信号
- 传播信号
- 无法过滤流量
- 无法确定最佳路径
- 用作网络集中点
- 有时称为多端口中继器
网桥Bridge:连接两个相同结构的局域网,并对流经网桥的数据进行转发,属于数据链路层
- 目的是过滤局域网上的流量,使流量保持在本地,同时允许连接到局域网的其他部分以获取指向那里的流量
- 跟踪网桥两侧的MAC地址,并根据该MAC地址列表做出决策
- 在网段之间收集和发送数据报
- 创建冲突域
- 维护地址表
交换机Switch:识别数据包中的MAC地址信息,然后根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中,属于数据链路层
- 用于集中连接
- 结合了集线器的连通性和网桥的流量控制
- 将帧从传入端口切换到传出端口,为每个端口提供全带宽
- 提供单独的数据路径
路由Router:连接不同的网络并完成路径选择和分组转发,属于网络层
- 大型网络中重要的流量调节装置
- 根据网络地址做出决策
- 检查数据包(第3层数据),为它们选择最佳路径,然后将它们切换到正确的输出端口
- 两个主要目的:路径选择和数据包切换到最佳路由
主机Hosts:直接连接到网段的设备,并不从属于任何层
中继器Repeaters:用于对数字信号进行再生,以扩展局域网段的长度,驱动长距离通信。属于物理层
- 用于延长网络的长度
- 清除、放大和重新发送被长电缆削弱的信号
- 在比特级重新生成(放大)并重新定时网络信号,使其能够在媒体上传播更长的距离
- 不执行筛选
广域网设备
路由Router:连接不同的网络并完成路径选择和分组转发,属于网络层
调制解调器Modem CSU/DSU TA/NT1: 模拟到数字信号,实现远程局域网连接
集线器和中继器的区别:
- 中继器通常只有两个端口,集线器通常有四到二十个或更多端口
- 中继器在一个端口接收,在另一个端口重复,而集线器在一个端口接收,在所有其他端口发送
- 集线器常见于以太网10BaseT或100BaseT网络中
冲突
当两个比特在同一网络上同时传播时,会发生冲突
通过添加中继器和集线器来扩展冲突域
- 不会分割
可以通过添加网桥、交换机和路由器等智能设备对网络进行分割
当超过延迟限制时,后期冲突的数量会急剧增加
延迟冲突是指在传输帧的前64个字节后发生冲突
这些延迟冲突帧增加的延迟称为消耗延迟
随着消耗延迟和延迟的增加,网络性能下降