2023年11月27日发(作者:)

TCPIP协议(⼀)⽹络基础知识⽹络七层协议

下⾯是协议层从底层⾄顶层的⼀个模型图:

⼀、计算机⽹络的背景

1.1 计算机的发展

有⼈说:“20世纪最伟⼤的发明就是计算机,⾃诞⽣伊始,计算机经历了⼀系列发展,从⼤型通⽤计算机、超级计算机、⼩型机、个⼈电

脑、⼯作站以及现如今笔记本、平板、智能⼿机等,

计算机已经彻底融⼊了我们的⽣活

1.2 计算机的发展模式

起初,计算机只是以单机模式(独⽴模式)被⼴泛应⽤,随着发展,计算机被⼀个个的连接起来,形成了⼀个计算机⽹路,从⽽实现了信息

共享,远距离传递信息等⼯作

计算机⽹络,根据规模可分为2种:

WANWide Area Network(⼴域⽹)

LANLocal Area Nerwork(局域⽹)

⼆、计算机与⽹络发展的七个阶段

1.1 批处理

Batch Processing:事先将⽤户程序和数据装⼊卡带或磁带,由计算机按⼀定顺序读取,使⽤户要执⾏的程序和数据能够⼀并批量得到处理

的⽅式

1.2 分时系统TSS

Time Sharing System:多个终端和同⼀个计算机相连,允许多个⽤户同时使⽤⼀台计算机系统

特性:多路性、独占性、交互性、及时性

代表性事件:作为通信基础设施、⽀撑通信⽹络的电话⽹,被IP⽹所替代

1.7 “单纯建⽴连接安全建⽴连接

互联⽹时代给⼈带来了⾼度便捷的信息⽹络环境,但也带来了负⾯的问题:计算机病毒、信息泄露、⽹络欺诈等,出于个⼈信息安全以及数

据通信更加安全便捷,安全建⽴连接⾃然⽽然的出现了

三、协议

1.1 随处可见的协议

互联⽹中常⽤的代表性的协议有IPTCPHTTP等,LAN中常⽤协议有IPXSPX

计算机⽹络体系结构将这些⽹络协议进⾏了系统的归纳;TCP/IP就是这些协议的集合

其中,还有Novell公司的IPX/SPX、苹果公司的AppleTalk(仅限苹果公司计算机使⽤)、IBM开发的⽤于构件⼤规模⽹络的SNA以及前

DEC公司开发的DECnet

1.2 协议的必要性

简单来说,协议就是计算机之间通过⽹络实现通信时事先达成的⼀种约定;这种约定使那些由不同⼚商的设备,不同CPU及不同操作系

统组成的计算机之间,只要遵循相同的协议就可以实现通信

协议可以分很多种,每⼀种协议都明确界定了它的⾏为规范:2台计算机之间必须能够⽀持相同的协议,并且遵循相同的协议进⾏处理,才

能实现相互通信

1.3 分组交换协议

定义:将⼤数据分割为⼀个个叫做包(Packet)的较⼩单位进⾏传输的⽅法(之前的http协议学习随笔中有讲到数据通信过程);如图

计算机通信会在每⼀个分组中附加上源主机地址和⽬标主机地址送给通信线路;这些发送端地址、接收端地址以及分组序号写⼊的部分就

报⽂⾸部

⼀个较⼤的数据被分为很多个分组,为了标明原始数据的归属,有必要将分组序号写⼊包中,接收端会根据序号,分组按序重新装配为原始

数据

协议中,通常会规定报⽂⾸部应写⼊哪些信息,如何处理;相互通信的每台计算机则根据协议构造报⽂⾸部,读取⾸部等内容,发送和接收

⽅必须对报⽂⾸部和主体保持⼀致的定义和解释

四、协议的标准化

计算机通信诞⽣之初,系统化与标准化未收到重视,不同⼚商只出产各⾃的⽹络来实现通信,这样就造成了对⽤户使⽤计算机⽹络造成了很

⼤障碍,缺乏灵活性和可扩展性

为解决该问题,ISO(国际标准化组织)制定了⼀个国际标准OSI(开放式通信系统互联参考模型)

TCP/IP并⾮ISO指定,是由IETF(国际互联⽹⼯程任务组)建议、致⼒推进标准化的⼀种协议,其中,⼤学等研究机构和计算机⾏业是推动

标准化的核⼼⼒量,现已成为业界标准协议

协议的标准化也推动了计算机⽹络的普及

五、协议分层和OSI参考模型

1.1 协议的分层

