1.基本计算机网络概念
网络基础概念
网络的概念和分类
计算机网络是一种将分布在不同地理位置的计算机系统通过通信线路和设备相互连接起来,以便进行信息交换、资源共享和协同工作的系统。计算机网络由计算机设备、通信设施、网络协议和软件等组成。
计算机网络的分类可以根据不同的标准进行划分,常见的分类方式包括:
- 按网络覆盖范围划分:
可以分为局域网(LAN)、广域网(WAN)和互联网(Internet)。
- 按网络拓扑结构划分:
网络拓扑结构是指网络中的各个节点相互连接的方式和结构。常见的网络拓扑结构有星型、环型、总线型和树型等。
- 按网络协议划分:
网络协议是计算机之间进行通信时必须遵循的一组规则和标准,它规定了计算机之间信息交换的格式、顺序和控制方法等内容。
可以分为TCP/IP网络、Novell IPX/SPX网络、Microsoft Windows NetBEUI网络等。
网络通信基础
网络通信基础是计算机网络的重要组成部分,它涉及到数据在不同设备之间的传输和交换。
数据通信是研究如何将信息从一处传递到另一处,包括数据传输、交换和通信协议等基本概念。
数据传输是指将数据从一个设备通过通信线路传输到另一个设备的过程,数据交换是指两个或多个设备之间通过交换数据实现信息传递的过程,通信协议是规定设备之间如何进行数据交换和传输的一系列规则和标准。
传输方式:数据传输方式可以分为串行传输和并行传输。串行传输是指将数据一位一位地顺序传输,并行传输是指将数据几位几位地同时传输。此外,根据数据的流向,传输方式还可以分为单工、半双工和全双工传输。
传输媒体:传输媒体是连接设备之间的物理介质,可以分为有线媒体(如双绞线、同轴电缆、光纤等)和无线媒体(如无线电、微波、红外等)。
数字信号的调制与解调:数字信号是指离散的信号,为了将其传输到远处,需要将其调制到连续的载波信号上。调制是将低频信号加载到高频信号上,解调则是从高频信号中还原出低频信号。
多路复用技术:多路复用技术是将多个信号合并到一个信号中进行传输的技术,这样可以用一个传输线路同时传输多个信号,提高了传输效率。多路复用技术包括频分多路复用(FDM)、时分多路复用(TDM)、波分多路复用(WDM)和码分多路复用(CDMA)等。
分组交换
分组交换
分组交换是以分组为单位进行传输和交换的,它是一种存储-转发交换方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出。
分组交换技术是在计算机技术发展到一定程度,人们除了打电话直接沟通,通过计算机和终端实现计算机与计算机之间的通信,在传输线路质量不高、网络技术手段还较单一的情况下,应运而生的一种交换技术。
分组交换也称包交换,它是将用户传送的数据划分成多个更小的等长部分,每个部分叫做一个数据段。在每个数据段的前面加上一些必要的控制信息组成的首部,就构成了一个分组。首部用以指明该分组发往何地址,然后由交换机根据每个分组的地址标志,将他们转发至目的地,这一过程称为分组交换。进行分组交换的通信网称为分组交换网。分组交换实质上是在“存储—转发”基础上发展起来的。它兼有电路交换和报文交换的优点。
在分组交换方式中,由于能够以分组方式进行数据的暂存交换,经交换机处理后,很容易地实现不同速率、不同规程的终端间通信。
分组交换网是继电路交换网和报文交换网之后一种新型交换网络,它主要用于数据通信
用分组格式传输和交换数据的协议是分组交换协议;涉及分组交换的协议有许多,有X.25、X.28、X.29和X.3 IP等; 采用TCP/IP协议的网络也是分组传送网络;
IP技术
IP技术就是 采用IP协议的分组交换技术; (什么是IP协议?见下方)
IP网络:就是采用IP技术的网络
IP技术 英文名称:IP technology
定义:有关无连接分组通信协议的技术。该协议大体相当于开放系统互连参考模型中的网络层协议;
IP协议三个定义:
(1)IP定义了在TCP/IP互联网上数据传送的基本单元和数据格式。
(2)IP软件完成路由选择功能,选择数据传送的路径。
(3)IP包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。
几种主要的分组(包)交换技术:X.25 帧中继 ATM IP
IP化:也就是采用IP协议 做为分组传送网中使用的交换协议
网络协议与数据封装
OSI/ISO七层网络模型与数据封装
OSI参考模型:OSI(Open Systems Interconnection)参考模型是ISO(International Organization for Standardization)制定的网络体系结构标准。
OSI模型把网络通信的工作分为7层,它们由低到高分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。
第一层到第三层属于OSI参考模型的低三层,负责创建网络通信连接的链路;第五层到第七层为OSI参考模型的高三层,具体负责端到端的数据通信;第四层负责高低层的连接。
每个层次都有特定的功能和相互关系,不同层次之间通过接口进行通信。
- 高层使用底层的服务
- 层与层之间相互独立
- 通过SAP进行数据交换
OSI参考模型中,对等层协议之间交换的信息单元统称为协议数据单元PDU。 而传输层及以下各层的PDU另外还有各自特定的名称:
- 传输层——数据段(Segment)
- 网络层——分组(数据包)(Packet)
- 数据链路层——数据帧(Frame)
- 物理层——比特(Bit)
在数据链路层中,按照功能分为两个子层:介质访问控制子层和逻辑电路控制子层,分别简写为MAC和LLC。其中MAC子层负责与低层的物理层交互,LLC子层负责与高层的网络层交互。
TCP/IP协议栈
TCP/IP(Transmission Control Protocol/Internet Protocol)协议栈是当前最广泛使用的网络体系结构之一,它也分为五个层次,分别是应用层、传输层、网络层、数据链路层和物理层。
TCP/IP协议栈的核心协议包括TCP和IP,TCP是一种可靠的传输协议,负责在应用层和传输层之间传递数据,而IP是一种不可靠的传输协议,负责在网络层和数据链路层之间传递数据。
总结
各层次的功能和相互关系:应用层是负责处理特定应用程序的层次,表示层是负责数据表示和转换的层次,会话层是负责建立和维护通信会话的层次,传输层是负责端到端数据传输的层次,网络层是负责数据包路由和转发的层次,数据链路层是负责数据链路管理和数据帧传输的层次,物理层是负责物理传输介质的层次。
数据收发模式
双工模式
全双工:允许数据同时在两个方向上传输,两根总线,一收一发
单工通信(模式):数据只能在一个方向上流动,广播电视
半双工:可以切换方向的单工通信,但不能同时或双向通信
半双工 数据发生冲突,如何解决:CSMA/CD技术
先发先听,边发边听,一旦阻塞,退避等待
在发数据前先听,听这条线上有没有数据,如果有就等待,等待一会再发,同时听的功能没有关闭,如果有人和自己同时发了数据,两人就同时发送阻塞信号,告诉别人不要再发,再根据算法确定A先停一会,B先发,发完之后,A听A再发
CSMA/CD技术
CSMA/CD即带冲突检测的载波监听多路访问技术或者称为载波监听多点介入/碰撞检测。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。
CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。主要应用于现场总线Ethernet中。 另一个改进是,对于每一个站点而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站点都检测到信道是空闲的,并且同时开始传送数 据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数 据。快速地终止被损坏的帧可以节省时间和带宽。
CSMA/CD控制方式的优点是:
原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD应用在 OSI 的第二层数据链路层
它的工作原理是: 发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
CSMA/CD采用IEEE 802.3标准。
它的主要目的是:提供寻址和媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信而不相互冲突。
有人将CSMA/CD的工作过程形象的比喻成很多人在一间黑屋子中举行讨论会,参加会议的人都是只能听到其他人的声音。每个人在说话前必须先倾听,只有等会场安静下来后,他才能够发言。人们将发言前监听以确定是否已有人在发言的动作称为"载波监听"; 将在会场安静的情况下每人都有平等机会讲话成为“多路访问”;如果有两人或两人以上同时说话,大家就无法听清其中任何一人的发言,这种情况称为发生“冲 突”。发言人在发言过程中要及时发现是否发生冲突,这个动作称为“冲突检测”。如果发言人发现冲突已经发生,这时他需要停止讲话,然后随机后退延迟,再次 重复上述过程,直至讲话成功。如果失败次数太多,他也许就放弃这次发言的想法。通常尝试16次后放弃。
控制规程的核心问题:解决在公共通道上以广播方式传送数据中可能出现的问题(主要是数据碰撞问题)
控制过程包含四个处理内容:监听、发送、检测、冲突处理
(1) 监听:
通过专门的检测机构,在站点准备发送前先侦听一下总线上是否有数据正在传送(线路是否忙)?
若“忙”则进入后述的“退避”处理程序,进而进一步反复进行侦听工作。
若“闲”,则一定算法原则(“X坚持”算法)决定如何发送。
(2) 发送:
当确定要发送后,通过发送机构,向总线发送数据。
(3) 检测:
数据发送后,也可能发生数据碰撞。因而,要对数据边发送,边检测,以判断是否冲突了。
(4)冲突处理:
当确认发生冲突后,进入冲突处理程序。有两种冲突情况:
① 侦听中发现线路忙
② 发送过程中发现数据碰撞
① 若在侦听中发现线路忙,则等待一个延时后再次侦听,若仍然忙,则继续延迟等待,一直到可以发送为止。每次延时的时间不一致,由退避算法确定延时值。
② 若发送过程中发现数据碰撞,先发送阻塞信息,强化冲突,再进行监听工作,以待下次重新发送(方法同①)CSMA/CD工作原理及性能分析(指标与影响因素)
CSMA/CD的主要影响因素:传播时延、工作站数。
①CSMA/CD对站点个数不是很敏感,对实际的输入负载比较敏感。
②CSMA/CD对传播时延比较敏感。
③CSMA/CD冲突不可避免。
④CSMA/CD的介质利用率随a的上升下降较快。
⑤CSMA/CD适合通信量不大,交互频繁的场合
⑥对于CSMA/CD帧越长,吞吐量越大,要求帧具有最小长度,当有许多短消息时,带宽浪费严重。
⑦CSMA/CD在轻负载时提供最短延迟,但对重负载敏感。
上述两种冲突情况都会涉及一个共同算法——退避算法。
①退避算法:当出现线路冲突时,如果冲突的各站点都采用同样的退避间隔时间,则很容易产生二次、三次的碰撞。因此,要求各个站点的退避间隔时间具有差异性。这要求通过退避算法来实现。
截断的二进制指数退避算法(退避算法之一):
当一个站点发现线路忙时,要等待一个延时时间M,然后再进行侦听工作。延时时间M以以下算法决定:
M = 0 ~ (2^k - 1)
之间的一个随机数乘以512比特时间(例如对于10Mbps以太网,为51.2微秒),k为冲突(碰撞)的次数,M的最大值为1023,即当k=10及以后M始终是0~1023之间的一个随机值与51.2的乘积,当k增加到16时,就发出错误信息。
② 特殊阻塞信息:是一组特殊数据信息。在发送数据后发现冲突时,立即发送特殊阻塞信息(连续几个字节的全1,一般为32-48位),以强化冲突信号,使线路上站点可以尽早探测得到冲突的信号,从而减少造成新冲突的可能性。
③ 冲突检测时间>=2α: α表示网络中最远两个站点的传输线路延迟时间。该式表示检测时间必须保证最远站点发出数据产生冲突后被对方感知的最短时间。在2α时间里没有感知冲突,则保证发出的数据没有产生冲突。(只要保证检测2α时间,没有必要整个发送过程都进行检测)
④ X-坚持的CSMA算法:当在侦听中发现线路空闲时,不一定马上发送数据,而采用X-坚持的CSMA算法决定如何进行数据发送:
算法特点
综上,介绍了CSMA/CD,CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,主要应用于现场总线Ethernet中。对于每一个站点而言,一旦它检测到有冲突,它就放弃它当前的传送任务。
网络地址
ip地址:192.168.1.142
子网掩码:255.255.255.0
网关:192.168.1.1 (上游路由器的ip地址)
dns服务器:也设置为192.168.1.1
备用dns服务器:8.8.8.8 谷歌免费提供的dns服务器
www.ip138.com //查看ip地址的地理位置
MAC地址
MAC地址组成
MAC地址用于表示网卡的全球唯一硬件地址,由IEEE进行管理和分配,使用的时候由硬件自己提供,不需要手动分配
MAC地址有48个bit组成,通常使用12位的十六进制数表示,如:00-e0-fc-00-00-06
每个地址由两部分组成,分别是供应商代码和序列号,前24位为厂商编号,后24为序列号由厂商自己分配。
MAC地址分类
单播地址:第一字节最低位为0,如 00-e0-fc-00-00-06
多播地址:第一字节最低位为1,如 01-e0-fc-00-00-06
广播地址:48位全1,如ff-ff-ff-ff-ff-ff
IP地址
构成
由网络ID与主机ID两部分构成;由32位二进制数组成,分为4段,每段8位,表现形似为点分十进制
IP地址的分类
A类 1.0.0.0---127.255.255.255 (1)10.X.X.X是私有地址(私有地址就是在互联网上不使用,而被用在局域网络中的地址) (2)127.X.X.X是保留地址,用做循环测试用的。
B类 128.0.0.0---191.255.255.255 172.16.0.0---172.31.255.255是私有地址。169.254.0.0当计算机无法获取IP地址时,计算机自身就会为自己分配一个处于该网段中的IP地址
C类 192.0.0.0---223.255.255.255 192.168.X.X是私有地址
D类 224.0.0.0---239.255.255.255 组播
E类 240.0.0.0---255.255.255.255 保留,用于科研
全“0”的IP地址0.0.0.0代表所有的主机,有些路由器用0.0.0.0地址指定默认路由。
全“1”的IP地址255.255.255.255,也是广播地址,但255.255.255.255代表所有主机,用于向网络的所有节点发送数据包。这样的广播不能被路由器转发。
子网掩码
通过标识IP地址的网络ID和主机ID,可以标识ip地址属于哪一网段。
用连续的“1”表示IP地址网络ID,用连续的“0”表示主机ID(类似IP地址的32 bits),如:11111111.11111111.11111111.00000000,
我们可以用点分十进制的形式进行简写:255.255.255.0。
再进一步简写可以在IP地址后面加上“/n”表示,n为子网掩码中“1”的位数,如:192.168.0.1/24。
A类地址掩码:255.0.0.0,用/8表示
B类地址掩码:255.255.0.0,用/16表示
C类地址掩码:255.255.255.0,用/24表示
可用IP数计算
一个网段的第一个IP地址为网络地址,最后一个IP地址为广播地址,剩余的IP地址为可用的主机地址
如B类网段172.16.0.0, 有16个主机位,因此有216个IP地址,去掉一个网络地址172.16.0.0,一个广播地址172.16.255.255不能用作标识主机,那么共有216-2个可用地址。
C类网段192.168.1.0,有8个主机位,共有28=256个IP地址,去掉一个网络地址192.168.1.0,一个广播地址192.168.1.255,共有254个可用主机地址。
每一个网段可用主机地址可以用这样一个公式表示:假定这个网段的主机部分位数为n,则可用的主机地址个数为2n-2个。
子网划分
子网划分是 借用子网掩码将IP地址里的主机位变为网络位,实现将一个大的IP网络划分成多个较小的子网络的过程。这有助于有效地管理IP地址和网络资源。
利用子网,网络地址的使用会更有效。对外仍为一个网络,对内部而言,则分为不同的子网。
缺省状态下,如果没有进行子网划分
子网划分设计的几种技术
- 固定长度子网划分(Fixed-Length Subnet Mask, FLSM):
在这种方法中,网络管理员将子网划分为固定数量的子网,每个子网都具有相同数量的主机。 这种划分方式在网络规划和管理中相对简单,但可能导致IP地址的浪费。
以下是一个FLSM的示例:
假设我们有一个IP地址段为 192.168.1.0/24 的地址空间,需要将其划分为4个子网,以支持四个不同部门的网络。
初始的IP地址段是 192.168.1.0/24,其中前缀长度为24位,主机位长度为8位(32位总共减去前缀位)。
要将IP地址段划分为4个子网。由于4可以用2的幂次方(21、22、23等)表示,所以你需要使用2位作为子网位,这将把主机位减少到6位。
利用2位子网位,你可以有4个不同的子网。
- 子网1:192.168.1.0/26(前26位是网络前缀,后6位是主机位)
- 子网2:192.168.1.64/26
- 子网3:192.168.1.128/26
- 子网4:192.168.1.192/26
每个子网都有64个可用IP地址(2^6),其中62个可以用作主机。这种划分方式可以支持四个不同部门的网络,每个部门有最多62台主机设备。
- 可变长度子网划分(VLSM):
在这种方法中,网络管理员可以根据每个子网所需的主机数量来分配不同大小的子网。这样可以更有效地利用IP地址空间,避免浪费,但相对复杂一些。
VLSM通常在复杂的网络环境中使用,允许更精细的地址规划。
假设我们有一个IP地址段为 192.168.1.0/24 的地址空间,需要将其划分为4个子网,以支持四个不同部门的网络。其中
子网A:需要容纳30个主机、子网B:需要容纳15个主机、子网C:需要容纳8个主机、子网D:需要容纳5个主机。
首先,需要确定每个子网所需的主机数量,并为每个子网分配足够的地址范围。
- 子网A:需要容纳30个主机,这要求你至少有32个可用IP地址(因为还需要包括网络地址和广播地址)。所以,你需要至少5位主机位(2^5 = 32)。剩下的3位可以用作子网位。
子网A的子网掩码为:192.168.1.0/27
- 子网B:需要容纳15个主机,这同样需要32个可用IP地址,因此也需要5位主机位。你可以在已有的地址空间中划分一个子网。
子网B的子网掩码为:192.168.1.32/27
- 子网C:需要容纳8个主机,同样需要32个可用IP地址,需要5位主机位。
子网C的子网掩码为:192.168.1.64/27
- 子网D:需要容纳5个主机,同样需要32个可用IP地址,需要5位主机位。
子网D的子网掩码为:192.168.1.96/27
这样一来,我们就根据不同的主机数量需求,将原始的/24网络划分成了四个子网,每个子网大小都根据需求进行了最优的调整。这样就能更有效地利用IP地址空间,避免了浪费。
- CIDR(无类别域间路由):
CIDR使用带有前缀长度的IP地址表示法,例如,192.168.1.0/24表示一个具有24位前缀的子网。这使得网络管理员能够更灵活地划分和分配IP地址。
无类别域间路由(CIDR)是一种更灵活的子网划分方式,它允许在任意位划分子网,而不仅仅是在八位的边界处,允许将不连续的IP地址块分配给网络。这种方式在互联网中广泛使用。
- 超网划分(Supernetting):
超网划分(Supernetting)是一种将多个较小的IP地址块合并成一个较大的地址块的方法,超网划分的关键在于找到可以合并的IP地址块,并且确保合并后的子网能够容纳所有原始子网中的IP地址。
这有助于减少路由器内存中的路由表项数量,从而提高网络的性能和可管理性。这种层次化的划分方法可以在大型网络中实现更高级的地址规划和资源管理。
假设有以下三个IP地址块需要被超网划分:
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
我们需要找到这些地址块中的公共前缀。
- 192.168.0.0/24:11000000.10101000.00000000.00000000
- 192.168.1.0/24:11000000.10101000.00000001.00000000
- 192.168.2.0/24:11000000.10101000.00000010.00000000
从上面的二进制表示中可以看出,这些子网的前22位是相同的(11000000.10101000.000000),因此你可以将它们合并成一个更大的网络前缀。
将这三个地址块合并为一个超网:192.168.0.0/22
通过这种超网划分,我们将三个/24子网合并为一个/22子网,节省了路由表中的条目数量,从而提高了路由器的效率。
子网通信
一个使用16位掩码的网络可以被划分为使用17位掩码的子网。这是因为增加掩码长度(即,从16位增加到17位)实际上是将原来的网络划分为更小的子网。
然而,需要注意的是,虽然这两个网络(16位掩码的网络和17位掩码的网络)在物理上可能是相连的,但在逻辑上它们是两个不同的网络。因此,它们之间的通信需要通过路由器或其他网络设备进行。
如果两个网络之间没有适当的路由设置,那么它们可能无法正常通信。例如,如果一个设备在16位掩码的网络中,而另一个设备在17位掩码的子网中,那么它们之间的通信可能需要通过网关或路由器进行。如果没有正确配置这些网络设备,那么通信可能会失败。
所以二层通信采用可变长子网掩码划分逻辑子网,三层采用超网划分的方式实现逻辑子网之间的通信:
二层通信关注的是数据链路层,使用MAC地址进行通信,而可变长子网掩码主要与IP地址规划和子网划分有关,处于网络层。
三层通信涉及网络层,使用IP地址和路由表来实现通信。超网划分是一种路由优化技术,用于在路由器中减少路由表项目数,但不直接影响通信本身。
如果你想要在三层通信中实现逻辑子网之间的通信,你需要配置适当的路由规则,以确保数据可以在不同的逻辑子网之间正确地转发。这可能涉及到超网划分和路由配置,以使逻辑子网能够互相访问。