计算机网络

2022-09-16 From 程序之心 By 丁仪

网络概述

计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。计算机网络的功能包括数据通信、资源共享、负载均衡、高可靠性。

计算机网络按分布范围和拓扑结构划分如下图所示:

计算机网络按连接方式划分如下:总线型(利用率低、干扰大、价格低)、星型(交换机形成的局域网、中央单元负荷大)、环型(流动方向固定、效率低扩充难)、树型(总线型的扩充、分级结构)、分布式(任意节点连接、管理难成本高)。

OSI 七层模型

功能 单位 协议 设备
1.物理层 在链路上透明地传输位。需要完成的工作包括线路配置、确定数据 传输模式、确定信号形式、对信号进行编码、连接传输介质。为此 定义了建立、维护和拆除物理链路所具备的机械特性、电气特性、 功能特性以及规程特性。 比特 EIA/TIA RS-232、RS-449、 V.35、RJ-45、FDDI 中继器、集线器
2.数据链 路层 把不可靠的信道变为可靠的信道。为此将比特组成帧,在链路上提 供点到点的帧传输,并进行差错控制、流量控制等。 SDLC、HDLC、LAPB、PPP、 STP、帧中继等、IEEE802、ATM 交换器、 网桥
3.网络层 在源节点-目的节点之间进行路由选择、拥塞控制、顺序控制、传送包, 保证报文的正确性。网络层控制着通信子网的运行,因而它又称为通信子网层。 IP分组 IP、ICMP、IGMP、ARP、RARP 路由器
4.传输层 提供端-端间可靠的、透明的数据传输,保证报文顺序的正 确性、数据的完整性。 报文段 TCP、UDP 网关
5.会话层 建立通信进程的逻辑名字与物理名字之间的联系,提供进程 之间建立、管理和终止会话的方法,处理同步与恢复问题。 RPC、SQL、NFS 网关
6.表示层 实现数据转换(包括格式转换、压缩、加密等),提供标准 的应用接口、公用的通信服务、公共数据表示方法。 JPEG、ASCII、GIF、MPEG、DES 网关
7.应用层 对用户不透明的提供各种服务,如E-mail。 数据 Telnet、FTP、HTTP、SMTP、 POP3、DNS、DHCP等 网关

以太网规范 IEEE 802.3 是重要的局域网协议,包括:

  • IEEE 802.3    标准以太网    10Mb/s    传输介质为细同轴电缆
  • IEEE 802.3u   快速以太网    100Mb/s   双绞线
  • IEEE 802.3z   千兆以太网    1000Mb/s  光纤或双绞线
  • IEEE 802.3ae  万兆以太网    10Gb/s    光纤

无线局域网 WLAN 技术标准:IEEE 802.11

广域网协议包括:PPP 点对点协议、ISDN 综合业务数字网、xDSL(DSL数字用户线路的统称:HDSL、SDSL、MVL、ADSL)、DDN数字专线、×.25、FR 帧中继、ATM 异步传输模式。

TCP/IP 协议

网络协议三要素:语法、语义、时序。其中语法部分规定传输数据的格式,语义部分规定所要完成的功能,时序部分规定执行各种操作的条件、顺序关系等。TCP 属于传输层协议,IP 属于网络层协议。

网络层协议

IP 协议是网络层最重要的核心协议,在源地址和目的地址之间传送数据报,无连接、不可靠。

ICMP 协议是因特网控制报文协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。

ARP和RARP是地址解析协议,ARP是将IP地址转换为物理地址,RARP是将物理地址转换为IP地址。

IGMP是网络组管理协议,允许因特网中的计算机参加多播,是计算机用做向相邻多目路由器报告多目组成员的协议,支持组播。

传输层协议

TCP:整个TCP/IP协议族中最重要的协议之一,在IP协议提供的不可靠数据基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。一般用于传输数据量比较少,且对可靠性要求高的场合。

