计算机网络基础笔记
计算机网络已经成为当今信息时代的核心,已经成为信息社会的命脉和发展知识经济的重要基础。
计算机网络(computer network),通常也简称网络,计算机网络的精确定义并未统一,下面给出几个定义:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。——计算机网络(谢希仁 第7版)
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。——百度百科
计算机网络的最简单定义是:一些相互连接的、以资源共享为目的的、自治的计算机的集合。
自治:是指互连的计算机系统彼此独立,不存在主从或者控制与被控制的关系。
资源共享的含义是多方面的。可以是信息共享、软件共享,也可以是硬件共享。 由于网络的存在,这些资源好像就在用户身边一样,方便使用。
计算机网络的分类
按不同的分类标准可以将网络划分为不同的类型
1.按覆盖范围分:
局域网:采用高速有线或无线链路连接主机,覆盖范围10m-1km
城域网:覆盖一个城市范围的网络,覆盖范围5-50km。
广域网:异地城域网或局域网的互连,覆盖范围几十到几千千米。
2.按拓扑结构分类:
星形拓扑结构、总线型拓扑结构、网状拓扑结构、网状拓扑结构、树形拓扑结构、混合型拓扑结构
拓扑结构 |
定义 |
覆盖范围 |
图示 |
优点 |
缺点 |
星形拓扑结构 |
包括一个中央节点,网络中的主机通过点对点通信链路与中央节点连接。中央节点是集线器、交换机等设备 |
多见于局域网、个域网中 |
易于监控与管理,故障诊断与隔离容易 |
通信范围受限,故障诊断与隔离较困难,容易产生冲突 |
|
总线型拓扑结构 |
采用一条广播信道作为公共传输介质,称为总线,所有结点均与总线连接。结点间的通信均通过共享的总线进行 |
多见于早期的局域网 |
结构简单,所需电缆数量少,易于扩展 |
通信范围受限,故障诊断与隔离较困难,容易产生冲突 |
|
环形拓扑结构 |
利用通信链路将所有结点连接成一个闭合的环,环中的数据传递通常是单向传输,每个结点可以从环中接收数据,并向环中进一步转发数据 |
多见于早期的局域网、园区网和城域网中 |
所需电缆长度短,可以使用光纤,易于避免冲突 |
某结点的故障容易引起全网瘫痪,新结点的加入或撤出过程比较麻烦,存在等待时间问题。 |
|
网状拓扑结构 |
结点通过多条链路与不同的结点直接连接 |
多见于广域网、核心网络等 |
网络可靠性高、一条或多条链路故障时,网络依然可连通 |
网络结构复杂,造价成本高,选路协议复杂 |
|
树形拓扑结构 |
可以看做是总线型或星形拓扑网络的扩展 |
目前很多局域网 |
易于扩展、故障隔离容易 |
对根节点的可靠性要求高,一旦根节点故障,则可能导致网络大范围无法通信。 |
|
混合型拓扑结构 |
由两种以上简答拓扑结构网络混合连接而成的网络 |
绝大多数实际网络 |
易于扩展,可以构建不同规模网络,可根据需求优先网络结构 |
网络结构复杂,管理与维护复杂 |
3.按交换方式分类
计算机网络可以分为电路交换网络、报文交换网络和分组交换网络
电路交换是以电路连接为目的的交换方式,通信之前要在通信双方之间建立一条被双方独占的物理通道(由通信双方之间的交换设备和链路逐段连接而成)。
报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,报文整个地发送,一次一跳,在交换结点采用存储转发的传输方式,即将到达交换机的分组先送到存储器暂时存储和处理,等到相应的输出电路有空闲时再送出。
分组交换,基于报文交换,将报文划分为更小的数据单位:报文分组。分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。
电路交换、报文交换、分组交换_lyndon-CSDN博客
计算机网络是在计算机技术和通信技术高度发展的基础上,两者相互结合的产物。一方面,通信系统为计算机之间的数据传送提供最重要的支持;另一方面,计算机技术渗透到通信领域中,又极大地提高了通信网络的性能。
从系统的角度而言,计算机网络可分为资源子网和通信子网两部分。资源子网是指连接在网上的所有计算机系统的集合,其主要任务是完成信息的收集、存储和处理;通信子网由通信线路和网络连接设备(如网卡、集线器、网桥、路由器等)组成。
计算机网络的主要目的是实现资源共享。它随应用环境和实现条件不同,其用途也有一些不同,但其主要功能有资源共享、数据传输、负荷均衡和分布处理。一般计算机中的资源分为软件资源、硬件资源和数据资源。计算机网络资源共享分为硬件共享、数据共享、软件共享三类。
目前最大的、应用最广泛的计算机网络就是Internet(互联网或因特网)。它是当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,且其前身是美国的 ARPANET。它已经成为人们获取信息的重要渠道。
网络协议
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。
1.协议的定义:协议是网络通信实体之间在数据交换过程中需要遵循的规则或约定,是计算机网络有序运行的重要保证。
2.协议的三要素:语法、语义和时序
①语法:语法定义实体之间交换信息的格式与结构,或者定于实体之间传输信号的电平等。
②语义:定义实体之间交换的信息中需要发送哪些控制信息。
进行差错检测,这类协议通常会在协议信息中附加差错编码等控制信息。
定义彼此采用何种差错编码,以及采取何种差错处理机制。
③时序:也成为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。
为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了"开放系统互联参考模型",即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层(Physics Layer)、数据链路层(Data Link Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)、应用层(Application Layer)。其中第四层完成数据传送服务,上面三层面向用户。
除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示:
各层次与协议对应概况如下图:
ISO/OSI参考模型 TCP/IP协议模型 所对应PDU(协议数据单元)
应用层 ……………应用层 …………数据
表示层 ……………应用层 …………数据
会话层 ……………应用层 …………数据(报文)
传输层 ……………传输层 …………段(传输协议分组)
网络层…………… 互联网层……… 包(IT数据报)
数据链路层 ………网络接口层 ……帧
物理层 ……………网络接口层 ……比特流
特别提醒:TCP/IP协议不是一个单一的协议,而是个协议族,它由一系列协议组成。每种协议采用不同的格式和方式传送数据,它们都是Internet的基础一个协议套件,是相互补允、相互配合的多个协议的集合。
IP地址
①定义:我们把整个因特网看成为一个单一的、抽象的网络,IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是惟一的 32 bit 的标识符。
②编址方法:分类的 IP 地址(1981,最基本);子网的划分(1985,改进);构成超网(1993,无分类编址方法)
③表示:
32位IP地址分类:
特殊的IP地址:
回环地址
127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。
A、B、C类私有地址
私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。
A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255
B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255
C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255
子网掩码及网络划分
子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。
在计算子网掩码时,我们要注意IP地址中的保留地址,即" 0"地址和广播地址,它们是指主机地址或网络地址全为" 0"或" 1"时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
子网掩码的计算:
对于无须再划分成子网的IP地址来说,其子网掩码非常简单,即按照其定义即可写出:如某B类IP地址为 10.12.3.0,无须再分割子网,则该IP地址的子网掩码255.255.0.0。如果它是一个C类地址,则其子网掩码为 255.255.255.0,其它类推。但还需要将其高位主机位再作为划分出的子网网络号,剩下的是每个子网的主机号,这时该如何进行每个子网的掩码计算呢?
1)利用子网数来计算
在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。
(1) 将子网数目转化为二进制来表示;
如欲将B类IP地址168.195.0.0划分成27个子网:27=11011;
(2) 取得该二进制的位数,为N;
该二进制为五位数,N = 5
(3) 取得该IP地址的类子网掩码,将其主机地址部分的的前N位置1即得出该IP地址划分子网的子网掩码。
将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到 255.255.248.0
2)利用主机数来计算
如欲将B类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台:
(1) 将主机数目转化为二进制来表示;
700=1010111100
(2) 如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为N,这里肯定 N<8。如果大于254,则 N>8,这就是说主机地址将占据不止8位;
该二进制为十位数,N=10;
(3) 使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。
将该B类地址的子网掩码255.255.0.0的主机地址全部置1,得到255.255.255.255,然后再从后向前将后 10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。
3)还有一种,要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。
比如一个子网有10台主机,那么对于这个子网需要的IP地址是:
10+1+1+1=13
注意:加的第一个1是指这个网络连接时所需的网关地址,接着的两个1分别是指网络地址和广播地址。
因为13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为255.255.255.240。
如果一个子网有14台主机,不少人常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为14+1+1+1=17,17大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。
关于计算机协议更多知识可见 [Network] 计算机网络基础知识总结 - Poll的笔记 - 博客园
端口
一个IP地址标识一台计算机,每一台计算机又有很多网络通信程序在运行,提供网络服务或进行通信,这就需要不同的端口进行通信。如果把IP地址比作电话号码,那么端口就是分机号码,在进行网络通信时不仅要指定IP地址,还要指定端口号。TCP/IP系统中的端口号是一个16位的数字,它的范围是0~65535。将小于1024的端口号保留给预定义的服务,例如HTTP是80,FTP是21,Telnet是23,Email是25,等等。除非要和那些服务进行通信,否则不应该使用小于1024的端口。
HTTP
HTTP(Hypertext Transfer Protocol,超文本传输协议)属于应用层协议,其简捷、快速的方式适用于分布式超文本信息传输。HTTP是无连接协议,即在每一次请求时都建立连接,服务器在处理完客户端的请求后,会先应答客户端,然后断开连接,不会一直占用网络资源。
HTTP/1.1共定义了8种请求方法:OPTIONS、HEAD、GET、POST、PUT、DELETE、TRACE和CONNECT。GET和POST方法最常用。
1) GET方法:用于向指定的资源发出请求,被发送的信息“显式”地跟在URL后面。它一般只用于读取数据,例如静态图片等。GET方法有点像使用明信片给别人写信,将“信的内容”写在外面,接触到的人都可以看到,因此是不安全的。
2) POST方法:用于向指定的资源提交数据,请求服务器进行处理,例如提交表单或者上传文件等。数据被包含在请求体中。POST方法像是把“信的内容”装入信封中,接触到该信封的人都看不到信的内容,因此是相对安全的。
HTTPS
HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)是超文本传输协议和SSL的组合,用于提供加密通信及对网络服务器身份的鉴定。简单地说,HTTPS是加密的HTTP。HTTPS使用https://代替http://,HTTPS使用端口443,而HTTP使用端口80与TCP/IP通信。
现在有一种新的地址模式,叫作IPv6(因特网协议版本 6),IPv6使用128位数字表示一个地址。
附录
太厉害了,终于有人能把TCP/IP协议讲的明明白白了! - 51CTO.COM