计算机网络
计算机网络
计网的产生与发展
网络的发展历程
前网络时代
萌芽阶段
分时系统
雏形阶段
公共电话网络采取的通信方式称为–电路交换
诞生阶段
计算机网络是20世纪60年代美苏冷战时期的产物
滕飞阶段
WWW万维网
要求:
用于计算机之间的数据传输
能够连接不同类型的计算机
所有的网络节点都同等重要
必须有冗余的路由
尽可能简单,但能够非常可靠地传递数据
操作系统发展的4个阶段
- 第一代(1946年-1955年):真空管时代,无操作系统
- 第二代(1955年-1965年):晶体管时代,批处理系统
- 第三代(1965年-1980年):集成电路时代,多道程序设计
- 第四代(1980年至今):大规模和超大规模集成电路时代,分时系统。现代计算机正向着巨型、微型、并行、分布、网络化和智能化几个方面发展。
发展中的网络种类
传统通信方式:电路交换
新型的通信方式:分组交换
面向终端的网络:以单个计算机为中心的远程联机系统也称为面向终端的计算机通信网,或称它为第一代计算机网络。
面向通信的网络:网络上的通信处理任务由称为通信控制处理机CCP(CommunicationControlProcessor)来承担,各CCP之间构成的通信子网为资源子网提供信息传输服务网络上的主机专门负责数据处理,主机和终端构成了资源子网,以通信子网为中心的计算机网络,通常称其为第二代计算机网络。
标准化的网络:OSI参考模型OSI/RM(Open计算机互连要求计算机网络体系必须标准化。(System Interconnection/Reference Model),或简称OSl。
目前已被国际社会所普遍接受,成是新一代计算机网络体系结构的基础。人们将符合国际标准化的计算机网络称为第三代计算机网络。
计算机网络的概念和分类
计算机网络的概念
定义:计算机网络是利用通信设备和通信线路将地理位置不同,功能独立的多个计算机系统互相连接起来,以功能完善的网络软件(包括网络通信协议、网络操作系统等)实现网络中资源共享和信息传递的系统。
功能:
- 可实现资源共享
- 提高了系统的可靠性
- 有利于均衡负荷
- 提供了非常灵活的工作环境
- 性能价格比高、扩充灵活、通信手段多
计算机网络的分类
按网络的拓朴结构进行分类
按网络的拓朴结构进行分类:可分为星型,树型,环型,总线型和网格型等
1、星型结构
每个节点都有一条单独的线路与中心节点相连。除中心节点外的任何两个节点之间的通信都要经过中心节点,采用集中控制,中心节点就是控制节点。
优点:简单、容易建网,便于管理
缺点:由于通信线路总长度较长,成本高;同时对中心节点的可靠性要求高,中心节点出故障将会引起整个网络瘫痪
2、环型结构
网络各节点连成环状。数据信息沿一个方向传送,通过各中间节点存储转发最后到达目的节点。
优点:结构没有路径选择问题,网络管理软件实现简单
缺点:信息在传输过程中要经过环路上的许多节点,容易因某个节点发生故障而破坏整个网络的通信;另外网络的吞吐能力较差,适用于信息传输量不大的情况,一般用于局域网
3、网型结构
这种结构无严格的布局规定和构型,其中一个节点可取道若干路径到达另一个节点
优点:可靠性高
缺点:所需通信线路总长度长,投资成本高,路径选择技术较复杂,网络管理软件也比较复杂
4、树型结构
网络中各节点按层次进行连接,是一个在分级管理基础上集中式的网络,适合于各种统计管理系统。
优点:通信线路总长度较短,成本低。
缺点:任一节点的故障均会影响它所在支路网络的正常工作,而且处于越高层次的节点,其可靠性要求越高。
5、总线结构
网中各节点连在一条总线(电缆)上。任一时刻,只允许一个节点占用总线,且只能由该节点发送信息,其它节点处于封锁发送状态,但允许接收。
优点:网络中任何一节点的故障都不会使整个网络故障,相对而言容易扩展
缺点:故障管理困难,不利于网络业务量的增加。
按网络的覆盖范围进行分类
按网络的覆盖范围进行分类:可分为广域网、局域网和城域网。
局域网:传输距离有限,传输速度较高,以共享网络资源为目的的网络系统
城域网:规模介于局域网和广域网之间的一种较大范围的高速网络
广域网:覆盖范围广、传输速率相对低,以数据通信为主要目的的数据通信网
互联网(Internet)
局域网
局域网是 范围有限且行政可控的网络,特点是连接速率高,
局域网有以下两种分类标准:
传输介质:以太网(Ethernet)、光纤分布式数据接口网(FDDI)令牌网(Token Ring)、异步传输模式网(ATM)等
连接方式:总线型、环型、星型、树型(层次型)、全网状型
局域网-全网状型
优点:容错性强
缺点:扩展性差(不利于增删节点)、建设成本高、邻接关系复杂路径控制难度高(n[n-1]/2)、
局域网-总线型
优点:结构简单、资源共享能力强、节点的增删比较方便
缺点:容错性差(主要针对总线)、电气信号干扰较大(容易发生数据冲突)不利于故障隔离
局域网-环状
优点:结构简单、建设成本低
缺点:容错性差(主要针对节点)、扩展性差(不利于增删节点)、不利于故障
隔离
局域网-星型
优点:扩展性强(节点的增删比较方便)、便于故障隔离
缺点:容错性差(主要针对中心节点)、中心节点负荷重、链路利用率低
局域网-树型
优点:扩展性强(节点的增删比较方便)、层次分明
缺点:结构复杂、容错性差(主要针对次级节点)
城域网
广域网
广域网,又称外网或公网,用于连接不同地区的局域网或城域网
局域网和广域网之间的区别
局域网 | 广域网 | |
---|---|---|
传输距离 | 通常一般不远于几公里的距离 | 长距离传输 |
传输速度 | 快 | 慢 |
管理方 | 部署局域网的企业 | 提供广域网的运营商 |
互联网
互联的网络(internet):“i”小写时,表示多个网络连接在一起所构成的一个大网络
互联网(Internet)的特点:
- 不隶属于任何人或机构
- 不是一个单一的网络,而是大量异构网络的集合
- 任何人都可以连接到互联网中
- 连接到互联网的方式多种多样
- Internet也可以因其发音称为因特网
计算机网络的硬件和软件
计算机网络硬件组成
网卡
网卡又名网络适配器(Network Interface Card,NIC),是计算机和网络线缆之间的物理接口。任何计算机要想连入网络都必须通过网卡。
网卡的作用:将计算机要发送的数据变换成数据包,转换成串行的光信号或电信号送至网线上传输;同样把网线上传过来的信号转换成并行的数字信号,提供给计算机 。
网卡的功能:并行数据和串行信号之间的转换、数据包的装配与拆装、网络访问控制和数据缓冲等。
网线
计算机网络中用于连接计算机和通信设备之间的通信线路有很多种类,常用的有双绞线和光纤两种。
双绞线:双绞线简单易用,造价低廉,一般用于局域网或计算机之间少于100m的连接。
光纤:一般用于传输速率高,传输信息量大的计算机网络。光纤的传输质量好、速度快,但造价和维护费用贵:
集线器
主要功能:对接收到的信号进行再生整形放大,以延长网络的传输距离,同时把所有计算机终端集中在以它为中心的节点上。
集线器工作在网络最底层,不具备任何智能,它只是简单地把电信号放大,然后转发给所有接口。集线器一般只用于局域网。
调制解调器
调制解调器(Modem)是计算机与电话线之间进行信号转换的装置,它完成计算机的数字信号与电话线的模拟信号之间的互相转换。使用调制解调器可以使计算机接入电话线,并利用电话线接入因特网。
交换机
交换机是一个拥有智能和学习能力的设备。它可以学习掌握网络的结构及与它相连计算机的相关信息,并且可以对接收到的数据进行过滤,再将数据包送至与目的主机相连接的接口。用交换机可组建局域网或者把两个网络连接起来
路由器
路由器(Router)为网络中数据选择路由和转发数据,是计算机网络的核心设备相当于高速公路中的立交桥。路由器可以连接多个网络或网段,并对不同网络或网段之间的数据信息进行“翻译”,使它们能够相互“读”懂对方的数据。
路由器提供分组过滤、分组转发、优先级、复用、加密、压缩和防火墙等功能并且可以进行性能管理、容错管理和流量控制。
服务器
在计算机网络中专门用于为其他计算机提供服务的计算机叫做服务器。服务器就是一台运行了服务进程的计算机。服务器是计算机网络中一个重要的成员。如我们上网浏览的网页就来源于WWW服务器
计算机网络终端
一般计算机网络的终端指的是一台独立的计算机。但随着硬件技术的飞速发展已经有很多终端虽然不是计算机,但有了智能,比如手机。
未来“终端”和“独立的计算机”可能会逐渐失去严格的界限,很可能会有许多的智能设备出现在未来的计算机网络中。
计算机网络软件组成
计算机网络软件是用来驾驭和管理计算机网络硬件资源的,使得用户能够有效地利用计算机网络的资源。
在计算机网络软件中,网络协议是网络软件系统中最重要的内容,有了网络协议的支持才有网络操作系统和其他网络应用软件。
1、网络协议
协议:通信双方为了实现通信而设计的约定或对话规则
网络协议:网络中的计算机为了相互通信和交流而约定的规则。
2、网络操作系统
网络操作系统负责管理整个网络资源,是计算机网络的心脏。
网络操作系统一般是在计算机单机操作系统的基础上建立起来的,加入了强大的网络功能。如Windows操作系统家族里有单机版的操作系统WindowsXPHome Edition,也有网络操作系统Windows 2003 Server等
功能:支持多任务、支持大内存、支持对称多处理、支持网络负载平衡、支持远程管理
局域网的组建模式通常有对等网络和客户机/服务器网络两种。
客户机和服务器网络是目前组网的标准模型。
客户机/服务器网络操作系统由客户机操作系统和服务器操作系统两部分组成。
客户机操作系统 的功能是让用户能够使用本地资源,处理本地的命令和应用程序,实现客户机与服务器的通信。
服务器操作系统 的功能是管理服务器和网络中的各种资源,实现服务器与客户机的通信,提供网络服务和网络安全管理。
常见的网络操作系统:
Windows操作系统
UNIX操作系统:UNIX操作系统是在麻省理工学院开发的一种分时操作系统的基础上发展起来的网络操作系统,是目前功能最强、安全性和稳定性最高的网络操作系统,是一个多用户、多任务的实时操作系统。
Linux操作系统:Linux操作系统是芬兰赫尔辛基大学的学生LinuxTorvalds开发的具有UNIX操作系统特征的新一代网络操作系统,最大特征是源代码是向用户完全公开的,任何一个用户都可根据自己的需要修改Linux操作系统的内核,所以发展速度非常迅猛。
3、其它网络软件
- 即时通讯类软件:如腾讯QQ,微软MSN,网易POPO,新浪UC等。
- Web浏览器:Internet Explorer,Mozilla Firefox,Tencent Traveler(腾讯TT)等
- 杀毒软件:诺顿、卡巴斯基、瑞星、江W民、金山毒霸等。
- 网络播放器:暴风影音、千千静听等。
- 网络下载工具:迅雷(Thunder)、BitComet(BT)、酷狗(KuGoo)等。
4、通信的规则
实现数据通信的几个问题
问题1:如何将不同表现形式的数据放到媒介中传输?
将数据转换为二进制编码进行存储和传输
问题2:如何确保数据被发送给正确的接收方?
本质是解决数据在通信过程中的寻址问题
每个通信系统的参与者必须满足以下两个条件
拥有某种地址信息来标识自己的物理位置:
拥有某种身份识别信息来标识该设备本身
IP地址即为标识设备位置而定义的逻辑地址。
问题3:如何确保数据有序、高效、可靠的到达接收方?
- 如何实现有序:包交换网络允许存在后发先至的情况
- 如何实现高效、可靠:需要一种机制来权衡二者的关系:
- 在尽可能短的时间内完成数据的收发
- 根据接收情况实时调整数据的发送速率
网络协议的作用
例一:给出一组十进制数,观察定义标准前后的区别。
- 未定义输出标准的场景
- 定义了输出标准的场景:
区分协议、功能/服务
与通信系统的关系 | 通信系统的固有属性 | 本质 | |
---|---|---|---|
协议 | 对通信系统之间的操作提供规范 | ❌ | 规范化操作的框架 |
功能 | 通信系统最终所希望产生的效果 | ✔ | 规范化操作的目的 |
通信系统双方通过遵循某个协议可以让整个通信系统产生既定的效果,但协议本身不会赋予或者剥夺任何通信系统方的功能。
协议栈的必要性
在例一中,制定协议(标准)使得Bob可以成功输出数据:
对于一个完整的通信系统,单一的协议是否足够?
例二:给出另一组十进制数“1005 1405 19010919 160119
对比例一和例二:
例一中输出成功的原因是默认使用中文格式输出;
无论例一还是例二,对协议的制定都是不严谨的,
标准流程
对于一个复杂的通信系统,通常具备以下特点
- 数据的表现形式繁多
- 传输介质类型不尽相同
- 涉及的操作流程繁琐
因此,需要为每个通信系统制定一个分层的框架,以实现
- 为特定的操作提供规范化的标准(协议)
- 不同的协议在内容上不会相互重复或冲突
计算机网络体系结构
网络体系结构
计算机网络体系结构是计算机网络及其部件所应完成的功能的精确定义。网络体系结构通常应包括以下内容:网络功能部件的定义及相互关系的描述、网络与用户之间的接口定义。
网络体系结构的三要素
网络体系结构={层,协议,接口}
- 层:能提供某种或某一类服务功能集合的逻辑构造
- 协议:为完成该层对等实体之间通信所必须遵循的规则或标准
- 接口:两个相邻协议层之间交换信息的连接点
常见的网络体系结构
- DEC公司的DNA(DigitalNetwork Architecture)
- IBM公司的SNA(SystemNetwork Architecture)
- 因特网的TCP/IP
- 国际标准化组织ISO的OSI参考模型
网络体系结构是一种分层的层次式结构。
分层原理
- 分层的原因:复杂的问题分而治之,逐个解决。
- 分层的思想:每一层都在它的下层服务的基础上提供更高级的增值服务,最高层提供能运行应用程序的服务。
- 分层的好处:使每一层实现一种相对独立的功能。每一层不必知道下面一层是如何实现的,只要知道下层通过层间接口提供的服务是什么及本层向上层提供什么样的服务,就能独立地设计。
在分层结构中,n层是n-1层的用户,又是n+1层的服务提供者。n+1层虽然只直接使用了n层提供的服务,实际上它通过n层间接使用了n-1层以及以下所有各层的服务。
分层的原则
- 当需要一个不同抽象体时,应该单独创建一层
- 每一层都应该执行一个明确定义的功能选
- 择每一层功能时,应考虑到定义国际标准化的协议
- 选择层的边界时,应使通过接口的信息量最少
- 层数应该足够多,以保证不同的功能不会被混在一层中
- 层数也不能太多,以免体系结构变得过于庞大
网络协议
网络协议是指通信双方在通信时所应遵循的一组规则、标准或约定。协议由语义、语法、定时三部分组成。
- 语义(Semantics):规定通信双方准备“讲什么”,涉及用于协调与差错处理的控制信息
- 语法(Syntax):规定通信双方“如何讲”涉及数据及控制信息的格式、编码及信号电平等
- 定时(Timing):涉及速度匹配和排序等
OSI参考模型
国际标准化组织lSO(International Organization for Standardization)于1979年12月公布了开放式系统互连参考模型OSI/RM(Reference ModelofOpen System Interconnection)
“开放”是指按OSI标准建立的系统可以和世界上任意一个也按OSI标准建立起来的系统相互进行通信。
第1层到第3层主要负责通信功能,一般称为通信子网层。第5层到第7层属于资源子网的功能范畴,称为资源子网层。传输层起着衔接上下三层的作用。
物理层
物理层是OSI参考模型的最底层。物理层为通信提供物理链路,实现比特流(bit)的透明传输。物理层的作用是要尽可能地屏蔽掉不同物理设备和传输媒体的差异,使其上面的数据链路层感觉不到这些差异。
物理层定义了四个重要特性:机械特性、电气特性、功能特性和规程特性,以便建立、维护和拆除物理链接。
数据链路层
数据链路层是在物理层提供的比特流服务基础上,建立相邻结点间的数据链路,传输按一定格式组织起来的数据帧
- 作用:通过数据链路层协议,在不太可靠的物理链路上实现可靠的数据传送
- 主要功能:链路管理、帧的装配与分解、帧同步、流量控制、差错控制、将数据和控制信息区分开、透明传输、寻址等
- 数据链路层提供了网络中相邻结点间透明的、可靠的信息传输
网络层
功能:提供源站到目标站的信息传输服务,负责由一个站到另一个站点的路径选择。网络层在通信子网中传输信息包或报文分组
网络层为了向传输层提供整个网络上任意两个结点之间数据传输通路需要解决建立、维护以及结束两个站点之间的联系和由此而引起的路径选择、流量控制、阻塞和死锁等问题
传输层
传输层的作用是为不同系统内的会话实体建立端到端的连接,执行端到端的差错、顺序和流量控制,数据传输的基本单位是报文。
- 传输层将源主机与目标主机直接以点到点方式连接起来,把从源主机接收来的报文正确地传送到目的主机,是资源子网与通信子网的接口层
- 传输层的服务可以提供一条无差错按顺序的端到端连接,也可以提供不保证顺序地独立报文传输,或多目标报文广播。
会话层
会话层也称为会晤层或对话层。它是在两个表示实体之间建立起通信伙伴关系向表示层提供对话服务,并对通信的过程进行管理和协调
表示层
表示层负责数据的表示方式,解决格式和数据表示问题
应用层
在OSI环境下为用户提供各种网络服务
TCP/IP参考模型
TCP/lP(Transmission Control Protocol /Internet Protocol)协议是定义所有的数据传输如何在Internet上进行交换的一个协议集合或一组协议簇
- 这一系列协议是按其中最重要、应用最广泛的两个协议TCP与IP来命名的。
- 目前TCP/IP已成为一个事实上的工业标准。
TCP/IP主要功能
TCP是传输控制协议,规定了一种可靠的数据信息传递服务;IP协议又称为互联网协议,提供网络之间连接的完善功能。
TCP/IP主要特点
- 与生产厂家无关
- 已经在各种计算机上实现
- 已被LAN和WAN采用
- 被许多政府部门和商业机构采用
TCP/IP体系结构
TCP/IP是一个四层的结构
目前TCP/IP已在各种计算机和网络设备中上实现
应用层
向用户提供一组常用、可以在TCP/IP因特网上获得服务的应用程序
传输层
提供应用程序间的通信,即端到端的通信。其功能包括:第一、格式化的信息流:第二、提供可靠传输,保证数据无误有序地到达。
因特网层
负责相邻计算机之间的通信。其功能包括:处理来自传输层的分组发送请求:处理输入数据报;用因特网控制报文协议ICMP处理路径、流量控制、拥塞等问题。
网络接口层
又称为通信层,?负责接收IP数据报并通过网络发送之。或从网络上接收物理帧抽出IP数据报,交给IP层。
沙漏计时器形状的TCP/IP协议族
TCP/IP协议族的特点是“两头大,中间小务,这样可以为各式各样的应用提供服,同时也可以连接到各式各样的网络上。
OSI与TCP/IP的比较
- 两者都是以协议栈的概念为基础,并且协议栈中的协议彼此相互独立。
- 传输层以及传输层以上的各层都为希望通信的进程提供了一种端到端的,与网络无关的服务。
- OSI模型中,服务、接口、协议的概念非常清晰,而TCP/IP模型中并没有明确地区分三者之间的差异。
- TCP/IP一开始就考虑到多种异构网的互连问题,并将互联网协议IP作为TCP/IP的重要组成部分。而OSI最初只考虑到使用一种标准的公用数据网络将各种不同的系统互联在一起。
- TCP/IP一开始就对面向连接服务和无连接服务并重,TCP/IP的传输层支持面向连接服务和无连接服务,网络层只支持无连接的服务,而OSI的传输层只支持面向连接服务,网络层支持面向连接服务和无连接服务。
- TCP/IP有较好的网络管理功能,而OSI到后来才开始考虑这个问题
- OSI是先有模型,后有协议,适应范围广,而TCP/IP是先有协议,后有模型,因而TCP/IP模型的通用性较差,很难描述其他种类的协议栈。
网络体系结构中的数据传递过程
网络传输介质
有线传输介质
双绞线
双绞线电缆是由按一定密度的螺旋结构排列的两根包有绝缘层的铜线部再包裹屏蔽层或橡塑外皮而构成。
双绞线电缆分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP)两大类。
为什么叫双绞线
顾名思义,每两条芯线相互缠绕在一起
两条芯线相互缠绕在一起的作用是什么
由两根相互绝缘的导线按照一定规格相互缠绕在一起,可以实现冲抵干扰,降低信号传输衰减的效果
非屏蔽双绞线
优点: 尺寸小、重量轻、容易弯曲;价格便宜;容易安装和维护。
缺点:抗干扰能力较弱;传输距离比较短
UTP分为:3类线、4类线、5类线和超5类线,适合于楼宇内部的结构化布线。
屏蔽双绞线
优点:传输质量较高;电缆尺寸和重量与UTP相当
缺点:安装不合适有可能引入外界干扰;成本较高。
目前常用于局域网连接的双绞线缆和以太网速率
同轴电缆
同轴电缆由两个导体组成,是一个空心圆柱形网状导体围裹着一个实心导体的结构。
同轴电缆可分为两种基本类型,基带同轴电缆和宽带同轴电缆。
同轴电缆的特性
物理特性:频率范围较宽。
传输特性:
- a.粗电缆:抗干扰性能好,传输距离远
- b.细电缆:价格便宜,传输距离近
连通性:适于点到点及点到多点的连接。
地理范围:距离大,几千米甚至几十干米。
价格:高于双绞线,低于光纤
光纤
光纤是一种能够传导光信号的介质。光纤由纤芯、包层两部分构成。纤为光通路;包层由多层反射玻璃纤维构成,用来将光线反射到纤芯上。
光纤传输方式
单模和多模
光纤的特性
物理特性:两根光纤组成传输系统,按波长范围可分成3种:0.85um、1.3um、
1.55um。
传输特性:数据传输率可达几干Mb/s,传输距离达几千米。
连通性:普遍用于点到点的链路。
地理范围:6km~8km的距离内不用中继器传输。
抗干扰性:不受电磁波干扰或噪声影响。
价格:目前价格较高,但随着技术的改进会大幅下降。
无线传输介质
微波
微波中继通信是利用电磁波在对流层的视距范围内传输的一种通信方式,其频率一般在1GHz至20GHz左右。
由于受地形和天线高度的限制,两站间的通信距离一般为30~50km。故长距离传输时,必须建立多个中继站。
优点
①通信信道容量大
②微波传输质量较高
③建设投资少,见效快
缺点
①相邻站之间必须直视,不能有障碍物
②有时会受恶劣气候的影响
③隐蔽性和保密性较差
④使用和维护耗费较大
卫星通信
微波通信的一种方式,只不过它是利用位于高空的人造地球卫星作为中继器的一种微波接力通信。
卫星通信的最大特点是通信距离远,且通信费用与通信距离无关,非常适合于广播通信。卫星通信具有较大的传播时延,系统的保密性较差。
数据传输方式
- 按数据代码的传输顺序→串行传输和并行传输
- 按数据传输的体制→模拟传输和数字传输
- 按数据传输的同步方式→同步传输和异步传输
- 按数据传输是否经过调制→基带传输和频带传输
局域网概述
局域网的概念
局域网(LAN:Local Area Network)是将局部范围内的各种通信设备互连在起实现相互间数据传输和资源共享的通信网络
局域网的特征
- 覆盖范围小
- 传输速率高
- 误码率低
- 是一个自治网,由所属单位管理
局域网技术包含物理层和数据链路层的功能
它的特征主要由三个因素确定:
- 连接各种设备的拓扑结构
- 传输数据的传输介质(包括信号技术)
- 共享资源的介质访问控制技术
局域网的分类
按转换方式分类
共享介质局域网、交换局域网
按资源管理方式分类
对等局域网、非对等局域网
按传输技术分类
基带局域网、宽带局域网
按局域网采用的物理层和介质访问控制子层协议分类
以太网(Ethernet)、令牌环(Token Ring)和令牌总线(Token Bus)
按物理拓扑分类
总线型拓扑(Bus)、环型拓扑(Ring)、星型拓扑(Star)
总线型拓扑(Bus)
所有的用户工作站都同等地挂接在一条广播式公共信道(总线)上,是一种分布式结构的单跳(Single-hop)系统:
常用的总线传输介质有双绞线对、同轴电缆和光缆、无方向性同频广播式无线电信道。
优点:
- 通信成本最省。
- 易于扩充用户工作站数目
- 总线的无源操作和系统的分布控制,保证了网络的高度可靠性。
- 用广播式通信方式无转接节点,传输时延短。
缺点:
- 网络覆盖范围受到限制。
- 信道的故障将导致整个网络失效,完全瘫痪。
- 广播式竞争型多址通信协议不利于网络业务量的增加。
环型拓扑(Ring)
各工作站通过一个环接器挂接在一个环型的传输通路上。环内的信号必须是单向传播的。
环型局域网的传输介质可采用双绞线、同轴电缆和光纤等。
优点
- 网络接入控制及其接口部件比较简单。
- 网络操作是分布式且非竞争型的,信道资源的分配比较公平
- 网络的性能比较稳定,能承受较重的负荷。
缺点:
- 每个节点的环接器必须是有源部件,可靠性较差
- 环内需要设置对令牌进行管理的控制装置。
- 网络的扩充不如总线网容易,
星型拓扑(Star)
每一个工作站都经一条专用线路连接到中心节点上,通过中心节点的转接,可与其它任一个工作站建立连接,互相通信。
星型局域网使用双绞线或光纤作为传输介质。
优点:
- 集中控制有利于将各工作站送来的数据流进行汇集;
- 易与别的网络互连,连接方便、经济;
- 易于扩充,故障管理容易。
缺点:
- 中心节点交换机是关键设备,对可靠性要求高,要求有备份机或双机运行。
局域网接入控制技术
固定接入类
固定接入类-将公共的信道带宽资源对网络用户做了固定的或相对固定的分配。如频分复用和时分复用,信道被划分成若干子信道,每一子信道可提供给一对节点固定使用,实现一对通信实体之间的点到点通信。
集中控制接入类
集中控制接入类-要求网络中设置一-个对信道接入进行管理的中心控制节点,将信道的全部带宽资源按需分配给要求接入网络的通信实体。如轮询和预约接入技术
分布控制接入类
分布控制接入类-不要求网络中设置中心控制节点,它决定网络系统具有高度的可靠性和可扩展性的重要因素。
- 局域网中采用最多的一类信道接入控制技术。
- 根据特定的网络拓扑形式发展起来,只适用于特定拓扑的局域网
局域网参考模型
局域网参考模型和OSI/RM相比,相当于OSI/RM的最低两层:
为了使局域网中的数据链路层不致过于复杂,将局域网的数据链路层划分为媒体访问控制MAC子层和逻辑链路控制LLC子层,
MAC子层主要完成与具体传输媒体有关功能
LLC子层完成与媒体访问无关部分主要功能
局域网对LLC子层是透明的。只有MAC子层才能看见所连接的是采用什么标准的局域网。
IEEE802标准
局域网的链路层有两种不同的帧
以太网的物理层和MAC子层
以太网标准
物理层和mac子层
- LLC子层完成与媒体访问无关部分主要功能
- 在LLC子层的上看不到具体的局域网
- 只有到MAC子层才能看见所连接的是什么标准的局域网
802.3以太网标准
IEEE 802.3有5种物理层规范
粗缆以太网(10BASE-5)
- 使用总线结构的粗同轴电缆作为传输介质,最大传输速率为10Mb/s,采用基带传输技术
- 每一个网段最大长度为500m。每个网段理论上可以连接100台计算机。
- 网络上两台计算机之间的缆线长度不小于2.5m。
细缆以太网(10BASE-2)
- 使用总线结构的细同轴电缆作为传输介质
- 每一个网段最大长度为185m每个网段理论上可以连接33台计算机
- 电缆总长度不超过900m
双绞线以太网(10BASE-T)
每一个网段最大长度不超过100m
光纤以太网(10BASE-F)
- 使用单模或多模光纤作为传输介质
- 每一个网段最大长度为500m
宽带以太网(10Broad36)
- 是一种宽带LAN。使用75Q同轴电缆作为传输介质,单个网段的最大连接距离为1800m,整个网段的最大跨度为3600m
- 10Broad36与基带以太网相互兼容的方法是把基带曼彻斯特编码经过差分相移键控调制后发送到宽带电缆上,调制后的10Mb/s信号占用14MHz的带宽
802.3以太网标准-“5-4-3”规则
- 一个以太网最多只允许含5个网段
- 最多只允许使用4个中继器
- 其中3个网段上可以接终端
技术特性
以太网中RJ-45插头
连接规范应遵循EIA/TIA 586A和568B规范
- 568A标准:绿白、绿、橙白、蓝、蓝白、橙、棕白、棕
- 568B标准:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕
“同类”交叉、“异类”直通的原则
RJ-45接头
双绞线使用RJ-45接头连接网络设备,RJ-45接头即为人们平时所说的水晶头
以太网物理层编码技术-采用曼彻斯特编码
- 低电平跳变到高电平表示“0’
- 高电平跳变到低电平表示“1
以太网数据封装格式
ETHERNET I标准定义的数据帧封装格式
以太网数据帧的长度在64-1518字节之间
IEEE 802.3标准数据帧
与ETHERNET I标准数据帧的区别:Type字段,后将被发送Ethernet H格式中包含标识以太帧处理完成之到哪个上层协议进行处理。IEEE 802.3格式中,同样的位置是长度字段。
Mac子层
常见的冲突避免技术
- 载波侦听多路访问/冲突检测(CSMA/CD)
- 令牌环
- 载波侦听多路访问/冲突避免(CSMA/CA)
802.3以太网的MAC帧格式
- 介质接入管理—CSMA/CD协议
- MAC帧的封装(发送与接收)功能
- 成帧(帧定界、帧同步)与卸帧
- 编址与寻址(源和目的地址的处理)
- 差错检测(由更高层负责校正差错)
802.3的MAC子层的主要功能
1、介质接入管理功能
- 信道分配(避免碰撞、介质接入控制)
- 竞争解决(处理碰撞、退避延时重发等)
2、以太网是使用带碰撞检测的载波侦听多路访问(CSMA/CD)技术的总线型网络
3、多点接入-一是总线网络,许多计算机以多点接入的方式连接在一根总线上。
4、载波监听–在发送数据之前要检测总线上是否有其他计算机在发送数据,如果有暂时不要发送,以免发生碰撞。
5、碰撞检测
- 计算机边发数据边检测信道上信号电压的大小
- 当检测到的电压摆动值超过门限值则表明产生了碰撞
传播时延对载波监听的影响
- 使用CDMA/CD协议的以太网不能同时进行发送和接收
- 每一个站在自己发送数据后2t的时间内,存在着遭遇碰撞的可能性。因此以太网不能保证在某一时间内能够将自己的数据帧成功地发送出去,这称为发送的不确定性。
MAC层的硬件地址
MAC层地址指网卡上的地址,共48位,前24位是厂商代号,后24位由厂商自行指派。例如:00:50:56:C0:00:02
硬件地址又称物理地址或MAC地址。实际上就是网卡地址或网卡标识符EUI-48.
采用六字节表示,EUI为扩展惟一标识符。
- 前三字节是机构惟一标识符OUI
- 后三字节称为扩展标识符
名字指出我们所要寻找的那个资源
地址指出那个资源在何处
路由告诉我们如何到达该处
用硬件地址标识局域网上的计算机和路由器
- 所有的网卡都能够识别单播和广播地址
- 有的网卡可用编程的方法识别多播地址
CSMA/CD技术
CSMA(Carrier Sense Multiple Access:载波侦听多址接入)技术
CSMA/CD是“带碰撞检测的载波侦听多址接入”技术
CSMA原理
任一个网络节点在它要发送帧之前,先监测一下广播信道中是否存在别的节点正在发送帧的载波信号。如果监测到这种信号,说明信道正忙,否则信道是空闲的。
若测得空闲,或者立即将自己的帧发送出去,或者为慎重起见暂时不发送出去;
若测得信道忙,或者继续坚持监测载波,或者暂时退避一段时间再监测。
非坚持型CSMA
当一个网络节点准备发送数据帧之前先监测信道,若测得信道空闲,立刻启动发送帧。若信道正忙,则暂时不坚持监测信道,随机延迟一段时间后再次监测信道状态。如此循环,直到将帧发送完为止。
当监测到信道忙时,能主动地退避一段随机时间,有利于减少冲突机会,可提高吞吐率和信道的利用率。
1-坚持型CSMA
当一个网络节点准备发送数据帧之前先监测信道,若测得信道空闲,立刻启动发送帧。若信道正忙,则坚持继续监测信道,直到监测到信道空闲时,立即启动发送帧。
由于它在信道忙时要坚持监测信道,可能会有多个节点同时监测到信道空闲而同时采取发送行动,导致吞吐性能比非坚持型CSMA差。但由于控制简单,很有实用价值。
p-坚持型CSMA
一方面坚持对信道状态的持续监测,及时确知信道忙闲情况,避免信道时间的浪费;
另一方面,即使已监测到信道空闲,也不一定要立刻发送,要求任一节点以(1-p)的概率主动退避。
CSMA/CD-基本原理
“边说边听”:任一站在发送数据帧期间要保持侦听信道的碰撞情况。一旦检测到碰撞,应立即中止发送。
‘强化干扰”:发送站在检测到碰撞并停止发送后,立即发送一段“强化干扰”信号,以加强碰撞检测效果
“基本等待时间”:任一站若能完整地发完一个帧,停顿一个时间(BWT=2tpmax)并倾听信道情况。若在此期间未发生碰撞,则可确认该帧已发送成功。
Wireshark抓包工具
Wireshark简介
1997年,Gerald Combs在工作中需要一款能够追踪网络流量的软件作为辅助工具,开始编写Ethereal软件。2006年,由于商标问题,Ethereal更名为Wireshark.
Wireshark是一个网络封包分析软件,主要功能是捕获网络封包,并尽可能显示出最为详细的网络封包资料。
应用领域
一般分析:查看网络通信、查看主机应用程序、无人值守捕获数据
故障排错:确定路径、客户端和服务延迟;检查应用程序错误响应
安全分析取证:检查可疑数据重定向;确定网络侦查过程
应用程序分析:图形应用程序的带宽使用情况;从一个新安装的应用程序中检查错误响应
Wireshark安装
win和linux都可以直接安装,没什么特殊要求
Wireshark使用
打开Wireshark后,会出现捕获选项,这里选择需要捕获数据的设备,如有线/无线网卡等:
这里有个用户指导,里面不仅有教学,还有对应的数据包,是不错的学习教程
Wireshark主要窗口及其功能
1–标题栏
2–菜单栏
3–工具栏
4–显示过滤区域
5–Packet List 面板
6–Packet Details 面板
7–Packet Bytes 面板
8–状态栏
Wireshark常见过滤规则
- IP : ip.addr ==IP
- 源IP: ip.src ==IP 或ip.src eq
- IP目的IP:ip.dst ==IP 或ip.dst eq IP
- 端口:tcp.dstport ==80、udp.port==53、tcp.srcport >1024
- 协议:tcp、udp、arp、icmp、http、smtp、ftp、dns、ip、ssl
- HTTP:http.request.method ==GET、http.request.method ==POST、http contains “HTTP/1.1 200 0K、tcp contains “admin”
数据包格式
Wireshark报文结构
帧 数据链路层
包 网络层/IP层
段 传输层
List面板中显示了此数据的摘要信息,主要包括了数据包编号(NO.)、相对时间(Time)、源地址(Source)、目的地址(Destination)、协议类型长度(Length)摘 要信息(Info)(Protocol)
Details
Details 面板展示了此数据包的细节信息,从上到下依次是Frame:物理层的数据帧头部信息;
Ethernet 1:数据链路层的数据帧(以太网)头部信息;
Internet Protocol Version 4:网络层的数据包(IPv4)头部信息;
Transmission Control Protocol:传输层的数据段(TCP)头部信息;
Hypertext Transfer Protocol:应用层(HTTP)信息。
此面板中信息为Wireshark格式化之后的信息,亦是为了方便人的查看
bytes
交换式以太网
交换式以太网
为提高网络可用性,保证各种终端设备间正常通信,常采用多条链路连接交换设备形成备份连接,以保证线路上的单点故障不会影响正常网络的通信,冗余链路会导致交换回路的产生,网络中必须有一个机制来阻止回路
主要功能分为两部分:建立虚连接和转发。
当两个站点间有包要传送时,在这两个站点间临时建立一条点对点的连接,包发送完后,就立即拆除这条连接。
在交换机内部保存了一张地址表,存储所连接的各站点所在的交换机端口号和MAC地址之间的对应关系。
过程:
交换机从一个端口收到包一识别出包中的目的站MAC地址→查地址表一得到目的站所在的端口号
在两个端口间建立一条虚连接一将包从源端口发送到目的端口→包发送完后一拆除这条虚连接。
包转发技术
分三种:存储转发、切入法和改进切入法。
为提高可靠性,常在局域网之间采用多台交换设备链接,以保证线路上的单点故障不会影响正常网络的通信。
但网络中冗余链路的引入导致拓扑结构中产生了回路,出现帧的循环转发。
主机发出一个带有未知目标地址的帧F。而对于未知目标地址的帧,交换机都采用扩散法。
生成树协议
解决网络中由备份链接产生的环路问题。
生成树协议通过生成树算法(Spanning Tree Algorithm,STA)生成一个没有环路的网络。当主要链路出现故障时,能够自动切换到备份链路。
原理:当网络中存在环路时,通过一定的算法将交换机的某些端口进行阻塞,使网络形成一个无环路的树状结构。
工作过程
工作过程:在网络中选择一个交换机作为根交换机(Root Bridge)比较优先级,比较MAC地址(最小者胜出)通过Hello BPDU
- (1)根端口的选择
- 除根交换机以外的每台交换机都将选择一个“最靠近”根交换机的端口作为根端口(Root Port)
- (2)通过判断有最小根路径成本(Lowest Root Path Cost)的端口来实现的。端口根路径成本是指从该端口到根交换机的路径成本。
拓扑结构
(3)指定端口的选择
- 在每个网段选择一个交换机端口处理该段网络的流量,在网段内有最小根路径成本的端口就成为指定端口(Designated Port)。
(4)删除桥接环
- 根端口和指定端口转发(Forwarding)状态
- 既不是根端口也不是指定端口的交换机端口被设为阻塞状态
- 这就断开了不设置阻塞而会形成的所有桥接环(Bridging Loop)
生成树协议的端口状态
Disabled(禁用):为了管理目的或因为发生故障将端口关闭,
Blocking(阻塞)端口不能接收或传输数据,不能把MAC地址加入它的地址表只能接收BPDU。
Listening(监听):端口不能接收或传输数据,不能把MAC地址加入到地址表只能接收或发送BPDU。
Learning(学习):端口不能传输数据,但可以发送和接收BPDU。可以学习MAC地址,并将其加入到地址表中。
Forwarding(转发):能够发送和接收数据,学习MAC地址,还能发送和接收BPDU.
STP的缺点
- 解决交换链路冗余问题。缺点是收敛速度慢。
- 拓扑发生变化时产生时延,默认值15秒。所有交换机收到之前,若旧拓扑结构中处于转发的端口还没有发现,则可能存在临时环路
- 为了解决临时环路的问题,生成树使用了一种定时器策略。
- 定时器策略至少两倍转发时延的收敛时间
生成树性能的三个计时器
- Helo timer(BPDU发送间隔):定时发送BPDU报文的时间间隔,默认为2秒。
- Forward-Delay timer(转发时延):端口从listening转为learning,或者从learning转为forwarding间隔为15秒。
- Max-Age timer(最大保留时间):BPDU报文消息生存的最长时间。当超过这个时间,报文消息将被丢弃,默认为20秒。
快速以太网
100BASE-T快速以太网(Fast Ethernet)是在双绞线上传送100Mbit/s基带信号的星型拓扑以太网。
- 保留了传统以太网帧格式、介质访问控制方法CSMA/CD、组网方法,最短帧长仍为64字节。
- 每个比特发送时间由100ns降至10ns,它可以在原来的10BASE-T网上一起运行保护了原有的网络投资利益。
- 其国际标准代号为802.3u。只要更换一张网卡,再配100Mb/s的集线器,就可以由10BASE-T以太网直接升级到100BASE-T。
高速以太网
干兆以太网
其标准802.3z有以下几个要点
- (1)在1Gbit/s下全双工和半双工两种方式工作
- (2)使用802.3协议规定的帧格式。把Ethernet每个比特的发送时间由100ns降低到了1ns.
- (3)在半双工方式下使用CSMA/CD协议(全双工方式不需要使用CSMA/CD协议)。
- (4)与10BASE-T和100BASE-T技术向后兼容。从10Mb/s的Ethernet升级到FastEthernet或吉位以太网非常容易。
干兆以太网-1000BASE-X(802.3z标准)
- 1000BASE-SX:SX短波长,使用纤芯直径62.5um和50um多模光纤,传输距离为275m和550m。
- 1000BASE-LX:LX长波长,使用纤芯直径62.5um和50um的多模光纤时,传输距离550m。
- 使用纤芯直径为10um的单模光纤时,传输距离5km:1000BASE-CX:CX铜线,使用两对短距离的屏蔽双绞线电缆,传输距离为25m。
干兆以太网-1000BASE-T(802.3ab标准)
使用4对5类线UTP,传送距离为100m。
工作在半双工方式时,必须进行碰撞检测。
一个网段的最大长度为100m,采用了“载波延伸”的办法,并增加了分组突发的功能。
全双工方式时,不使用载波延伸和分组突发
载波延伸(carrier extension)法来进行碰撞检测,最短帧长仍为64字节,将争用时间增大为512字节,不足用特殊字符填充在帧的后面。
- 分组突发(packet bursting)是有很多短帧要发送,第一个短帧采用载波延伸方法填充,随后短帧一个接一个地发送,直到达到1500字节或稍多一些为止。
10吉比特以太网
10吉比特以太网即万兆以太网,其标准为IEEE802.3ae。
帧格式与802.3标准规定的帧格式完全相同
保留802.3标准规定的以太网最小和最大帧长
10吉比特以太网只使用光纤作为传输媒体
10吉比特以太网只工作在全双工方式,不存在争用问题,也不使用CSMA/CD协议
小结
共享型以太数据帧处理
交换型以太数据帧处理
CAM表
指MAC地址与交换机端口的二元组映射关系。
- 交换型以太网中,实现有针对性地数据帧转发
- 基于源MAC地址学习,源MAC地址与端口建立映射关系
- 基于目的MAC地址转发,得到响应的MAC地址与端口建立映射关系
虚拟局域网
VLAN的概念
虚拟局域网(VirtuaI LAN,VLAN)是由一些局域网网段构成的可跨越不同物理网段、不同网络类型的逻辑网络
每一个VLAN的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪-个VLAN。
VLAN的特点
一个虚拟工作组可以跨越不同的交换机来组成一个广播域。
虚拟局域网支持任意多个站点间的组合,一个站点或工作组可以属于多个虚拟工作组。
虚拟局域网可大大简化网络的管理
虚拟局域网允许管理员在中央节点来配置和管理网络
虚拟局域网为网络设备的变更和扩充提供了一种有效的手段。
VLAN的信息交换方式
- 端口交换:把端口配置到一个或若干个背板连接共享HUB上,独立的由端口组合的共享网络段,每一个连接到端口上的用户被分配到其中一个段上。
- 帧交换:交换机每一个端口能提供一个独立的共享网络端口,在此端口上既可以连接共享HUB,也可以连接单独客户站。
- 信元交换:核心是由一个或多个ATM交换机组成,在ATM交换机上实现信元交换
VLAN的分类
(1)按交换机端口划分:按交换机的端口来划分虚拟局域网,将同一虚拟工作组的端口设置成具有相同的广播域的虚拟子网,只允许同一广播域端口之间互相通信,各虚拟子网之间相对独立。由端口划分的虚拟局域网称为物理层虚拟局域网
(2)按MAC地址划分:该虚拟工作组的广播域是按用户工作站的MAC地址来划分的,又称为链路层虚拟局域网。
(3)按IP地址划分:是根据IP地址来定义虚拟局域网,又称为网络层虚拟局域网
(4)按应用划分:根据应用所需的网络带宽和服务质量级别来定义虚拟局域网
VLAN的路由
虚拟局域网主要采用集中式路由和分布式路由
集中式路由策略是指所有虚拟局域网都通过一个中心路由器实现互连
分布式路由策略是将路由选择功能适当地分布在带有路由功能的交换机上。
VLAN的管理
虚拟局域网是通过网络管理软件实现的。
网络管理软件运行在与交换机相连的网管工作站上,负责网络配置、性能监控故障检测与诊断以及网络安全性等方面的网络管理。
网络管理软件通常采用图形化的用户界面(GUI),易于操作和理解,
交换机工作原理
交换机原理与应用
冲突域
竞争同一带宽的节点集合。
传统的基于共享式集线器(HUB)的局域网中所有站点都处于同一个“冲突域”中。
广播域
接收同样广播消息的节点的集合。交换机和HUB组成的网络是一个广播域。
路由器的一个接口下是一个广播域。所以路由器可以隔离广播域。
网络拓扑结构
- 总线型:结构简单、费用少、故障诊断困难
- 星型:结构简单、存在单点故障;
- 环形:结构简单、存在单点故障;
- 网状:可靠性高、网络复杂成本高;
网络环路
影响:产生网络风暴,造成网络拥塞;
解决方法:结构设计时避免环路;生成树协议(STP),树是没有环路的,所有的数据都只在树所指示的路径上传输。
原理
MAC地址表:交换机端口与主机的MAC地址的对应关系,可初始化并自动学习。
转发:位于mac地址表中的单帧数据。
广播:广播、组播、未知单帧数据。
过程
1、MAC地址表初始化
2、MAC地址表学习
3、单帧转发
4、广播、组播和未知单播帧的转发
VLAN
Local Area Network)的中文名为“虚拟局域网”路由器可直接隔离广播,(Virtua交换机则使用VLAN隔离广播。
VLAN标签:交换机用VLAN标签来区分不同VLAN的以太网帧。
Access端口:仅允许一个VLAN通过,用于连接终端。
Trunk端口:允许多个VLAN通过,用于交换机之间连接
vlan通信原理
三层交换机
同时具备交换机的转发能力和路由器的路由功能。
一般应用与核心及主干网络
网络设备基本调试
连通性测试:
Ping命令
TTL:最大值255,推荐值64
Tracert命令
访问网络设备
Console口本地访问
使用Telnet终端访问使用SSH终端访问
(超级终端、Xshell、secureCRT)
命令行视图
用户视图:登陆显示 |
常用命令
VLAN基本配置
创建VLAN并进入VLAN视图 |
ARP协议与RARP协议
https://cloud.tencent.com/developer/article/1948193
ARP协议
TCP/IP分层结构
地址解析协议 Address Resolution Protoco
在局域网中,当主机或其它网络设备有数据要发送给另一个主机或设备时,它必须知道对方的网络层地址(即IP地址)。
但是仅仅有IP地址是不够的,因为IP数据报文必须封装成帧才能通过物理网络发送,因此发送站还必须有接收站的物理地址,所以需要一个从IP地址到物理地址的映射,APR就是实现这个功能的协议,
原理
主机以广播的方式,发送包含目标IP地址的包到网络上的所有主机,然后接收返回信息,以此来确定目标地址的MAC地址,收到响应信息后,将IP地址和MAC地址的映射缓存一段时间(下次请求可以先查缓存,这样节省时间)。
MAC地址–Media Access ControlMAC(Medium/Media Access Control)地址
用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给不同厂家分配的代码(高位24位),也称为“编制上唯一的标识符(Organizationally Unique ldentifier),后三个字节(低位24位)由各厂家自行指派给生产的适配器接口,称为扩展标识符(唯一性)
MAC:40-A3-CC-AD-E0-43
发送过程
先在自己的缓存中查找有没有目的MAC地址和IP地址的映射关系:
如果有,就用IP与MAC地址的对应关系,将MAC地址按照协议写入MAC帧,然后局域网发送MAC帧;
如果没有,就发送广播MAC帧请求,FF-FF-FF-FF-FF-FF,主机B接收到后,向A发送ARP响应分组,响应分组中是包括IP与MAC的对应关系的。主机A会将这个对应关系进行缓存,下次使用。
分组格式
协议格式
ARP命令
Linux下 man arp,查看使用方式
arp -a |
Window下直接打arp
arp -a |
实验:使用Wireshark抓取ARP数据包
ARP协议在什么时候工作?
正常情况下不会收到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址
为什么ARP数据包目的地址不是FF-FF-FF-FF-FF-FF?
什么时候会发送目的地址为FF-FF-FF-FF-FF-FF的ARP包?
如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”
这种机制有什么问题?
ARP欺骗
RARP协议
反向地址解析协议。将主机的MAC地址转换为IP地址,比如局域网中有一台主机只知道MAC地址而不知道IP地址,那么可以通过RARP协议发出征求自身IP地址的广播请求,然后由RARP服务器负责回答。RARP协议广泛用于获取无盘工作站的IP地址
RARP是一种逝去的地址分配技术,是Bootp和DHCP的鼻祖,目前只有部分无盘工作站等情况需要用到。
网络层协议基础
IP协议
网络层
1、具体功能
- 路由选择、拥塞控制和网际互联等。
2、研究和解决的主要问题为传输层提供服务
- 路由选择
- 流量控制
- 网络连接的建立、保持和终止
IP(Internet Protocol)协议是整个TCP/IP网络的核心协议,它将各个局域网和广域网互连成一个有统一地址、统一分组格式和相同服务特性的IP网络。
网际协议IP及其配套协议
IPV4协议
IP地址
IP地址(IPV4)是给每个连接在因特网上的主机分配一个在全球范围是唯一的32bit的标识符。
IP地址采用分层结构,即由网络地址和主机地址两部分组成,网络地址用来标识接入Internet的网络。主机地址用来标识接入Internet的主机。
IP地址分类
A类IP地址
网络字段的第一位是固定的:0
A类IP地址第一字节的范围是:1~127
网络号 1.0.0.0~126.0.0.0
网络127保留用于本地软件环回测试本主机之用。
可用网络数:126(2^7-2)
每个网络的主机数:16,777,214(2^24-2)
A类地址空间共有2^31(2147483648)个地址,占整个IP地址空间的50%
B类IP地址
网络字段的前两位是固定的:10
B类第一字节范围:128~191
网络号128.0.0.0~191.255.0.0
可用网络数16384(2^14)
每个网络的主机数 65534(2^16-2)
整个B类地址空间共有2^30(1073741824)个地址,占整个IP地址空间的25%
C类IP地址
网络字段的前三位是固定的:110
C类地址范围:192~223
网络号 192.0.0.0~223.255.255.0
可用网络数 2097152(2^21)
每个网络的主机数 254(2^8-2)
整个C类地址空间共有229((536870912)个地址,占整个IP地址的12.5%。
广播地址:32位全为“1”的IP地址,是用于向网上(本地)所有主机发送报文的广播地址。
有限广播:主机号各位全为“1”的IP地址,用于本网广播,叫做有限(定向)广播地址。
“0”地址:各位全为“0”的网络地址,表示本地网络
回送地址:A类网络地址127,它是一个保留地址,用于网络软件以及本地进程间通信。
子网划分
随着Internet的发展,两级地址结构很难满足日益增长的网络的需求,并日益显现出下面的缺点。
IP地址的浪费。目前的IP地址分类方案有不合理之处,因而造成许多地址的浪费。
路由器效率低下。给每一个网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
解决问题方法:划分子网和构造超网
网络掩码
子网掩码是用来标识网络号和主机号的
“1”对应的IP地址位标识网络号(包含子网号)
“0”对应的IP地址位标识主机号
掩码
用来标识网络位和主机位的方式。
前N位全取1,后32-N位全取0,得到掩码的表示形式
掩码与IPv4地址作与运算则可得到对应的网络位地址
遮掩对应IPv4地址的主机位,仅保留其网络位的效果
掩码的表示方式
点分十进制:表示为255.0.0.0
/网络位位数:表示为/8
A、B和C类地址的掩码表示方式
A类地址:255.0.0.0或/8
B类地址:255.255.0.0或/16
C类地址:255.255.255.0或/24
无类域间路由
CIDR消除了“子网”的概念,使IP地址从三级编址又回到了两级编址。它的记法是
IP地址 ∷:={<网络前缀>,<主机号 >}
CIDR使用“斜线记法”或CIDR记法,它在IP地址后面加上一个斜线“/”,写上网络前缀所占的比特数(对应于子网掩码中比特1的个数)。
例如128.14.32.0/20表示的地址块共2^12个地址。其地址范围是:128.14.32.0-128.14.47.255
最长前缀匹配
网络前缀越短,其地址块所包含的地址数就越多。
在查找路由表时可能会得到不止一个匹配结果,应当从匹配结果中选择具有最长网络前缀的路由,这叫做最长前缀匹配,又称最长匹配或最佳匹配
无类域间路由的技术特点
使用网络前缀和主机号的二级地址结构,不再使用子网的概念;
网络前缀相同的连续的IP地址形成一个地址块,由起始地址和块地址数来表示
无类域间路由的优点
解决了困扰传统IP寻址的两大问题:
减小Internet的路由条目。
无类域间路由对应的掩码
CIDR与VLSM比较
CIDR是将网络位进行缩小,利于汇总,减小路由条目;
VLSM则是将主机位进行细分为子网位,更合理的分配IP地址
路由原理
路由基础
路由的概念
名词:route,为需要跨网络转发的数据包提供的路径信息
路由协议:路由器之间分享路由信息所需要遵循的标准
动词:routing,依据逻辑地址对跨网络的数据包执行转发
路由器
路由器(Router)是工作在OSI/RM第三层(网络层)的数据包转发设备。路由器的主要功能是路由选择(Routing)
路由器可以连接多个网络或网段,对不同网络或网段之间的数据信息进行“翻译”从而构成一个更大的网络,
路由器的分类
模块化结构可以灵活地配置路由器,按需更换路由器模块,以适应企业的业务需求。
固定配置结构的路由器只能提供固定接口。
骨干级路由器是实现大型网络互联的关键设备,多用于电信运营商和大型企业
企业级路由器主要面向连接对象较多,但系统相对简单且数据流量较小的用户
接入级路由器主要应用于连接家庭或小型企业客户群体。
路由及路由原理
路由指分组从源节点到目的节点的传输路线。这条传输路径由路由选择算法来选取
因此,路由选择算法的好坏直接关系到网络资源的利用率和网络性能的高低。
例如:现实生活中的邮件收发过程
小李写信装进信封;
小李将邮件投递给邮局
邮局根据信封地址找到小王
小王收信拆开信封。
静态路由
按照某种规则在一对源节点和目的节点之间的多条路由中选择一条最佳路由的方法叫做路由选择算法,简称路由算法。路由选择算法分为静态路由选择算法和动态路由选择算法两大类。
静态路由选择算法
静态路由选择算法不用测量也不需要利用网络信息,路由选择在网络设计时或网络安装时已经设置好,是一种按照某种固定规则进行的路由选择。
扩散式路由选择
一个网络节点从某条线路收到一个分组后,向除该线路外的所有线路重复发送收到的分组。
基本思想:把分组发送给除发送节点以外的所有邻节点,各节点收到重复分组时都有废弃能力(扩散式,全路发送)
各节点第一次收到分组时,就继续向目的地方向发送,经其他节点,直至目的地节点;
除了第一次收到的分组外,其它重复收到的分组将被废弃
网络资源利用率低,但可靠性高。
适用范围:规模小、负荷轻的网络
选择扩散式(多路发送)
基本思想:选择向着靠近目的节点方向的一部分节点发送分组。
固定式路由选择
网络中的网络控制中心按照最佳路由选择算法求出每对源、目的节点之间的最佳路由为每一个节点构造一个固定路由表并分发给各节点。每个网络节点的表格中每一项记录着对应某个目的节点的下一个节点或链路。
优点:简便易行,在负载稳定,拓扑结构变化不大的网络中运行效果较好
缺点:灵活性差。
随机路由选择
转发节点随机地选择一个链路发送分组,如果选择各个链路的概率相同,则可用循环方式轮流的把各个分组转发到所有相邻的节点。
优点:是简单易行,对网络负载的增加小。
缺点:是分组在网络中迂回旅行的时间过长
静态路由选择算法只适宜小型的、结构相对稳定的计算机网络。
动态路由
动态路由选择算法的节点的路由选择要依靠网络当前的状态信息来决定。它能较好地适应网络流量、拓扑结构的变化,有利于改善网络的性能,因此又称为自适应路由选择算法。
独立路由选择:利用本地信息进行分布式控制:
集中路由选择:利用相邻节点的信息进行集中式控制;
分布路由选择:利用全网节点的信息进行分布式控制;
路由协议
路由选择协议也称为路由协议,是执行路由选择算法的协议,是路由器之间实现路由信息共享的一种机制,它允许路由器之间相互交换和维护各自的路由表。
TCP/IP网络的路由协议分为两大类:内部网关协IGP(InteriorGatewayProtocol)和外部网关协议EGP(External Gateway Protocol)。IGP用于自治系统或管理域之内,而EGP用于自治系统之间或管理域之间。
自治系统和内部网关协议
内部网关协议IGP:具体的协议有多种,如RIP和OSPF等
外部网关协议EGP:目前使用的协议是BGP
不同的路由协议执行不同的路由算法
适用于单播的路由算法分为:V-D(向量距离)和L-S(链路状态)两大类。
适用于组播的路由算法分位:SBT(源树路由)和CBT(核心树路由)两大类。
路由选路及原理
路由表与路由条目
路由表:路由条目的集合
路由条目:记录特定目的IP地址与转发接口的某类表项
每台路由设备中都至少维护着一张路由表
路由器必须依赖路由表中的信息来转发数据包
- 如果路由表中没有与数据包目的IP地址相关的路由条目,路由器就只能丢弃数据包
- 如果路由表中有多条与数据包目的IP地址相关的路由条目,路由器需要依据一些规则选出“最优路由”并以此执行转发。
在华为设备上查看路由表
displayip routing-table
常见动态路由协议
RIP路由协议
RIP是一种内部网关协议,结构简单,适用于小型网络。它运行于UDP之上,缺省的端口号是512。RIP是一种分布式的基于距离向量的路由选择协议,RIP协议的“距离也称为“跳数(hop count)”
- 从一路由器到直接连接的网络的距离定义为0。从一路由器到非直接连接的网络的距离定义为所经过路由器数加1。
- RIP支持的最大跳数是15,跳数为16的网络被认为不可达。因此RIP只适用于小型互联网。
交换路由信息
如果两个路由器之间的通信不需要经过另一个路由器,则它们是相邻的。
两个相邻路由器在同一个网络上都有自己的接口。
RIP 协议规定,对于不相邻的路由器就不交换信息。RIP协议仅和相邻路由器交换信息
交换的信息:“到本自治系统中所有网络的(最短)距离,以及到每个网络应经过的下一跳路由器”
至于本路由器怎样获得这些信息以及路由表是否完整,都是不重要的。
RIP 协议交换的是当前本路由器所知道的全部信息,即路由表
RIP 协议按固定的时间间隔交换路由信息。例如,每隔30秒。然后路由器根据收到的路由信息更新路由表。即采用周期驱动方式
当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
RIP协议的特点
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
- 按固定的时间间隔交换路由信息,当网络拓扑发生变换时,路由器也要及时向相邻路由器通告拓扑变化后的路由信息。
- RIP不能在两个网络之间同时使用多条路由。RIP选择一条具有最少路由器的路由RIP协议的每一个路由器都要不断地和其他一些路由器交换路由信息。
路由表的初始化
路由器启动时对路由表进行初始化,为与自己直接相连的每个网络生成一个表项。
路由表中最主要的信息是:到某个网络的距离,以及应经过的下一跳地址。
路由表的初始化
RIP协议的缺点
- RIP 限制了网络的规模,它能使用的最大距离为15(不可达为16):
- 路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大开销也就增加。
- “坏消息传播得慢”,使更新过程的收敛时间过长。
- 依赖于固定的路由度量(代价),不考虑真实距离和带宽。
OSPF路由协议
开放最短路径优先协议OSPF(Open Shortest Path First)是一个典型的基于L-S算法的路由协议,它运行在IP协议之上,协议号为89。
- OSPF最主要的特征是使用分布式的链路状态协议。
- “链路状态”是说明本路由器和哪些路由器相邻,以及该链路的“度量
metric)
OSPF特点
- OSPF能提供负载均衡功能
- OSPF允许将AS中的网络分成若干区域
- OSPF允许灵活配置IP子网,支持无分类路由和特定分类网络的路由OSPF支持最佳(最长或最具体的)地址匹配
- 所有OSPF协议交换都要被鉴别
- 从外部得到的路由选择数据要在整个自治系统中通告
OSPF区域划分和路由类别
OSPF使用层次结构的区域划分。在上层的区域叫做主干区域,其作用是连通其他在下层的区域。从其他区域来的信息都由区域边界路由器进行概括。
OSPF将一个规模很大的自治系统划分为若干个小的区域,每一个区域都有一个32bit的区域标识符。在一个区域内的路由器最好不超过200个。
OSPF区域划分举例
【R6】ASBR(Autonomous System Boundary Router)自治系统边界路由器:和属于其它自治系统的路由器交换路由信息的路由器。在自治系统中的每一个路由器都知道到ASBR的路径。
【R5】BR(Backbone Router)骨干路由器:有一个接口连到骨干区域的路由器
【R7】ABR(Area BorderRouter)区边界路由器:连接到多个区域的路由器。
【R9】IR(Internal Router)内部路由器:路由器连接的所有网络都在同一个区域内。
OSPF基本路由选择算法(过程)
- 当路由器启动时,首先初始化路由协议数据结构
- 路由器使用OSPF的Hello协议获得邻居
- 路由器尝试与其新获得的邻居中的一些形成邻接。OSPF仅在邻接路由器上收发路由更新
- 路由器周期性地通告它的链路状态LSA
- LSA在整个区域内洪泛发送。确保一个区域中的所有路由器有完全相同的链路状态数据库
举例:
OSPF最短路径树:
OSPF报文类型
- Helo报文。路由器之间定时交换Helo报文,发现相邻路由器,维护邻居关系确定链路状态。另外,在具有多播或广播性能的物理网络,Helo包使用多播方式发送,允许动态地发现邻居路由器。
- OSPF规定两个相邻路由器每隔10秒钟交换一次问候分组,以确定哪些邻站是可达的。
- 只有可达邻站的链路状态信息才存入链路状态数据库。
- 若40秒钟没有收到某个相邻路由器发来的问候分组,则认为该相邻路由器是不可达的,应立即修改链路状态数据库,并重新计算路由表。
OSPF用以下四种分组来进行链路状态数据库的同步。
- Link State Update(链路状态更新包):链路状态更新报文用于节点之间广播的L-S信息。
- Link State Acknowledgement(链路状态确认包):节点收到Link State Update报文后必须应答该报文。
- Link State Request(链路状态请求包):局域网上一个路由器启动后向值班路由器发出该请求。
- Database Description(数据库描述包):值班路由器以该报文响应LinkState Request报文,将自己的所有L-S信息下载给非值班路由器。
OSPF规定
- 两个同步的路由器叫做“完全邻接的”(fully adjacent)路由器。
- OSPF每一个路由器用数据库描述分组与相邻路由器交换本数据库中已有的链路状态摘要信息。
- 为了确保链路状态数据库与全网的状态保持一致,OSPF每隔30min刷新一次数据库中的链路状态。
- 通过路由器之间交换的链路状态信息,每个路由器都可得出该互联网的链路状态数据库,算出以自己为根的最短路径树。根据最短路径树得出路由表。
数据传输过程总概
终端视角的数据传输
终端侧数据传输特点
- 不清楚数据在传输过程中是否被重新封装/解封装
- 只关心上层协议,下层协议可以通过上层协议掩盖
网络设备视角的数据传输
网络侧数据传输特点
- 数据包的封装、解封装(针对互联网层、网络接入层)
- 协议首部的替换、修改(针对互联网层、网络接入层)
路由器和交换机对数据的处理
设备操作说明
工作层次 | 操作 | 职责 | |
---|---|---|---|
交换机 | 网络接入层 | 1)查看以太网首部的目的硬件地址,发现是路由器 2)将数据帧发送给路由器。 |
以太网首部 |
路由器 | 互联网层、网络接入层 | 1)查看以太网首部的目的硬件地址,发现是自己 2)将数据帧解封装(剥除以太网首部)以查看互联网层IP首部)的目的逻辑地址,发现是终端B 3)根据该逻辑地址查询路由表以确定下一跳(这里假设下一跳即为终端B); 4)修改数据帧的目的硬件地址为终端B; 5)将数据帧重新封装(添加以太网首部)并发送给AP |
IP首部 |
AP | 网络接入层 | 1)查看以太网首部的目的硬件地址,发现是终端B 2)将数据帧解封装(剥除以太网首部) 3)将数据帧重新封装(替换为WLAN首部)并发送给终端B |
以太网首部 |
终端B收到数据
网络全局视角的数据传输
全局视角的数据传输过程
终端B
- 自上而下封装数据以形成数据帧将数据帧发送给交换机A
- 将数据帧发送给交换机A
交换机A
- 查看以太首部的目的硬件地址,发现是路由器A
- 将数据帧发送给路由器A
路由器A
- 查看以太首部的目的硬件地址,发现是自己
- 将数据帧解封装(剥除以太网首部)以查看IP首部的目的逻辑地址,发现是终端C
- 根据该逻辑地址查询路由表,发现下一跳是路由器B;
- 修改数据帧的目的硬件地址为路由器B;
- 将数据帧重新封装(添加PPP首部)并发送给路由器B。
路由器B
- 查看PPP首部的目的硬件地址,发现是自己;
- 将数据帧解封装(剥除PPP首部)以查看IP首部的目的逻辑地址,发现是终端C
- 根据该逻辑地址查询路由表,发现下一跳即为终端C;
- 修改数据帧的目的硬件地址为终端C;
- 将数据帧重新封装(添加以太网首部)并发送给交换机B、
交换机B
- 查看以太首部的目的硬件地址,发现是终端C
- 将数据帧发送给终端C
终端C
- 自下而上将数据帧解封装
- 得到原始数据
TCP/IP模型视角
- 重点1:封装、解封装的意义和特点
- 重点2:从终端设备观察数据传输(局部)
- 重点3:从网络设备观察数据传输(局部)
- 重点4:从网络拓扑观察数据传输(全局)
传输层概述
传输层概述
两个主机进行通信实际上就是两个主机中的应用进程互相通信。IP地址是标识在因特网中的一个主机,而不是标识主机中的应用进程。传输层的一个重要功能就是复用和分用。
传输层提供应用进程间的逻辑通信,“逻辑通信”的意思是当应用进程的报文到达传。输层后,从效果上看,就好像是直接沿水平方向传送到远地的传输层
传输层在OSI参考模型中的地位
传输层通信示意图
传输层与网络层
- 网络层:提供数据转发路径
- 传输层:提供端到端的连接、不关心数据是如何传输的
传输层为应用进程之间提供逻辑通信,而网络层是为主机之间提供逻辑通信
传输层要对收到的报文进行差错检测。网络层只检测IP数据报的首部中的字段而不检查数据部分。
应用进程对于数据传输通常有着各种不尽相同的要求
由网络层(IP协议)所提供的数据传输是不可靠的,传输层旨在通过一系列协议和机制来改善该不足之处
仅使用一种协议很难在高效、可靠性之间达到权衡
为满足不同应用进程的要求,可以按照传输需求分为两类
一类强调可靠性,允许少量延迟
一类强调高效性,允许部分丢包
传输层的TCP和UDP分别针对这两类应用进程提供服务
TCP的特点是面向连接的、可靠的、有序的
UDP的特点是面向无连接的、不可靠的、无序的
传输控制协议TCP(Transmission Control Protocol)。是一个基于连接的通信协议,提供可靠的数据传输,TCP提供传输保证,引入了确认、超时重发、流量控制和拥塞控制等机制,使数据正确的、无差错地到达目的地。
用户数据报协议UDP(User Datagram Protocol)。提供端到端的数据报的无连接服务,UDP几乎不进行检查,不确认保证报文到达,不很可靠,但效率较高
传输层功能
①连接管理:连接的创建、维护与撤销
②流量控制:网络拥塞控制
③差错检测与恢复
④提供用户要求的服务质量
⑤提供端到端的可靠通信
⑥分段与重装: 分组大小不同时
TCP概述
当传输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的,但这种逻辑通信信道就相当于一条全双工的可靠信道。
端口号的作用
端口寻址(即通过端口识别应用/会话)
端口号的分类
TCP协议常见端口号
端口在进程之间的通信中所起的作用
UDP和TCP都使用与应用层接口处的端口(port)与上层的应用进程进行通信。
端口号只具有本地意义,各端口独立地分配自己的端口号。
为了在通信时不致发生混乱,必须把端口号和主机的IP地址结合在一起使用
UDP概述
UDP协议提供传输层最基本的功能,也就是负责连接端口的处理工作。
用户数据报(UDP)协议提供一种基本的、低时延的数据报传输,适用于一次传输少量突发报文的应用,UDP报头记录封包源端与目的端的连接端口信息,让封包能够正确地送达目的端的应用程序。
当传输层采用UDP协议时,这种逻辑通信信道则是一条不可靠信道
传输层提供的可靠的交付是指将数据可靠地交付给接收端的应用层
UDP协议的常见端口号
小结
根据应用层协议的数据传输需求
- TCP多用于对数据可靠性有较高要求的应用层协议,例如网页、电子邮件、文件传输等
- UDP多用于对延迟容忍度低的应用层协议,比如语音和视频
- 局部应用协议在实现时既会使用TCP,又会使用UDP。例如DNS,在实现数据的区域传送时将TCP作为传输层协议,而在实现域名解析时则将UDP作为传输层协
传输层协议
传输层
当两台计算机进行通信时,首先要在下列方向取得一致:
- 计算机一次发送多少信息;
- 接收到数据后如何验证完整性;
- 如何确定数据包是否在传输过程中丢失了
传输层提供了端对端数据传输服务,并且在两台计算机之间建立了逻辑连接
传输层主要包含两种协议:TCP与UDP
端口号
端口是传输层,TCP和UDP通过端口号识别服务
- 端口号在0~1024之间的端口为通用端口,遵循相同的标准化方法
- 端口号在1024~49151之间的端口为注册端口,用于特定用途
- 端口号在49152~65535之间的 端口为动态端口,供有任何需求的应用程序使用。
TCP协议
传输控制协议(TCP)介绍
面向连接的,可靠的传输层协议传
输数据之前,要先建立连接
有可靠的传输机制
TCP包格式
可靠传输的实现
滑动窗口
超时重传
上面滑动窗口的过程中的最后,介绍了发送方如果收不到确认的情况,会停止等待,并且超时重传。
流量控制
数据的传送与接收过程当中很可能出现收方来不及接收的情况,这时就需要对发方进行控制以免数据丢失。上面介绍了滑动窗口,如果窗口越大,发送速度也就越大,TCP可以使用控制滑动窗口的大小来进行控制速度,从而控制流量。
三次握手
这里用的是小林coding的图解网络https://xiaolincoding.com/
服务端收到客户端的 SYN 报文后,首先服务端也随机初始化自己的序号(server_isn ),将此序号填TCP 首部的「序号」字段中,其次把,TCP 首部的「确认应答号」字段填入 client isn+1.接着把 SYN和 ACK 标志位置为 1。最后把该报文发给客户端,该报文也不包含应用层数据,之后服务端处于 SYN-RCVD 状态。
客户端收到服务端报文后,还要向服务端回应最后一个应答报文,首先该应答报文 TCP 首部 ACK 标志位置为 1,其次「确认应答号」字段填入server_isn+1 ,最后把报文发送给服务端,这次报文可以携带客户到服务器的数据,之后客户端处于 ESTABLISHED 状态服务器收到客户端的应答报文后,也进入 ESTABLISHED 状态。
从上面的过程可以发现第三次握手是可以携带数据的,前两次握手是不可以携带数据的,这也是面试常问的题。一旦完成三次握手,双方都处于ESTABLISHED 状态,此时连接就已建立完成,客户端和服务端就可以相互发送数据了。
四次挥手
客户端打算关闭连接,此时会发送一个TCP 首部 FIN 标志位被置为1的报文,也即 FIN 报文,之后客户端进入 FIN_WAIT_1 状态。
服务端收到该报文后,就向客户端发送 ACK 应答报文,接着服务端进入 CLOSED_WAIT 状态。
客户端收到服务端的 ACK 应答报文后,之后进入 FIN WAIT 2 状态。
等待服务端处理完数据后,也向客户端发送 FIN 报文,之后服务端进入LAST ACK 状态。
客户端收到服务端的 FIN 报文后,回一个 ACK 应答报文,之后进入 TIME WAIT 状态
服务器收到了ACK应答报文后,就进入了 CLOSED 状态,至此服务端已经完成连接的关闭
客户端在经过 2MSL一段时间后,自动进入CLOSED 状态,至此客户端也完成连接的关闭。
UDP协议
用户数据包协议(UDP)UDP(User Datagram Protocol):是一个简单的面向数据报的传输层协议
如果过多的建立TCP连接,会造成很大的网络负担,而UDP协议可以相对快速地处理这些简单通信
UDP的不可靠性:把应用程序传给IP层的数据发送出去,但并不保证它们能到达目的地
UDP的首部
UDP协议的常见端口号
远程访问协议
Telnet协议
远程登录Telnet是一个简单的远程终端协议。用户使用Telnet就可在其所在地通过TCP连接注册(即登录)到远地的另一个主机上。
- 能将用户的操作命令传到远地主机,也能将远地主机输出通过TCP连接返回到用户屏幕。
- Telnet的默认端口号为23
Telnet的工作原理
- 使用客户服务器方式。本地系统运行客户进程,远地主机则运行服务器进程。服务器的主进程等待新的请求,从属进程处理每一个连接。
- 定义了网络虚拟终端NVT(Network Virtual Terminal)。
角色定义
- 客户端:管理设备
- 服务器:被管理设备
Telnet协议缺点
- 不提供服务器认证,客户端无法识别服务器的身份
- 用户认证机制简单,仅支持密码认证;
- 用户认证信息以明文形式传输,容易被窃听
- 用户数据以明文形式传输,无机密性可言
网络虚拟终端NVT格式
Telnet的过程
- 建立与服务器23端口的TCP连接
- 从键盘上输入字符
- 把字符串变成NVT格式送给远程服务器
- 从远程服务器接收输出的信息,把该信息显示在您的屏幕上。
Telnet的使用
- 首先建立与Internet的SLIP/PPP连接,启动Telnet
- 选择Connect菜单,在HostName后输入远程计算机IP地址或域名,按connect键
- 远程计算机提示您输入用户名及密码
SSH协议
Secure Shell的缩写,由IETF的网络小组(Network WorkingSSH为Group)所制定。
SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台一包括HP-UX、Linux、AIX、Solaris、Digital UNIX、lrix,以及其他平台,都可运行SSH。
- 通信模型:C/S
- 传输层协议:TCP
- 端口号:22
- 数据形式:密文
SSH工作原理
服务器组件会侦听指定的端口,并负责协商安全的连接、认证连接方,并且会衍生(spawn)一个正确的环境给已经认证的客户端。
客户端负责发起与服务器的 TCP 握手、协商安全连接、验证服务器的身份与之前记录的信息匹配,并且提供认证的凭证。
SSH 会话在两个独立的阶段建立,第一个阶段是协商建立加密以保护未来通讯的过程,第二个阶段就是认证阶段
- 协商会话加密阶段。协调加密方式,交换计算会话密钥(Diffie-Hellman 算法)
- 认证阶段。一种是密码认证;一种是密钥对认证。
SSH协议的特点
- 提供服务器认证,客户端可以识别服务器的身份
- 用户认证机制既支持密码认证,也支持公钥认证
- 用户认证信息以密文形式传输,或者不传输
- 用户数据以密文形式传输
电子邮件协议
电子邮件概述
电子邮件(e-mail)也称电子信箱,是因特网上使用得最多和最受用户欢迎的一种应用。
电子邮件将邮件发送到ISP的邮件服务器,并放在其中的收信人邮箱(mailbox)中收信人可随时上网到ISP的邮件服务器进行读取。
e-mail不仅可传送文字信息,而且还可附上声音和图像。
电子邮件系统发送过程示意
ARPANET上电子邮件标准是简单邮件传送协议SMTP(Simple Mail TransferProtocol),它已成为因特网的事实上的标准。
- 1993年又制定通用因特网邮件扩充MIME(MultipurposeInternet MailExtensions)。在邮件首部中说明了邮件数据类型。MIME邮件可同时传送多种类型的数据,在多媒体通信环境下非常有用。
- 电子邮件系统由用户代理、邮件服务器,以及电子邮件使用的协议 3个主要组成部件。
电子邮件组成部分
电子邮件的主要构件
MTA(Message Transport Agent)是邮件传输代理。常用的SMTP服务器(在Outlook或者Netscape Messenger中也经常称为发送服务器或者outgoing服务器)就是MTA。
MUA(Message User Agent)是邮件用户代理,是用户与电子邮件系统的接口。用户代理使用户能够通过一个友好的接口发送和接收电子邮件。
常用Outlook,Netscape Messenger,Foxmail及网易邮件或163邮件的Web界面,都是MUA。
撰写:给用户提供方便的编辑信件的环境。
显示:能够方便地在计算机屏幕上将信显示,
处理:包括发送和接收邮件。
邮件服务器是核心构件,它的功能是发送和接收邮件,并向发信人报告邮件传送的情况。
邮件服务器按照客户服务器方式工作,它需要两个协议;SMTP协议发送邮件端口号为25;POP3协议接收邮件,端口号为109。
- 协议-SMTP(Simple Mail Transfer Protocol),简单邮件传输协议是在Internet上发送邮件的协议。邮件从撰写完毕到发送到达收件人信箱的所有网络传输都是依照SMTP的规范来进行的。
- POP3(Post Office Protocol,邮局协议)和IMAP(Internet MessageAccess Protocol,Internet邮件存取协议),邮件在成功发送后通常保存在收件人的信箱里。收件人可以通过POP3和IMAP协议来浏览信件。
电子邮件的发送和接收过程
- 发信人调用用户代理编辑发送邮件。用户代理用SMTP将邮件传送给发送端邮件服务器。
- 发送端邮件服务器将邮件放入邮件缓存队列中等待发送
- 运行在发送端邮件服务器的SMTP客户进程,向接收端邮件服务器发起TCP的连接
- TCP建立后,SMTP客户开始向远程SMTP服务器进程发送邮件。发送完毕关闭TCP连接。
- 接收端邮件服务器收到后放入收信人邮箱
- 收信人在打算收信时,调用用户代理,使用POP3协议将自己的邮件从接收端邮件服务器的用户邮箱中取回。
电子邮件的组成
因特网上每个人的电子邮件地址都是唯一的。
发送电子邮件时,邮件服务器只使用电子邮件地址中的后一部分,即目的主机的域名。
只有在邮件到达目的主机后,目的主机的邮件服务器才根据电子邮件地址中的前一部分将邮件放在收件人的邮箱中。
由信封(envelope)和内容(content)组成。
TCP/IP体系的电子邮件系统规定电子邮件地址(e-mailaddress)格式如下
- 收信人邮箱名@邮箱所在主机的域名
用户不需要填写电子邮件信封上的信息。
电子邮件的格式
电子邮件的格式-邮件内容首部包括关键字
- To:后面填入一个或多个收信人电子邮件地址。
- Subject:是邮件主题,反映邮件的主要内容
- Cc:抄送,表示应给某人发送一个邮件副本。
- Bcc:盲复写副本,发信人将邮件副本发给某人。
- From和Date:发信人的电子邮件地址和日期,
- Reply-To:即对方回信所用的地址。
邮件传送协议(SMTP)
规定在两个相互通信的SMTP进程之间应如何交换信息。使用客户服务器方式工作。
SMTP通信有3个阶段:
- 连接建立
- 邮件传送
- 连接释放
连接建立
- 发信人先将要发送的邮件发送到邮件缓存。
- SMTP客户定时对邮件缓存扫描
- 使用SMTP的熟知端口号码(25)与目的主机的SMTP服务器建立TCP连接
- SMTP不使用中间的邮件服务器。
邮件传送
- 首先从MAIL命令开始,MAIL后面有发信人的地址;
- 其次一个或多个RCPT命令。RCPT是先弄清接收端是否已做好准备,然后才发送
- 最后是DATA命令,开始传送邮件的内容。
连接释放
- SMTP客户应发送QUIT命令。SMTP服务器返回信息“221(服务关闭)”,表示SMTP同意释放TCP连接。
- SMTP使用TCP连接并不能保证不丢失邮件。没有端到端的确认返回到发信人处。
使用SMTP手工发送邮件
https://cloud.tencent.com/developer/article/1013069
SMTP基本工作流程
- 建立TCP连接
- 客户端向服务器发送HELO命令以标识发件人自己的身份
- 服务器端以OK作为响应,表示准备接收
- 客户端发送RCPT命令
- 服务器端表示是否愿意为收件人接收邮件
- 协商结束,发送邮件,用命令DATA发送输入内容
- 结束此次发送,用QUIT命令退出
邮件读取协议
现常用的邮件读取协议有两个
- 邮局协议第三版本POP3(Post Office Protocol)
- 因特网报文存取协议IMAP(Internet Message Access Protocol)。
邮件读取协议POP3和IMAP
邮局协议POP,是一个脱机协议。
邮局协议POP是一个简单、功能有限的邮件读取协议。POP使用客户服务器工作方式。
POP服务器只有在用户输入鉴别信息后才允许对邮箱进行读取:
POP服务器是有存储转发功能的中间服务器。
因特网报文存取协议IMAP,是联机协议。
IMAP用户可以在不同的地方使用不同的计算机随时阅读和处理自己的邮件,还允许收信人只读取邮件中的某一个部分。
缺点是如果用户没有将邮件复制到自己的PC机上,则邮件一直存放在IMAP服务器上。
域名解析协议
域名解析概述
域名系统
一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。
- 域名结构由若干分量组成,各分量之间用点“”隔开:….三级域名.二级域名.顶级域名
- 每一级的域名都由英文字母和数字组成(不超过63个字符,并且不区分大小写字母
- 级别最低域名写在最左边,级别最高顶级域名写最右边。完整的域名不超过255个字符。
层次结构
域名结构
顶级域名TLD(Top Level Domain)有三类:
(1) 国家顶级域名TDL:由两个字母缩写来代表不同的国家,国家顶级域名有240多
(2)国际顶级域名iTDL:只有一个:int
(3)通用顶级域名gTDL:按域名所属单位的性质和类型进行划分。
域名服务器
域名服务器的种类
域名服务器系统是按照域名层次安排的。每个域名服务器只对域名体系中一部分进行管辖。
- 根域名服务器(root name server):主要用来管理互联网的主目录,共13台;
- 顶级域名服务器(Top Level Domain server ):负责管理在该顶级域名服务器下注册的二级域名
- 权限域名服务器(authoritative name server):负责一个区的域名解析工作
- 本地域名服务器(local name server):查询请求首先发给本地域名服务器
域名服务器管辖区
域名解析
域名解析过程和方式
主机名映射为IP地址的过程称为域名解析
从主机域名到IP地址的正向解析
从IP地址到主机域名的反向解析
解析任务由DNS服务器完成。
DNS服务器进行名字解析的方式有:递归方式、非递归(迭代)方式和递归和迭代相结合的方式
查询方式
递归查询:一般客户机和服务器之间属递归查询,即当客户机向DNS服务器发出请求后若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机。
迭代查询:本地域名服务器向根域名服务器查询,根域名服务器告诉它下一步到哪里去查询,然后它再去查,每次它都是以客户机的身份去各个服务器查询。
递归和迭代相结合的查询过程
数据格式
协议格式
Flags字段
- opcode
- RA、RD
- rcode
响应类型
20余种
协议格式
解析示例
例子:主机想知道另一个主机(域名为 www.bing.com)的IP地址。
1.先查询本地hosts文件与DNS缓存
2.请求DNS本地域名服务器,本地域名服务器执行递归查询
3.本地服务器执行迭代查询
DNS协议
Nslookup:nslookup domain [server]
如果没指定dns-server,用系统默认的dns服务器
nslookup:交互模式,直接输入nslookup
set all:列出nslookup工具的常用选项的当前设置值
FTP协议
FTP协议概述
- 文件传送协议FTP(File Transfer Protocol)是因特网上使用得非常广泛的文件传送协议
- FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件有存取权限。
- FTP屏蔽了各计算机系统的细节,适合于在异构网络中任意计算机之间传送文件。
- 文件共享协议
- 基于TCP的FTP和基于UDP的TFTP都是文件共享协议中的一大类,即复制整个文件其特点是,若要存取一个文件,就必须先获得本地的文件副本。
FTP工作原理
- 使用TCP可靠的传输服务:主要功能是减少或消除不同操作系统下处理文件的不兼容性。
- 客户/服务器:同时为多个客户进程提供服务
- 服务器进程由两部分组成:主进程,负责接受新的请求;若干个从属进程,负责处理单个请求。
工作步骤
(1)服务端打开默认端口(21),使客户进程能够连接上
(2)等待客户进程发出连接请求
(3)启动从属进程处理客户进程发来请求。从属进程对客户进程请求处理完毕终止但从属进程运行期间根据需要可创建其他子进程。
(4)回到等待状态,继续接受其他客户进程发来请求。主进程与从属进程是并发地进行的。
FTP的工作模式分为两种:
- 主动模式
- 被动模式
主动模式port
在主动模式下,FTP客户端首先与FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送Port命令。
Port命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过其TCP20端口连接到客户端的指定端口发送数据。FTP服务器必须与客户端建立一个新的连接用来传送数据。。主动FTP连接过程如下:
- 命令连接:客户端>1024端口一服务器21端口
- 数据连接:客户端>1024端口一服务器20端口FTP使用
被动模式pasv
在被动模式下,建立控制通道时与主动模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。
FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器上的这个端口,然后FTP服务器将通过这个端口传送数据。被动FTP连接过程如入
- 命令连接:客户端>1024端口→服务器21端口
- 数据连接:客户端>1024端口→服务器>1024端口
主动与被动FTP优缺点
主动FTP对FTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。
被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
FTP的使用
DOS和UNIX下上网使用FTP命令功能
FTP的命令行格式为 ftp -v -d -i -n -g [主机名)
-v
显示远程服务器的所有响应信息-d
启用调试功能-i
关闭提示功能-n
关闭自动登录功能-g
关闭通配符功能
FTP协议扩展
简单文件传送协议(TFTP)
简单文件传输协议TFTP(Trivial File Transfer Protocol)是很小且易于实现的文件传送协议。
TFTP的默认端口号为69
TFTP使用客户服务器方式,但使用UDP数据报,因此要有自己的差错改正措施。
只支持文件传输,不支持交互,没有庞大的命令集,没有列目录功能,不能对用户进行身份鉴别。
优点:可用于UDP环境;代码所占内存小。
隐患:TFTP是局域网传输文件的通用方式,是普通文件传输协议,不需要用户登录认证,因此有安全隐患。
TFTP与FTP的区别
首先,FTP使用TCP,TFTP使用UDP
其次,TFTP的功能比FTP少。TFTP不能使用通配符、创建和删除目录、删除文件等;不提供用户名与口令认证。
TFTP的简洁性,所以路由器经常使用TFTP传输访问列表及路由配置信息
DHCP协议
DHCP概述
- DHCP(Dynamic Host Configure Protocol)是动态主机配置协议。
使用客户服务器方式。 - 一台DHCP服务器可以由管理员集中指派和指定全局的和子网特有的TCP/IP参数(含IP地址、网关、DNS服务器等),供整个网络使用。
- DHCP服务器使用的端口号为67
- 客户机不需要手动配置TCP/IP;当客户机断开与服务器的连接后,旧的IP地址将被释放以便重新分配使用。
- DHCP提供了一种称为即插即用连网(plug-and-play networking)的机制。
- 当一台计算机启动时就广播一个DHCP请求报文,DHCP服务器收到请求报文后返回一个DHCP回答报文。DHCP服务器先在其数据库中查找该计算机的配置信息。
- 若找到,则返回找到的信息,
- 若找不到,则从服务器的按需分配地址库中取一个地址分配给该计算机。
DHCP报文格式
OP
若是 client 送给 server 的封包,设为1,反向为 2。
HTYPE
硬件类别,Ethernet为1。
HLEN
硬件地址长度,Ethernet 为6
HOPS
若封包需经过 router 传送每站加 1,若在同一网内,为0
TRANSACTION ID
DHCP REQUEST 时产生的数值,以作 DHCPREPLY 时的依据。
SECONDS
Client 端启动时间(秒)。
FLAGS
从0到15共16 bits ,最左- bit 为1时表示 server 将以广播方式传送封包给 client其余尚未使用。
Ciaddr
要是 client 端想继续使用之前取得之IP 地址,则列于这里。
Yiaddr
server送回client之从DHCP OFFERDHCPACK封包中,此栏填写分配给 client的IP 地址
Siaddr
若 client 需要通过网络开机,从server送出DHCPOFFER、DHCPACK、DHCPNACK封包中,此栏填写开机程序代码所在 server之地址。
Giaddr
若需跨网域进行 DHCP 发放,此栏为 relay agent 的地址,否则为 0。
DHCP基本原理
- DHCP协议采用UDP作为传输协议
- 主机发送请求消息到DHCP服务器的67号端口
- DHCP服务器回应应答消息给主机的68号端口
- DHCP服务的工作过程
- 发现阶段
- 提供阶段
- 选择阶段
- 确认阶段
- 重新登录
- 更新租约
发现阶段
DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCPdiscover发现信息来寻找DHCP服务器,目即 向 地 址255.255.255.255发送特定的广播信息。
网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应:
提供阶段
DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的!P地址和其他设置的DHCPoffer提供信息。
选择阶段
DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址。
确认阶段
DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的!P地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址。
重新登录
后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCPrequest请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCPnack否认信息。当原来的DHCP客户机收到此DHCPnack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
更新租约
DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息