UDP:是一种不可靠、无连接的协议,有助于提高传输速率,一般用于传输数据量大,对可靠性要求不高,但要求速度快的场合。

应用层协议

基于TCP的FTP、HTTP等都是可靠传输。基于UDP的DHCP、DNS等都是不可靠传输。

FTP:可靠的文件传输协议,用于因特网上的控制文件的双向传输。

HTTP:超文本传输协议,用于从WWW服务器传输超文本到本地浏览器的传输协议。使用SSL加密后的安全网页协议为HTTPS。

SMTP和POP3:简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,邮件报文采用ASCII格式表示。

Telnet:远程连接协议,是因特网远程登录服务的标准协议和主要方式。

TFTP:不可靠的、开销不大的小文件传输协议。

SNMP:简单网络管理协议,由一组网络管理的标准协议,包含一个应用层协议、数据库模型和一组资源对象。该协议能够支持网络管理系统,用于监测连接到网络上的设备是否有任何引起管理者关注的情况。

DHCP:动态主机配置协议,基于UDP,基于C/S模型,为主机动态分配IP地址,有三种方式:固定分配、动态分配、自动分配。

DNS:域名解析协议,通过域名解析出IP地址。

协议端口号对照表

端口   服务                 端口   服务

20    文件传输协议(数据)    80    超文本传输协议(HTTP)

21    文件传输协议(控制)    110   POP3服务器(邮箱接收服务器)

23    Telnet 终端仿真协议    69    简单文件传输协议(TFTP)

67    DHCP(服务端)        68    DHCP(客户端)

25    SMTP简单邮件发送协议   161   SNMP(轮询)

53    域名服务器(DNS)      162   SNMP(陷阱)

传输介质

双绞线:将多根铜线按规则缠绕在一起,能够减少干扰;分为无屏蔽双绞线UTP和屏蔽双绞线STP,都是由一对铜线簇组成。也即我们常说的网线;双绞线的传输距离在100m以内。

无屏蔽双绞线UTP:价格低,安装简单,但可靠性相对较低,分为CAT3(3类UTP,速率为10Mbps)、CAT4(4类UTP,与3类差不多,无应用)、CAT5(5类UTP,速率为100Mbps,用于快速以太网)、CAT5E(超5类UTP,速率为1000Mbps)、CAT6(6类UTP,用来替代CAT5E,速率也是1000Mbps)。

屏蔽双绞线STP:比之UTP增加了一层屏蔽层,可以有效的提高可靠性,但对应的价格高,安装麻烦,一般用于对传输可靠性要求很高的场合。

网线有如下两种安装标准:都是八根不同颜色的网线,按照不同的顺序排序,插入水晶头中,区分在第1236四根网线的位置不同。

网线又分为直通线和交叉线,直通线就是网线两头采用同一种标准,交叉线就是网线两头采用不同的标准,交叉线和直通线的使用范围如下:

同轴电缆

同轴电缆分为粗、细同轴电缆,传输距离长,信号稳定,常用于电视、监视系统、视频信号等。传输距离有几百米,随着数字网络的发展,已经逐步淘汰。

光纤

光纤由纤芯和包层组成,传输的光信号在纤芯中传输,然而从PC端出来的信号都是电信号,要经过光纤传输的话,就必须将电信号转换为光信号。

多模光纤MMF:纤芯半径较大,因此可以同时传输多种不同的信号,光信号在光纤中以全反射的形式传输,采用发光二极管LED为光源,成本低,但是传输的效率和可靠性都较低,适合于短距离传输,其传输距离与传输速率相关,速率为100Mbps时为2KM,速率为1000Mbps时为550m。

单模光纤SMF:纤芯半径很小,一般只能传输一种信号,采用激光二极管LD作为光源,并且只支持激光信号的传播,同样是以全反射形式传播,只不过反射角很大,看起来像一条直线,成本高,但是传输距离远,可靠性高。传输距离可达5KM。

无线信道