概念:ISO在指定标准的OSI之前,提出了作为通信协议设计指标的OSI参考模型,将协议分为七层,使得原来复杂的⽹络协议更加简单化

定义:在七层模型中,每个分层都接受由它下⼀层所提供的特定服务,并且负责为⾃⼰的上⼀层提供特定的服务,上下层之间进⾏交互所遵

循的约定叫做接⼝,同⼀层之间的交互所遵循的约定叫做协议

协议分层的优点:

每个分层可以独⽴使⽤,其实系统中某些分层发⽣变化,也不会影响整个系统,因此可以构造⼀个扩展性和灵活性都⽐较强的系统;

此外,通过分层可以细分通信功能,更易于单独实现每个分层的协议,界定各个分层的具体责任和义务

协议分层的劣势:

过分模块化,处理变得更加沉重,以及每个模块都不得不事先相似的处理逻辑等

1.2 OSI参考模型

实际上,分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图:

不过,OSI参考模型只是⼀个模型,对各层只做了粗略的定义,并没有对接⼝和协议做详细的定义,想深⼊了解还需要学习具体的协议规范

1.3 OSI参考模型中每个分层的作⽤

下图表述了简单的每个分层的作⽤:

1.3.1 应⽤层:为应⽤程序提供服务并规定应⽤程序中通信相关的细节;包括的协议如下:

:超⽂本传输协议HTTP:这是⼀种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,⽽服务器回应相应的⽹页

:⽂件传送协议FTP:提供交互式的访问,基于客户服务器模式,⾯向连接 使⽤TCP可靠的运输服务

主要功能:减少/消除不同操作系统下⽂件的不兼容性

:远程登录协议TELNET:客户服务器模式,能适应许多计算机和操作系统的差异,⽹络虚拟终端NVT的意义

:简单邮件传送协议SMTPClient/Server模式,⾯向连接

基本功能:写信、传送、报告传送情况、显⽰信件、接收⽅处理信件

DNS域名解析协议:DNS是⼀种⽤以将域名转换为IP地址的Internet服务

:简单⽂件传送协议TFTP:客户服务器模式,使⽤UDP数据报,只⽀持⽂件传输,不⽀持交互,TFTP代码占内存⼩

