文章目录
网络基本概念
- 相连接的系统叫网络
- 终端不同,代表着不同的网络
- 终端为计算机设备就是计算机网络
- 计算机网络传递的是二进制01序列(即数字)
- 计算机网络的目的是共享资源(广泛的资源)
- 计算机网络需要共享的网络协议来规范
- 公司、组织组成网络,计算机网咯由公司网扩展连接而成
公司:一个具体范围的组织,如一栋楼、一所大学 - 壮大起来的公司网对外有资源的需求,也可以对外提供一些资源,于是公司之间的连接组成了网络格局
- 网络可以抽象为两个基础部分:node与link;node通过link的连接组成网络
LAN与WAN
总体描述
- 有两类网络:LAN(局域网)与WAN(广域网),二者的传输技术有差别:局域网一般采用广播通讯,广域网采用点对点通讯
- 现存在广域网,后发展出局域网
- 二者区别
LAN | WAN | |
---|---|---|
工作范围 | 范围小,几米到几公里 | 范围大,几十公里到几千公里甚至跨大洲 |
传播方式 | 广播传输,多用户同时复用链路 | 点对点连接(串线连接、光能连接) |
性能 | 性能好(单个单位维护,管理好规格高) | 性能较差(多个公司根据各自运营条件合作,不太可能统一规格贯穿链路) |
出错率 | 出错率低 | 出错率高 |
设备
LAN设备
设备简图 | 设备名称 | 设备层次 | 设备作用 |
---|---|---|---|
![]() | 多端口中继器(Hub) | Layer 1 | 连接设备 |
![]() | 网桥(Bridge) | Layer 2 | 基于第二层的MAC地址对网络做分段 |
![]() | 交换机(Switcher) | Layer 2 | 多端口网桥,现在常用,每个端口功能同网桥 |
![]() | 路由器(Router) | Layer 3 | 基于逻辑的IP地址划分来做路径选择,基于IP报文做报文转发 |
注:交换机与网桥的区别:交换机是基于大规模集成电路来实现的,性能更强,每个端口都能提供充足的带宽
WAN设备
设备简图 | 设备名 | 设备位置 |
---|---|---|
![]() | 路由器(Router) | 网络中间设备 |
![]() | 调制解调器(Modem) | 终端设备 |
- Modem作用:
“点到点传输”对两段接入点
- 通道服务单元(CSU):把终端用户和本地数字电话环路相连接的数字接口
- 数据服务单元(DSU):把终端设备上的物理层适配到通信设备上
- T1/E1接口:做终端适配器/网络终结器到连接功能(ISDN)接口
Modem一端连着数字线路,一端连着模拟信号线路,他负责模拟信号到数字信号的转换
2. Router作用:
功能类似LAN的Router,两方面功能:路径选择和报文转发;路径选择功能更加复杂
服务标准
LAN标准
LAN的服务标准比较规范,有限的LAN连接都是以太网的方式
WAN标准
- Modem
- ISDN
- DSL
- Frame Relay
- ATM
- T1/E1
- T3
- STS-1, STS-3, STS-48(SONET/SDH)(常用)
Internet
Internet的基本信息
- Internet是全球最大的开放型计算机网络
- Internet是广域网
- Internet体量大,他的节点都是network
- Internet以TCP/IP为参考模型
- Internet是由ARPAnet发展出来的
Internet的发展历程
如图所示
- 现在的Internet是商业化后的Internet;
- 一般的用户通过ISP(Internet Service Provider)接入互联网
- 接入方式有:
单用户通过电信运行商接入互联网(如一个家庭)
一个单位的多用户通过一个接入点接入互联网
Internet分层
Internet分层与不同层次的ISP的角色与责任如图所示
- 底层ISP向上层请求服务
- 本地ISP类似南京电信
- 层层请求到第一层ISP
- ISP第一层是核心层,负责远距离的Internet连通
- Internet的连接是一种分层的连接处理,好处有:
如图,从A到B通讯可以靠不同层ISP连接,实现跨越远距离的通讯(通过各个层级的ISP转发实现)
如果是本地的通讯,不需要访问复杂的高层ISP,实现了流量本地化,不需要将所有流量都放在核心层,这样就减轻了核心层的压力 - NAP:Internet的Layer 1与Layer 2的接入点,Internet主干接入点,实现了第一层与第二层ISP的连接
- 大公司可以与第一层ISP直接连接,因为Internet是要共享资源的,大公司如Google可以提供给互联网资源,同时他也需要从互联网得到资源,这就可以直接在NAP上做到数据交换
Internet上其他的运营单位
ICP(Internet Content Provider)Internet内容提供商:
- 主要提供的是内容服务,比如今日头条
- 提供内容流量并不提供Internet接入服务
计算机网络中几个基本概念
data
- 计算机网络以01序列来表示数据
- data不是信息本身,相同的01序列按不同的方式解析可以得到不同结果
- 在介质里传输时,会将data变成各种信号(如电信号、光信号等)
data packet
-
为使传输双方对传输内容有所理解,需要基于数据结构组织传输数据,即给定一个标准方式来解析传输数据,使通讯双方彼此理解data的意义
-
为了意义的清楚,为不同层次的传输设定了不同的数据模式,如OSI中,不同层有不同的单位:
网络层:packet
数据链路层:frame
数据段层:segment -
将数据分成数据小包的好处:
终端计算机采用分时的操作系统,这样,一个个小单位传输使终端操作系统可以不同时序处理不同进程的报文,是多个任务可以对用户同时运作,避免了“为了进程1,进程2完全不能相应”的问题
TCP/IP下,用分组传输不同于电路交换,即每次传小报文,即使有故障链路,下次传递只要重传故障报文部分,这样就保证了整个数据段不会因某次数据中断而导致效率底下很多(因为重传的只是一小部分);但是这样做会有一个额外问题:每个packet都会包含源、目的信息,有冗余
数据段分成小数据包后,每个包可以单独根据网络情况实时变化,选择当前最好的条件path进行传输,这样使整个传输更加有效
协议
- 协议为传输计算机网络通信作保障,与终端操作系统无关;不同操作系统可以用相同的网络协议进行通讯
- 每个协议包含封装方式、编码标准以及数据的时序关系
源和目的
很多时候通讯是随机的(一方突然要访问某站点或请求资源,另一方不知道对方要对他做请求),这是弱联系,即不是事先打好招呼的联系;这就要求每个报文要携带源和目的:
- 源:目的者收到后,根据此信息知道报文来自哪里并向该地址发应答
- 目的:告诉通讯系统如何发给接收者
网络结构复杂,通讯不能保障,一旦中间出现故障,需要节点像发送方发送失败信息,让发送方处理
传输介质
3类传输介质(传输信号的差别):
- 同轴有线介质:
同轴电缆(粗缆、细缆)
双绞线(UTP(即无屏障双绞线),通过电传输) - 光缆:光来传输,速度快,且由于光不容易受到干扰通讯稳定
- 无线电波:介质为空气,无线传输,通常用于LAN
带宽,通量
带宽
- 带宽是介质上传输能力的度量,是传输介质上传输能力的上限
- 单位是bps(以bit作为单位,注意到数据表示单位一般是Byte,计算时注意转换)
通量
- 事实传输时,受到介质约束和中转设备影响,不能达到带宽
- 通量用于评价网络真实的性能
- 通量≤带宽
- 常在布线后传一个大文件,用他的大小/时间来计算通量
OSI参考模型
基本信息
- OSI模型描述信息从一个发送方如何通过网络到达另一台主机
- 为了使复杂过程更清楚,采用分层的方式:按照功能分成不同层,每层有特定的功能,实现了层次与功能的划分
- OSI模型有7层,从下层到上层,分别为:
物理层:二进制传输
数据链路层:介质访问
网络层:路径选择
传输层:终端到终端的通讯
会话层:进程之间通讯时做用户之间的交流
表示层:通讯中表示格式的标准
应用层:给用户提供交互接口 - 划分层次的好处:
减少网络通讯的复杂程度(相当于每层的复杂度少很多),使得网络的实现变得可行
为了每层规定特定功能,确定功能;这样层之间就可以请求、提供服务,使连接标准化
分层后很多网络服务商、工作者根据分层决定自己产品层次,是网络实施工程化、模块化,从而帮助网络从业人员合作
特定层次之间可以专精优化
易教授易学习 - 上三层:应用层、表示层、会话层
应用层次:实际处理用户程序设计部分 - 下四层:物理层、数据链路层、网络层、传输层
数据流层:实际上的网络通讯由下四层负责,且下四层运作时对应用程序不可见;下四层的工作由硬件与网络操作系统协作完成 - 相同层之间的对应交流
物理层:基于bit/信号交流
数据链路层:基于帧交流
网络层:基于packet交流
传输层:基于segment交流
应用程序:各种应用程序标准(如http、ftp等)data - 不同层之间不能直接通讯,如:传输层的内容,数据链路层理解不了,数据链路层只能理解本层次设定功能——帧
分层之间各自通讯 - 在本地是上层向下层请求服务,下层向上层提供服务,以实现数据流通
OSI各层功能
物理层: Binary Transformation
- 关键词:信号、介质
- 工作:规范哪些介质可以用于信号传输、戒指传输时信号是什么规格(如电压等级、传输速率、最大传输距离等);甚至还规范终端硬件(发送方、接收方的发送器、接收器的属性),如线路分哪几个链路、每个线路上信号什么功能、物理链路上引脚分别起什么作用
数据链路层: Access to Media
- 关键词:帧、介质访问控制
- 工作:第二层在第一层的基础上增加了对传输信号的检查,且涉及到数据帧格式,基于帧格式的数据内容对数据访问作管理
第一层的通讯不做管理控制,介质上的信号能传输就传输,终端受到介质信号能识别就接受,对信号的正确性不做逻辑判断,故第一层的功能简单,这就需要在物理链路上对传输效果做控制来保证传输的可靠、正确
第二层的工作:若一个链路服务于多个用户(如总线拓扑/令牌环拓扑),此时要对介质访问进行管理,同时使用链路有冲突,第二层提供机制对链路使用做出调节
网络层: Addresses and Best Path
- 关键词:路径选择、最优路径
- 工作:做基于逻辑IP地址的定位
第二层与第三层的区别:第二层只涉及一个物理链路上(点对点连接链路)的控制,即只能在一个局域范围;第三层可以跨一段链路实现多个链路上的连通和数据发送,可以跨越不同分段,可以覆盖广域网,功能也更复杂
第三层实现路径选择,基于路径选择建立两个远端点之间的连接,可以跨远距离、地理上分隔开的连接;第三层有复杂的逻辑设计
第二层的局域网规范,常由一个组织实现网络的拓扑控制,可以设计具体链路实现两个相邻断点的连接,做好链路的一致性即可
第三层不能像第二层一样指定统一的一致的规范,因为广域网由多个单位协同完成,难以基于物理规范做统一链路控制,这就得基于逻辑控制实现,即为每个接入网络的主机分配一个逻辑IP地址
IP是一个逻辑地址,同一个设备在不同网络可以有不同IP,可以根据当前需要来设定(在规范内的)IP地址取值
第三层基于IP地址做逻辑定位,实现基于IP地址的两个设备的连同,为保证连通的管理,有第三层的报文packet;基于packet做数据传输的逻辑管理
传输层: End-to-end Connection
- 关键词: reliability, flow control, error correction
- 工作:
与第三层区别:第三层实现设备到设备的连接,操作系统是分时操作系统(同时多任务),各任务都在上网,同时使用网络,这就需要网络操作系统做分时处理,使网络操作系统同时受到多个报文时需要正确地给不同进程,使应用进程程序能获得所需数据内容
为实现以上需求:
- 第四层规范终端进程到终端进程的方案
- 第三层通讯时为保证通讯效率,牺牲了对数据有效性的控制,即第三层为了数据可达传输,通讯不仅覆盖到终端设备,还覆盖中间的节电设备,比如Router;中间网络设备不做复杂的数据校验,终端设备来做复杂的数据校验(因为终端设备处理能力强,而且是直接要处理该数据的;中间设备是处理大量网络数据的,他不必为每个数据负责,只负责转发;终端设备有能力又有责任处理)故第三层只做数据可达
- 第四层做达到之后正确与否的判断;如果不正确,则没法使用,这就需要第四层向第三层请求服务重传
- 为保证传输有效,要做传输控制;如终端进程不能处理大量数据报文时,需要与对方协商,传慢一点
这些控制要求不能都在第三层进行管理,第四层设置第四层标记位和数据逻辑:段结构
第四层传输方将数据分成段,每个段放到第三层的报文里发给接收方;接收方收到后检查段,根据规则排序,恢复成原有数据交给上层进行交互;若检查出有错要与发送方协商重传
第一层、第二层和第三层都没有对数据传输内容进行严格校验,第四层必须来做数据正确与否的判断
第四层确定数据正确后再交给上层应用
会话层: Inter-host Connection
- 关键词:dialogue、conversation
- 工作:
上三层是应用层,下四层是数据流层;第四层之前,应用程序无法管理数据细节/控制,因为底层机制是操作系统/底层网驱程序硬件做管理和控制的,应用程序不能处理,这就要应用程序中有会话管理机制,这个机制就由第五层负责
应用程序可以根据自己应用逻辑需求来设计应用程序之间的会话控制,比如很多进程需要通讯过程中时常设置checkpoints来确定双方通讯是否同步,有的进程还需要做多进程协同完成应用时的逻辑控制
会话层是建立、管理、终止会话过程(通讯进程之间的管理)的,做基于会话的同步与管理
第五层也需要基于会话对上级分层做功能支持(如表示层、应用层都要在会话层做控制)
表示层: Data Presentation and Encryption
- 关键词:Common Format
- 工作:
表示层做数据格式标准工作
网络通讯参与者操作系统的硬件条件不同,如果都基于本地数据标准和处理机制来通讯会有歧义(因为数据配合理解规则才是信息,若数据相同而理解规则不同那么信息就不同)
基于网络通讯条件设置表示层标准
网络通讯中大量数据处理可以涉及两方面:数据压缩、数据加密;这两点都是表示层重点
表示层在应用层之下为应用层提供一致的数据表示服务,主要涉及数据格式
网络中数据传输为了保证高效率,常常要压缩数据;压缩数据有标准,很重要
传数据加密,保证数据安全防止泄密,加密标准很重要
其他的格式规范:字符编码标准、图片保准、音频标准等
应用层: User Interface
- 关键词:Browser
- 工作:
用户界面
应用层:应用程序界面,将用户操作封装成机器理解的标准/语法,再将语法形成数据,向下传输
应用层与用户最近,把用户操作变成通讯内容,提供具体的网络服务映射到这些操作的反馈
最高层不向其他层提供服务
应用层以下:下层为上层提供服务,上层向下层请求服务
上层向下层请求后(数据收到后由下层传给上层),下层将上层请求做实现,再向下请求服务,最终将数据传出去;再向上层做应答
OSI是层层相关的模型
Internet协议与OSI模型的映射关系
如图
注:ARP为地址解析协议,RARP为ARP的逆协议
网络协议与OSI层次之间对应不是非常简单的映射,有的协议对应得简单,有的协议跨层对应(如ARP跨第二层、第三层)
基于五层的网络通讯示意
将OSI分层与TCP/IP分层综合来看,基于五层来划分(非事实标准,只是用于教学);其中OSI的5-7层合并成新分层的第五层(因为这三层功能可以有网络程序来覆盖,合理),其他层都相同
这样得到基于五层的过程图:
- 应用程序运行之后,用户界面会负责用户交互,用户会在用应用程序里输入操作,这样,APP1会获得用户操作并且整理成数据;此时为保证数据合理与数据性质指定,会加上第五层首部(如http标准下,会制定一些信息,包括“此为http应用”、“get请求”,请求url等
- 向下,浏览器负责http输入,他会将数据形成第五层报文之后,再交给第四层,像第四层发出请求;第四层响应请求,将第五层整个数据封装到第四层当作数据部分,第四层再根据当前配置生成第四层头部及相应数据逻辑(如“要让他对数据检验”、“进程对应端口号”等)放入第四层封装部分,形成从第五层到第四层的封装
- 向下同理
- 在第二层封装时还要加尾部(尾部检验位)
- 第二层在向第一层请求(帧已经得到,是一整个01序列),请第一层将他发出去;而第一层连接着物理传输媒体,发出去
- 计算机2接收到以后,将物理信号收下来,根据计算机2网卡翻译成对应的01序列
- 再由第二层(网卡的驱动程序)翻译成帧
- 再由操作系统解析帧,形成数据报
- 再由操作系统解析数据报,形成数据段
- 再交给对应进程
- APP2能理解请求,处理,得到结果
- 向下层逐层封装返回给APP1,这就实现了两个端口的通讯
注:计算机1、2可以跑多进程,这只是两个进程的直连通讯
TCP/IP参考模型
基本信息
由ARPAnet引入模型,商业化之后也用TCP/IP方案,是实际使用的规范
分层
模型共分四层:
- 应用层:对应OSI模型上三层,解决网络应用软件事宜(如Browser,聊天软件等)
TCP/IP标准是根据参与网络运营/应用的参与者来做划分的,直接将应用程序所属层次分为应用层,包含OSI上三层的所有功能(界面处理,会话,标准化等)
TCP/IP可以使一方将报文根据一定标准通过网络传输到另一方 - 传输层:对应OSI模型第四层,处理可靠传输、流控制、出错处理等问题
规范主要对于TCP
最早的TCP/IP模型是基于TCP来实施的,后面发展出UDP
TCP与UDP相比代价较大
TCP与UDP都是讲本层报文用segment来封装 - Internet Layer:与OSI的第三层对应,负责连通/连接,不做复杂的可靠性检验,只是尽力连接,从一方将packet发给另一方
将运输层给他的segment封装成一个个小的packet,每个packet都作为一个独立传输单位
Internet Layer负责Internet上任意2个主机的传输,每个packet都能独立地从一端传到另一端,实现连接
Internet Layer能做到报文传输,经中间的各个Router做路径选择以及packet switching
Internet Layer代表协议Internet Protocol(IP) - 网络接入层/网络访问层:与OSI的下两层对应,host-to-host Layer
OSI的第一层是点到点连接在物理链路上的控制/规格;OSI的第二层是在特定链路上的数据逻辑控制;而一个链路一般不会有多个运营商来做几个方案,而是由一个运营商既做物理层实现有做物理层终端接入(即既做网卡又做网线;既做物理层实现,又做物理介质的访问控制),来完成从主机到Internet的连接
网络接入层的接入不太区分局域网或广域网,而OSI的第一层、第二层是以广域网为主要内容的
Internet协议与TCP/IP协议层次映射
其中:
- TCP协议:需要可靠传输的应用向TCP请求服务来实现业务,这些应用称作基于TCP实现
- IP协议:两个版本IPv4、IPv6
- 网络接入层协议:对应各种介质(因为网络接入层是跨不同介质的)
一个相同的IP之下可以由不同链路来接入 - TCP/IP是中间层次,这个层次既能向上兼容各种应用,又能向下兼容各种介质,这样是合理的,因为Internet发展下应用越来越多,可用介质也不断升级,这样他们就都能兼容进这个体系
- 各种应用层协议:
协议 | 应用 |
---|---|
FTP(文件传输协议) | 对应FTP应用 |
HTTP(超文本传输协议) | 对应网页传输应用(主要是浏览器) |
SMTP(简单邮件传输协议) | 对应邮件发送(注意邮件接收不一定是SMTP) |
DNS(域名解析系统) | 负责将域名翻译成IP地址 |
TFTP(简单文件传输协议) | 基于UDP,在局域网内做小的文件传输 |
TCP/IP模型与OSI模型的异同
- 都用分层的方案来分解网络功能(合作完成后运作)
- TCP/IP,OSI都有应用层(功能覆盖范围不同)
TCP/IP的是整个网络应用软件的所有内容,包括OSI上三层所有内容
OSI的是用户界面与用户操作的转换 - 相同的运输层,网络层(名字不同)
- OSI的设计方案基于报文交换来做实现;TCP/IP也是基于报文交换来做实现
- TCP/IP层数较少
- TCP/IP是事实使用的
网络拓扑
概述
- 网络拓扑:网络如何连接;节点和连接如何组织在一起达到连通
- 网络拓扑主题:不同网络需求下,有不同的成本考虑,不同的可靠性要求,选择适当的线路、结线方式来满足网络要求
拓扑
概述
拓扑用来规范网络如何组织(网络结构)
组织网络有两个层面:
- 物理层面:涉及如何将节点具体地连接起来,线/media的实际布局(如总线形,星形,环形等)
- 逻辑层面:对链路的使用做逻辑管理,涉及管理介质如何被host所访问(如环形拓扑上,虽然环上所有节点都能和其他节点通讯,但可通过逻辑控制使大家按顺序依次通讯(基于令牌,即token,传递获得通讯权利)
拓扑类型
如图:
总线形
- 物理视图:一个总线;每个host通过接入线与总线相连接(早期的同轴电缆就是用总线的物理方式连接起来的)
所有接入点共享总线,实现与总线上其他节点的直接通讯,不需要做其他节点的转发、接入方式
成本低,一根总线就可以通讯
总线很重要,如果断掉就全部不能使用(不能分成两段总线来用,因为总线上传递的往往是电信号,电信号在物理端点处要做特殊处理,如果不做特殊处理,电信号会反射回去对链路产生震荡,故若总线若折损,整个线路都不能使用了) - 逻辑视图:总线一般不做控制,所有节点可以将信号直接发到总线上,通过电信号传给其他节点,做广播式传输(一对多);
这样做简单,所有节点都可以直接听到总线的信号,从而目标方也能保证接到;
但是如果两个节点同时向总线发送信号,会产生冲突,这就需要一些复杂的介质访问控制
环形
- 物理视图:所有设备/节点一次连接成环,所有节点可以通过环传递信息;
为保证环的控制有效,一般是指一个固定顺序(顺时针或逆时针)往一个方向传 - 逻辑视图:会做一定的控制
如果一段链路同时被多个节点使用(发信号),会产生错误
一般来说不允许同时使用环,同时只能有一个节点在环上发信号,由令牌控制(故这种环又叫令牌环)
令牌:一种控制逻辑标记位,获得此标记位就有了发送数据的权力,获得令牌之后只有一个时间窗口对此进行处理,必须在时间窗口之内处理完,再将令牌交给下一节点;以此类推,大家依次发送数据;最后使环上所有节点都能通讯起来
双环
- 需求:如果某环链路断掉,就会失效
- 物理视图:2个环同时接在一起,控制逻辑与单环同(令牌)
外环正常使用,内环做备用;外环如果坏掉大家就都切换到内环做传输;在这期间会进行物理修补,修好之后再切回到外环
这个机制带来一定的灵活性、健壮性
是数据可靠传输的更可靠机制 - 逻辑视角:控制与单环相同
- 80年代时双环流行
星形拓扑
- 物理视图:有一个中心节点,所有其他节点通过中心节点连接,中心节点有多接口出去和其它节点连接,将其他节点连通;中心节点的作用是连通、转发
所有其他节点的通讯都可以通过中心节点转发到达目的节点不会发给不想发的人,这样更安全(只要中心节点正常控制)
存在问题:中心节点负担大,因为可能同时多路通讯,性能压力下,中心节点要加强;中心节点有问题,网络瘫痪 - 逻辑上,中心节点控制;严格控制时中心节点可以定位到目的节点
扩展星形
有subcenter作为下级中心节点
终端节点要经过中心节点转发,subcenter就转发到中心节点上;若不需要到中心节点,由subcenter直接转发即可(原理类似Internet的分层)
树状结构(层次结构)
一般做二叉树实现(别的也有)
适用于节点具有逻辑层次划分的网络
- 物理上类似星形结构,但意义上节点有分层:root高权限,下面的子节点权限会逐渐减少;父一级权限可以做一些子节点数据的统计和汇总
- 逻辑上,信息传递也是分层的,上级必须审批下级程序再转发
渔网模型(mesh)
- 物理视图:成本最高的模型,因为将所有节点都连接起来,全连接拓扑,链路最多
任意两节点连通最可靠(冗余最大),很多链路断掉也可能可达
reliability、connectivity最大
成本高,路径选择多(需要机制来做选择)
Internet/某些WAN的核心层在部署时使用mesh拓扑,因为这些地方要求网络尽可能连通,成本高也要保证连通
渔网模型常用在连通性重要的场景
蜂窝模型
每个节点无限联通,且覆盖一定区域,节点之间有重叠的覆盖区域可以进行连通
与人造卫星组成网络、无线电话类似
每个节点只与相邻节点通讯,与远端通讯需要被别人转发
这种方式低效,需要合理的算法设计来保证连通有效
局域网设备
概述
- 设备分为两大类:
网络边缘节点,端设备,如主机;主机不一定是计算机,也可能为有操作系统的其他设备(如网络打印机,网络服务器,网络FAX等)
网络中间设备,如Router、Switch等 - 二者区别:
终端设备一般工作在复杂层次(不工作在特定层次),可能工作在所有层次;如一个终端PC,他有网卡(工作在OSI第一层、第二层),有网络操作系统(工作在OSI第三层、第四层),有应用程序软件(工作在OSI第五层、第六层、第七层);终端设备功能更齐全
网络中设备一般有固定的工作层次;设备有hub、bridge、switch、router等(LAN/WAN都可以有Router);这些设备通过link连接起来形成网络
网络终端设备
- 网卡(NIC, Network Interface Controller)
网卡是第二层设备,可以识别第二层的数据单元帧,并且每个网卡要指示主机身份(因为他们是帮助主机接入网络的设备)
为每个网卡分配一个MAC地址,该MAC地址烧在网卡芯片上,是一个固定地址
网卡接在主板上,与计算机主板相连;又有个网口与外部网线相连;网卡用来实现计算机通讯与网络的信号转换
计算机的母线上的通讯时并行通讯,即一个时间周期内生成多路信号;而网线上是串行通讯,即一个时间段上只能是1个0/1信号;网卡就要实现将主机的并行通讯转化为串行通讯发到网上,同时有时也将网络上的串行通讯转化为并行信号交给主机,这样网卡就帮助主机实现了主机到网络的连接
NIC工作在OSI的第二层,也可以做第一层工作
一个终端通过网卡接入网络,网卡将上层数据封装成的帧转化为特定介质上的传输信号发到介质,传给目的方
注意:NIC不仅工作在终端host上,网络中间设备如Router上也有NIC,这些Router也是每个端口都有NIC,负责接收信号,生成帧,交给Router来识别其第三层报文;Router做转发时,又将报文从另一端口对应NIC变成特定介质信号发到网上
只要介入介质,就需要网卡支持
网络中间设别
- 介质(media)
介质即线路,01序列变成特定介质上的信号如电信号、光信号、无线电波等再传输 - 中继器(repeater)
第一层设备
解决问题:由于link的传输有限(如电信号,考虑到介质上有电流损耗),例如双绞线有效距离为100m;如果介质传输距离小于需要传输的距离,就需要接入一个repeater负责清理一端收到的信号并放大,从另一端口再发出去,实现超出一段介质所允许范围的连接
中继器比较简单,只是做信号的识别、放大,并不能过滤,他的功能很弱 - 集线器(hub)
第一层设备
hub作用与repeater类似,也工作于第一层,也将信号进行清理、放大、转发,但是hub不仅连接2个端口,他连接多端口,因此hub比repeater在连接工作的能力更强
hub也不进行过滤
hub也被称为multi-port repeater
hub与repeater的异同:端口不同,都不做过滤,都从一个端口接收、另一端口转发
hub与repeater都是低俗网络里适配的设备,现在不怎么常用(90s的10M Ethernet/100M双绞线时会用他们)
hub是总线方式连接的:
逻辑拓扑上,从一个端口接入,所有端口转发,虽然在物理上是星形拓扑(hub为中心节点),但逻辑上是总线机制;这就存在问题:不允许总线上同时有两路信号再传输,即若同时有两个设备同时发信号给总线,会有冲突;换句话,hub连接的区域会有冲突的可能,这个区域称为冲突域;冲突域上接入的设备越多,产生冲突的可能性越大,就需要机制来控制(需要智能设备如交换机,网桥等第二层设备来在第二层实现冲突管理) - 网桥(bridge)
第二层设备
网桥可以做一定的流量管理和过滤工作
网桥有两个端口,根据设备的MAC地址将网段分为两个分段,再根据MAC地址形成MAC Table
如果从一端发出的数据(帧)的目的地址被网桥识别出在本段即可到达(意为网桥收到源与目的都在网桥同一端的报文),就不做转发;如果收到目的地址不在本段而是在另一段的帧,就将他转发
网桥基于第二层帧的MAC目的地址做智能判断,比hub更加智能
由此,一个网桥可以将局域网分成不同的冲突域
一个网桥分出两个冲突域 - 交换机(switch)
第二层设备
结合了网桥与集线器的功能,可以做智能地址的concentrate connecting
实现:基于硬件做帧的识别与转发
当一台主机发送信息到交换机上时,交换机接收并解码帧,读取MAC地址
交换机为每一个端口都配置一个MAC Table,根据MAC Table内容选择目的转发端口,如果目的转发端口确定之后,交换机就会在源、目的端口之间建立临时连接(电路),形成了两个主机通讯的专用通路(与网桥不同,网桥只有两个端口,没那么复杂)
交换机就要做基于虚电路的实现方案,这样做对性能要求高,交换机可以通过其配置能力为每个端口提供充分的带宽,与网桥相比,这点很有优势
功能上,交换机的每个端口与网桥的端口相同,都是对应到一个冲突域;即一个交换机可以将网络分成很多小的冲突域,这样交换机就对网络性能有很大改善
交换机与集线器的区别:交换机在物理上时星形拓扑,逻辑上也是星形拓扑;集线器物理上是星形拓扑,逻辑上是总线拓扑;集线器性能远逊于交换机
现在的硬件较为成熟,现在的主要接入是通过交换机实现的,交换机既可以保证网络性能,又能够做大量通讯接入 - 路由器(router)
第三层设备
交换机只工作在第二层,只能做基于MAC地址的指令,不能做网络逻辑划分的管理,因为网络逻辑划分是基于IP地址的,这就需要第三层路由器来做网段的划分
路由器帮忙实现不同网段之间的连接和转发
路由器基于网络地址做判断,网络地址包含在IP地址内;基于第三层的路由器来识别第三层数据报,再做合适的报文转发
要管理整个网络,就要将网络分成一个个不同的局域网,局域网之间通过router相连来形成广域网,进而形成Internet
路由器是Internet/WAN的最主要设备
路由器连接多网络
路由器重要功能:在WAN/Internet上找到目的地址所在位置,需要做报文识别、转发路径选择,再帮助报文做合适的转发
总结
如图
- 右侧表示网络中间设备,从上到下、从左到右依次是:
router, bridge, switch, 电路交换设备, media, repeater, hub - 左侧是终端设备
host工作在所有层次
NIC负责实现下两层
中间两层由网络操作系统负责
上三层由网络应用软件来实现
这就是网络中的设备在各自层次的分布情况
注意:高层网络设备可以识别低层次的数据格式,比如路由器可以识别帧,交换机可以接入介质、识别第一层信号;底层不可以识别高层的数据逻辑,比如集线器和中继器不可以识别帧,网桥与交换机不可以识别数据报
设备层次指其视野最高层,并非仅仅此层