无线信道分为无线电波和红外光波。无线电波包括长波、中波、短波、超短波、微波(地面微波、卫星微波);红外光波包括近红外线、中红外线、远红外线。

通信方式和交换方式

通信方向

数据通信是指发送方发送数据到接收方,这个传输过程可以分类如下:

单工:只能由设备A发给设备B,即数据流只能单向流动。

半双工:设备A和设备B可以互相通信,但是同一时刻数据流只能单向流动。

全双工:设备A和设备B在任意时刻都能互相通信。

同步方式

异步传输:发送方每发送一个字符,需要约定一个起始位和停止位插入到字符的起始和结尾处,这样当接收方接收到该字符时能够识别,但是这样会造成资源浪费,传输效率降低。

同步传输:以数据块为单位进行传输,当发送方要发送数据时,先发送一个同步帧,接收方收到后做好接收准备,开始接收数据块,结束后又会有结束帧确认,这样一次传输一个数据块,效率高。

串行传输:只有一根数据线,数据只能1bit挨个排队传送,适合低速设备、远距离的传送,一般用于广域网中。

并行传输:有多根数据线,可以同时传输多个bit数据,适合高速设备的传送,常用于计算机内部各硬件模块之间。

交换方式

电路交换:通信一方进行呼叫,另一方接收后,在二者之间会建立一个专用电路,特点为面向连接、实时性高、链路利用率低,一般用于语音视频通信。

报文交换:以报文为单位,存储转发模式,接收到数据后先存储,进行差错校验,没有错误则转发,有错误则丢弃,因此会有延时,但可靠性高,是面向无连接的。

分组交换:以分组为单位,也是存储转发模式,因为分组的长度比报文小,所以时延小于报文交换,又可分为三种方式:

——数据报:是现在主流的交换方式,各个分组携带地址信息,自由的选择不同的路由路径传送到接收方,接收方接收到分组后再根据地址信息重新组装成原数据,是面向无连接的,但是不可靠的。

——虚电路:发送方发送一个分组,接收方收到后二者之间就建立了一个虚拟的通信线路,二者之间的分组数据交互都通过这条线路传送,在空闲的时候这条线路也可以传输其他数据,是面向连接的,可靠的。

——信元交换:异步传输模式ATM采用的交换方式,本质是按照虚电路方式进行转发,只不过信元是固定长度的分组,共53B,其中5B为头部,48B为数据域,也是面向连接的,可靠的。

IP地址

IP地址格式

机器中存放的IP地址是32位的二进制代码,每隔8位插入一个空格,可提高可读性,为了便于理解和设置,一般会采用点分十进制方法来表示:将32位二进制代码每8位二进制转换成十进制,就变成了4个十进制数,而后在每个十进制数间隔中插入.,如128.11.3.31。

因为每个十进制数都是由8个二进制数转换而来,因此每个十进制数的取值范围为0-255。

分类IP地址

IP地址分四段,每段八位,共32位二进制数组成。在逻辑上,这32位IP地址分为网络号和主机号,依据网络号位数的不同,可以将IP地址分为以下几类:

A类 0.0.0.0~127.255.255.255

B类 128.0.0.0~191.255.255.255

C类 192.0.0.0~223.255.255.255

D类组播 224.0.0.0~239.255.255.255

E类保留 240.0.0.0~255.255.255.255

无分类编址:即不按照ABC类规则,自动规定网络号,无分类编址格式为:IP地址/网络号,如 128.168.0.11/20表示的IP地址为128.168.0.11,其网络号占20位,因此主机号占 32-20 = 12 位,也可以划分子网。

特殊IP地址

公有地址:通过它直接访问因特网。是全网唯一的IP地址。

私有地址:属于非注册地址,专门为组织机构内部使用,不能直接访问因特网,下表所示为私有地址范围:

类别 IP地址范围                                网络号                   网络数

A   10.0.0.0~10.255.255.255          10                            1

B   172.16.0.0~172.31.255,255       172.16~172.31        16

C   192.168.0.0~192.168.255.255 192.168.0~192.168.255 256

子网划分

子网划分:一般公司在申请网络时,会直接获得一个范围很大的网络,如一个B类地址,因为主机数之间相差的太大了,不利于分配,我们一般采用子网划分的方法来划分网络,即自定义网络号位数,就能自定义主机号位数,就能根据主机个数来划分出最适合的方案,不会造成资源的浪费。

因此就有子网的概念,一般的IP地址按标准划分为ABC类后,可以进行再一步的划分,将主机号拿出几位作为子网号,就可以划分出多个子网,此时IP地址组成为:网络号+子网号+主机号。

要判断两个IP地址是否在同一网段,只需要确定其网络号+子网号是否相同,可以将子网掩码和源IP地址进行与运算,得出网络地址,判断网络地址是否相同即可。网络号不同的主机属于不同的网段,不能直接通信,必须通过网络路由才能互相通信。

网络号和子网号都为1,主机号都为0,这样的地址为子网掩码。

要注意的是:子网号可以为全0和全1,主机号不能为全0或全1,因此,主机数需要-2,而子网数不用。还可以聚合网络为超网,就是划分子网的逆过程,将网络号取出几位作为主机号,此时,这个网络内的主机数量就变多了,成为一个更大的网络。

划分子网之后,就变成了三级IP地址,如果此时还需要进一步划分子网,还可以继续向主机号借位,将主机号拿出几位再作为子网号,这就是可变长度子网划分,根据需要灵活选择,但要注意的是都是向主机号借位。

无分类编址

上述的子网划分方式,本质是在分类编址的基础上,向主机位借位,还是保留了分类编址的结构,而无分类编址CIDR方式,则是完全忽略分类编址,可以按照需要自定义网络号和主机号位数(只需要保证整体IP地址长度为32bit即可)。

无分类编址格式为:IP地址/网络号,示例:128.168.0.11/20表示的IP地址为128.168.0.11,其网络号占20位,因此主机号占32-20=12位,无分类编址也可以划分子网,原理相同。要掌握的是,/后的数字是网络号,32减去此数字就是主机号。

CIDR路由汇聚

汇聚规则:选择网络地址相同的位进行汇聚,不同的位划分至主机位,从而实现将多个网段汇聚成一个新的超网网段。

可以将汇聚超网的过程理解成划分子网的逆过程,划分子网是不断向主机位借位,导致子网越来越多,每个子网的主机号越来越少;而汇聚超网是将不同网段的相同的网络号作为汇聚后的网络号,不同的网络号给主机号,相当于缩小了子网的数量,增加了网络内主机的数量。

最佳路由匹配原则

使用路由汇聚时,路由表中的每个项目由网络前缀和下一跳地址组成。因此查找路由表时可能会得到不止一个匹配结果。此时应当从匹配结果中选择具有最长网络前缀的路由。网络前缀越长,其地址块就越小,因而路由就越具体,最长前缀匹配又称为最长匹配或最佳匹配。

IPv6

主要是为了解决IPv4地址数不够用的情况而提出的设计方案,IPv6具有以下特性:

  • IPv6地址长度为128位,地址空间增大了2~96倍;
  • 灵活的IP报文头部格式,使用一系列固定格式的扩展头部取代了IPv4中可变长度的选项字段。IPv6中选项部分的出现方式也有所变化,使路由器可以简单撸过选项而不做任何处理,加快了报文处理速度;
  • IPv6简化了报文头部格式,加快报文转发,提高了吞吐量;
  • 提高安全性,身份认证和隐私权是1Pv6的关键特性;
  • 支持更多的服务类型;
  • 允许协议继续演变,增加新的功能,使之适应未来技术的发展。

IPv4和IPv6的过渡期间,主要采用三种基本技术:

  1. 双协议栈:主机同时运行IPv4和IPv6两套协议栈,同时支持两套协议,一般来说IPv4和IPv6地址之间存在某种转换关系,如lPv6的低32位可以直接转换为IPv4地址,实现互相通信。
  2. 隧道技术:这种机制用来在lPv4网络之上建立一条能够传输IPv6数据报的隧道,例如可以将IPv6数据报当做IPv4数据报的数据部分加以封装,只需要加一个IPv4的首部,就能在IPv4网络中传输IPv6报文。
  3. 翻译技术:利用一台专门的翻译设备(如转换网关),在纯IPv4和纯IPv6网络之间转换IP报头的地址,同时根据协议不同对分组做相应的语义翻译,从而使纯IPv4和纯IPv6站点之间能够透明通信。

网络规划与设计

层次化局域网模型

三层模型将网络划分为核心层、汇聚层和接入层,每一层都有着特定的作用。

  • 核心层提供不同区域之间的最佳路由和高速数据传送;
  • 汇聚层将网络业务连接到接入层,并且实施与安全、流量、负载和路由相关的策略;
  • 接入层为用户提供了在本地网段访问应用系统的能力,还要解决相邻用户之间的互访需要,接入层要负责一些用户信息(例如用户IP地址、MAC地址和访问日志等)的收集工作和用户管理功能(包括认证和计费等)。

建筑物综合布线系统PDS

  1. 工作区子系统:实现工作区终端设备到水平子系统的信息插座之间的互联。
  2. 水平布线子系统:实现信息插座和管理子系统之间的连接。
  3. 设备间子系统:实现中央主配线架与各种不同设备之间的连接。
  4. 垂直干线子系统:实现各楼层设备间子系统之间的互连。
  5. 管理子系统:连接各楼层水平布线子系统和垂直干缆线,负责连接控制其他子系统为连接其他子系统提供连接手段。
  6. 建筑群子系统:各个建筑物通信系统之间的互联。

网络管理命令

ipconfig命令:用来查看网络配置信息,如IP地址、子网掩码、网管IP、DNS、DHCP等。Linux下是ifconfig命令。

ping命令:利用ICMP报文来测试网络的连通性、是否丢包、名称解析等,如ping127.0.0.1检查TCP/IP协议,ping本机IP检查网卡工作,ping网关等。

arp 命令:用于显示和修改 ARP缓存中的表项。

netstat命令:用来显示网络活动状态,如TCP/UDP的IP、端口号、统计信息等。

tracert命令:利用ICMP报文,来探测到达目标的路径,参数通常为-d。

pathing 命令:把 ping和tracert结合起来,探测路径、延时、丢包率等。

nbtstat 命令:用来显示NetBIOs的名称缓存。

route命令:显示和修改本地IP路由器表,参数add添加、delete删除、change修改、print显示路由表(同netstat-r)。

netsh命令:命令行脚本程序,可修改计算机的网络配置。

net命令:管理网络服务。

nslookup命令:命令用于显示DNS查询信息,诊断和排除DNS故障。

网络存储技术

廉价磁盘冗余阵列

RAlD 即磁盘冗余阵列技术,将数据分散存储在不同磁盘中,可并行读取,可冗余存储,提高磁盘访问速度,保障数据安全性。

RAlD0 将数据分散的存储在不同磁盘中,磁盘利用率100%,访问速度最快,但是没有提供冗余和错误修复技术;

RAlD1 在成对的独立磁盘上产生互为备份的数据,增加存储可靠性,可以纠错,但磁盘利用率只有50%;

RAlD2 将数据条块化的分布于不同硬盘上,并使用海明码校验;

RAID3 使用奇偶校验,并用单块磁盘存储奇偶校验信息(可靠性低于RAID5);

RAlD5 在所有磁盘上交叉的存储数据及奇偶校验信息(所有校验信息存储总量为一个磁盘容量,但分布式存储在不同的磁盘上),读/写指针可同时操作;

RAID0+1(是两个RAID0,若一个磁盘损坏,则当前RAID0无法工作,即有一半的磁盘无法工作);

RAID1+0(是两个RAID1,不允许同一组中的两个磁盘同时损坏)与RAID1原理类似,磁盘利用率都只有50%,但安全性更高。

网络存储

1.直接附加存储(DAS):是指将存储设备通过SCSI接口直接连接到一台服务器上使用,其本身是硬件的堆叠,存储操作依赖于服务器,不带有任何存储操作系统。

存在问题:在传递距离、连接数量、传输速率等方面都受到限制。容量难以扩展升级;数据处理和传输能力降低;服务器异常会波及存储器。

2.网络附加存储(NAS):通过网络接口与网络直接相连,由用户通过网络访问,有独立的存储系统。如下图所示。NAS存储设备类似于一个专用的文件服务器,去掉了通用服务器大多数计算功能,而仅仅提供文件系统功能。以数据为中心,将存储设备与服务器分离,其存储设备在功能上完全独立于网络中的主服务器。客户机与存储设备之间的数据访问不再需要文件服务器的干预,同时它允许客户机与存储设备之间进行直接的数据访问,所以不仅响应速度快,而且数据传输速率也很高。

NAS的性能特点是进行小文件级的共享存取;支持即插即用;可以很经济的解决存储容量不足的问题,但难以获得满意的性能。

3.存储区域网(SAN):SAN是通过专用交换机将磁盘阵列与服务器连接起来的高速专用子网。它没有采用文件共享存取方式,而是采用块(block)级别存储。SAN是通过专用高速网将一个或多个网络存储设备和服务器连接起来的专用存储系统,其最大特点是将存储设备从传统的以太网中分离了出来,成为独立的存储区域网络SAN的系统结构。根据数据传输过程采用的协议,其技术划分为FCSAN(光纤通道)、IP SAN(IP网络)和IB SAN(无线带宽)技术。

其他内容

网络地址翻译NAT

公司内有很多电脑,在公司局域网内可以互联通信,但是要访问外部因特网时,只提供固定的少量IP地址能够访问因特网,将公司所有电脑这个大的地址集合映射到能够访问因特网的少量IP地址集合的过程就称为NAT。

很明显,使用了NAT后,一个公司只有少量固定IP地址可以上网,大大减少了IP地址的使用量。

默认网关

一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。

默认网关的IP地址必须与本机IP地址在同一个网段内,即同网络号。

虚拟局域网VLAN

是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样。

VLAN工作在0SI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。

与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点:网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。

虚拟专用网VPN

是在公用网络上建立专用网络的技术。其之所以称为虚拟网,主要是因为整个VPN网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay(帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。

PPP

安全认证介绍:PPP的NCP可以承载多种协议的三层数据包。PPP使用LCP控制多种链路的参数(建立、认证、压缩、回拨)。

PPP的认证类型:pap认证是通过二次握手建立认证(明文不加密),chap挑战握手认证协议,通过三次握手建立认证(密文采用MD5加密)。PPP的双向验证,采用的是chap的主验证风格。PPP的加固验证,采用的是两种(pap,chap)验证同时使用。

冲突域和广播域

路由器可以阻断广播域和冲突域,交换机只能阻断冲突域,因此一个路由器下可以划分多个广播域和多个冲突域;一个交换机下整体是一个广播域,但可以划分多个冲突域;而物理层设备集线器下整体作为一个冲突域和一个广播域。

本文来源:程序之心,转载请注明出处!

君子曰:学不可以已。
《分布式算法精髓》
互联网是一个分布式系统,无线通信、云计算或并行计算、多核系统、移动网络也是如此。蚁群、大脑甚至人类社会都可以被建模为分布式系统。本书强调这些分布式系统中共同涉及的主题和技术,特别是强调分布式系统设计中的一些基本问题,涵盖通信、协调、容错性、本地性、并行性、打破对称性、同步化、不确定性等。
发表感想

© 2016 - 2024 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号