:简单⽹络管理协议(SNMP: SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议

SNMP代理:运⾏SNMP管理进程的被管理结点

对象:描述设备的变量

管理信息库(MIB):保存所有对象的数据结构

DHCP动态主机配置协议: 发现协议中的引导⽂件名、空终⽌符、属名或者空,DHCP供应协议中的受限⽬录路径名 Options –可选参数字

段,参考定义选择列表中的选择⽂件

1.3.2 表⽰层:将应⽤处理的信息转换为适合⽹络传输的格式,或将来⾃下⼀层的数据转换为上层能够处理的格式;主要负责数据格式的转

换,确保⼀个系统的应⽤层信息可被另⼀个系统应⽤层读取

具体来说,就是将设备固有的数据格式转换为⽹络标准传输格式,不同设备对同⼀⽐特流解释的结果可能会不同;因此,主要负责使它们保

持⼀致

1.3.3 会话层:负责建⽴和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理

PS:其实在应⽤层、表⽰层、会话层这三层,协议可以共⽤:

1.3.4 传输层:只在通信双⽅的节点上(⽐如计算机终端)进⾏处理,⽽⽆需在路由器上处理,传输层是OSI中最重要、最关键的⼀层,是唯

⼀负责总体的数据传输和数据控制的⼀层;

传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对⽹络层提供可靠的⽬的

地站点信息主要功能

在这⼀层,数据的单位称为数据段(segment

主要功能:

:为端到端连接提供传输服务

:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,Udp则是不可靠传输

:为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务

包括的协议如下:

TCP:传输控制协议,传输效率低,可靠性强

UDP:⽤户数据报协议,适⽤于传输可靠性要求不⾼,数据量⼩的数据(⽐如QQ

DCCPSCTPRTPRSVPPPTP等协议

1.3.5 ⽹络层:将数据传输到⽬标地址;⽬标地址可以使多个⽹络通过路由器连接⽽成的某⼀个地址,主要负责寻找地址和路由选择,⽹络

层还可以实现拥塞控制、⽹际互连等功能

在这⼀层,数据的单位称为数据包(packet

⽹络层协议的代表包括:IPIPXRIPOSPF

1.3.6 数据链路层:负责物理层⾯上的互联的、节点间的通信传输(例如⼀个以太⽹项链的2个节点之间的通信);该层的作⽤包括:物理地

址寻址、数据的成帧、流量控制、数据的检错、重发等。

在这⼀层,数据的单位称为帧(frame

数据链路层协议的代表包括:ARPRARPSDLCHDLCPPPSTP、帧中继等

1.3.7 物理层:负责01 ⽐特流(0/1序列)与电压的⾼低、逛的闪灭之间的转换

规定了激活、维持、关闭通信端点之间的机械特性、电⽓特性、功能特性以及过程特性;该层为上层协议提供了⼀个传输数据的物理媒体。

只是说明标准

在这⼀层,数据的单位称为⽐特(bit

属于物理层定义的典型规范代表包括:EIA/TIA RS-232EIA/TIA RS-449V.35RJ-45fddi令牌环⽹等

六、传输⽅式的分类

⽹络通信科根据数据发送⽅法进⾏多种分类,分类⽅法很多,下⾯列举⼏种常见的:

1. ⾯向有连接型和⾯向⽆连接型

1.1 ⾯向有连接型

发送数据之前,需要在收发主机之间建⽴⼀条通信线路,在通信传输前后,专门进⾏建⽴和断开连接的处理,如果与对端之间⽆法通信,可

避免发送⽆谓的数据

1.2⾯向⽆连接型

这种类型不要求建⽴和断开连接,发送端可任何时候发送数据,接收端也不知道⾃⼰何时从哪⾥接受数据,这种情况下,接收端需要时常确

认是否收到数据,彼此也不需要确认对⽅是否存在

2. 电路交换和分组交换

软件通信⽅式⼤致分为2种:电路交换和分组交换,TCP/IP协议组,采⽤的就是分组交换

2.1 电路交换

电路交换中,交换机主要负责数据的中转处理;计算机与交换机相连接,交换机之间由众多通信线路连接,计算机发送数据时,需要先连接

电路,建⽴连接,即可进⾏通信,直到连接被断开

2.2 分组交换

最初,⼀台计算机收发信息时会独占整个电路,其他计算机只能等待,且⽆法预测何时结束通信,为解决这个问题,将发送的数据分为多个

数据包,按⼀定的顺序排列后发送,这就是分组交换

分组交换中,由分组交互机(路由器)连接通信线路;在每个分组⾸部写⼊发送端与接收端地址(即同⼀条线路同时为多个⽤户服务),也

可以确认区分每个分组的数据⽬的地,以及它与哪台计算机通信

分组交换的⼤致处理过程:发送端将数据分组分给路由器,路由器收到后缓存到⾃⼰的缓冲区,然后再转发给⽬标计算机;因此,分组交换

也称为:蓄积交换

路由器收到收据会按照顺序进⾏缓存⾄相应队列,然后以先进先出顺序将其逐⼀发送(有时会优先发送⽬标地址较特殊的数据)

分组交换的缺陷:分组交换中,通信线路共享,因此,通信传输速度可能有差异,根据⽹络拥堵情况,数据到达⽬标地址时间长短不同;另

外,路由器缓存饱和或溢出时,可能发⽣数据丢失,⽆法发送到接收端的情况

电路交换和分组交换的特点:

地址总数不多的情况下,有了唯⼀地址就可以定位相互通信的主体;如果地址总数⽐较多,那么想要⾼效的定位通信主体,就需要让地址具

有层次性

⽐如:MACIP地址在标识⼀个通信主体时都具有唯⼀性,但只有IP地址具有层次性

MAC地址由制造商制造的⽹卡,通过识别制造商号,制造商内部产品编号以及产品通⽤编号来确保MAC地址的唯⼀性

IP地址由⽹络号和主机号2部分组成,即通信主体IP地址不同,若主机号不同,⽹络号相同,说明其处于同⼀个⽹段

⽹络通信中,每个节点都会根据分组数据的地址信息,参考⼀个发出接⼝列表,来判断报⽂应该由哪个⽹卡发送出去,其中,MACIP的区

别在于:

MAC:寻址参考的表叫做地址转发表,其中所记录的实际上MAC地址本⾝

IP:寻址参考的表叫做路由控制表,其中所记录的IP地址是集中了之后的⽹络号(⽹络号与⼦⽹掩码)

⼋、⽹络的构成要素

搭建⼀套⽹络环境需要涉及到很多电缆和⽹络设备,下⾯只介绍下连接计算机和计算机的硬件设备:

搭建⽹络的主要设备及其作⽤:

1. 通信媒介与数据链路

计算机之间通过电缆相互连接,电缆可以分为很多种,根据数据链路不同,选⽤的电缆类型也不同,⽽媒介本⾝也可被划分为电波、微波等

不同类型

各种数据链路⼀览:

传输速率:数据传输过程中,两个设备之间数据流动的物理速度称为传输速率,单位为bpsBits Per Second,每秒⽐特数),即单位时间

内传输的数据量多少

传输速率⼜称为带宽,带宽越⼤⽹络传输能⼒就越强

吞吐量:主机之间实际的传输速率称为吞吐量,单位为bps

吞吐量不仅衡量带宽,同时还有主机的CPU处理能⼒、⽹络拥堵程度、报⽂中数据字段的占有份额(不含报⽂⾸部,只计算数据字段

本⾝)等信息

2. ⽹卡

任何计算机连接⽹络时,必须使⽤⽹卡(全称⽹络接⼝卡,也称为⽹络适配器、⽹卡、LAN卡)

3. 中继器

OSI模型中第⼀层——物理层⾯上延长⽹络的设备;由电缆传过来的波信号或光信号,经由中继器波形调整和放⼤再传给两⼀个电缆

⼀般情况下,中继器两端连接的是相同的通信媒介(有些中继器也可完成不同通信媒介之间的转接⼯作)

有些中继器可提供多个端⼝服务,被称为中继集线器(Hub)或者集线器,每个端⼝都可称为⼀个中继器

4. ⽹桥/2层交换机

⽹桥是在OSI模型第⼆层——数据链路层⾯上连接2个⽹络的设备;它可以识别数据链路层中的数据帧,并将数据帧临时存储于内存,再重新

⽣成⼀个全新帧转发给相连的另⼀个⽹段

⽹桥能够连接不同传输速率的数据链路,并且不限制连接⽹段的个数

数据链路中有个数据帧叫做FCS,⽤以校验数据是否正确送达⽬的地;⽹桥通过检查该域中的值,将损坏的数据丢弃,此外,还能通过地址

⾃学机制和过滤功能控制⽹络流量

地址:MAC地址、硬件地址、物理地址及适配器地址,也就是⽹络上针对NIC分配的具体地址

⾃学式⽹桥:⾃⾏判断是否将数据报⽂发送给相邻的⽹段的⽹桥(记住曾通过⾃⼰转发的所有数据帧的MAC地址,并存储到⾃⼰的内存表

中)

以太⽹等⽹络中经常使⽤交换集线器(Hub),也属于⽹桥的⼀种;交换集线器中连接电缆的端⼝都能提供类似⽹桥的功能

5. 路由器/3层交换机

路由器:OSI模型第三层——⽹络层⾯上连接2个⽹络、并对分组报⽂进⾏转发的设备,根据IP地址进⾏处理;TCP/IP中⽹络层地址就成为

IP地址

路由器可以连接不同的数据链路,它还有分担⽹络负荷的作⽤(某些路由器具备⼀定的⽹络安全功能)

6. 4~7层交换机

4~7层交换机负责处理OSI模型中从传输层⾄应⽤层的数据;即以TCP等协议的传输层及其上⾯的应⽤层为基础,分析收发数据,并对其进

⾏特定的处理(例如:负载均衡器)

应⽤场景:带宽控制、⼴域⽹加速器、特殊应⽤访问、防⽕墙等

7. ⽹关

⽹关:OSI模型中负责将从传输层到应⽤层的数据进⾏转换和转发的设备;处理传输层及以上的数据

⽹关不仅转发数据还对其进⾏转换,通常会使⽤⼀个表⽰层或应⽤层⽹关,在不能直接通信的协议间进⾏翻译,最终实现通信

代理服务器:

使⽤万维⽹(www)时,为控制⽹络流量和处于安全考虑,使⽤代理服务器(也是⽹关的⼀种,称为应⽤⽹关)

使⽤代理服务器,客户端与服务器之间不需要直接通信,⽽是从传输层到应⽤层对数据和访问进⾏各种控制处理,防⽕墙就是⼀种通过⽹关

通信,针对不同应⽤提⾼安全性的产品

代理服务如下图:

各种设备及其对应⽹络分层预览图:

九、现代⽹络

1. ⽹络的构成

核⼼⽹(数据传输核⼼)+边缘⽹络(传输节点)+接⼊层(汇聚层:连接边缘⽹络的部分)

2. 互联⽹通信

实际的⽹络构成图:

3. 移动通信

移动通信⽰意图:

4. 信息发布以及数据中⼼

数据中⼼由⼤型服务器、存储以及计算机⽹络构成(某些⼤型数据中⼼甚⾄连接到主⼲⽹

数据中⼼结构图: