TCP/IP协议(一)网络基础知识老张

参考书籍为《图解tcp/ip》-第五版。这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述)、OSI参考模型、网络概念的本质、网络构建的设备等

下面是协议层从底层至顶层的一个模型图:

一、计算机网络的背景

1.1计算机的发展

有人说:“20世纪最伟大的发明就是计算机”,自诞生伊始,计算机经历了一系列发展,从大型通用计算机、超级计算机、小型机、个人电脑、工作站以及现如今笔记本、平板、智能手机等,

计算机已经彻底融入了我们的生活

1.2计算机的发展模式

起初,计算机只是以单机模式(独立模式)被广泛应用,随着发展,计算机被一个个的连接起来,形成了一个计算机网路,从而实现了信息共享,远距离传递信息等工作

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

WAN:WideAreaNetwork(广域网)

LAN:LocalAreaNerwork(局域网)

二、计算机与网络发展的七个阶段

1.1批处理

BatchProcessing:事先将用户程序和数据装入卡带或磁带,由计算机按一定顺序读取,使用户要执行的程序和数据能够一并批量得到处理的方式

1.2分时系统TSS

TimeSharingSystem:多个终端和同一个计算机相连,允许多个用户同时使用一台计算机系统

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

1.3计算机间的通信

1.4计算机网络

窗口系统的产生,方便了用户操作,用户不仅可以同时执行多个程序,还能自由切换作业

窗口系统:在计算机上可以打开多个图形窗口进行处理的系统。代表性的有常用于Unix上的XWindowSystem、微软的Windows、苹果的MacOSX等

1.5互联网的出现

异构型计算机连接和电子邮件、万维网等信息传播方式促使互联网开始从大到整个公司小到一个家庭内部开始普及互联网,实现了世界各地用户通过接入互联网而即时沟通与交流

1.6互联网技术为中心的时代

1.7“单纯建立连接”到“安全建立连接”

互联网时代给人带来了高度便捷的信息网络环境,但也带来了负面的问题:计算机病毒、信息泄露、网络欺诈等,出于个人信息安全以及数据通信更加安全便捷,安全建立连接自然而然的出现了

三、协议

1.1随处可见的协议

互联网中常用的代表性的协议有IP、TCP、HTTP等,LAN中常用协议有IPX、SPX等

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

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

1.2协议的必要性

简单来说,协议就是计算机之间通过网络实现通信时事先达成的一种“约定”;这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信

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

1.3分组交换协议

计算机通信会在每一个分组中附加上源主机地址和目标主机地址送给通信线路;这些发送端地址、接收端地址以及分组序号写入的部分就是“报文首部”

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

协议中,通常会规定报文首部应写入哪些信息,如何处理;相互通信的每台计算机则根据协议构造报文首部,读取首部等内容,发送和接收方必须对报文首部和主体保持一致的定义和解释

四、协议的标准化

计算机通信诞生之初,系统化与标准化未收到重视,不同厂商只出产各自的网络来实现通信,这样就造成了对用户使用计算机网络造成了很大障碍,缺乏灵活性和可扩展性

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

TCP/IP并非ISO指定,是由IETF(国际互联网工程任务组)建议、致力推进标准化的一种协议,其中,大学等研究机构和计算机行业是推动标准化的核心力量,现已成为业界标准协议

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

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

1.1协议的分层

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

定义:在七层模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”

协议分层的优点:

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

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

协议分层的劣势:

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

1.2OSI参考模型

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

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

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

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

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

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

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

④:简单邮件传送协议SMTP:Client/Server模式,面向连接

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

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

⑥:简单文件传送协议TFTP:客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小

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

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

对象:描述设备的变量

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

⑧DHCP动态主机配置协议:发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名Options–可选参数字段,参考定义选择列表中的选择文件

1.3.2表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取

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

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

1.3.4传输层:只在通信双方的节点上(比如计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层;

传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能

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

主要功能:

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

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

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

包括的协议如下:

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

DCCP、SCTP、RTP、RSVP、PPTP等协议

1.3.5网络层:将数据传输到目标地址;目标地址可以使多个网络通过路由器连接而成的某一个地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能

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

网络层协议的代表包括:IP、IPX、RIP、OSPF等

1.3.6数据链路层:负责物理层面上的互联的、节点间的通信传输(例如一个以太网项链的2个节点之间的通信);该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。

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

数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等

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

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

在这一层,数据的单位称为比特(bit)

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

六、传输方式的分类

网络通信科根据数据发送方法进行多种分类,分类方法很多,下面列举几种常见的:

1.面向有连接型和面向无连接型

1.1面向有连接型

发送数据之前,需要在收发主机之间建立一条通信线路,在通信传输前后,专门进行建立和断开连接的处理,如果与对端之间无法通信,可避免发送无谓的数据

1.2面向无连接型

这种类型不要求建立和断开连接,发送端可任何时候发送数据,接收端也不知道自己何时从哪里接受数据,这种情况下,接收端需要时常确认是否收到数据,彼此也不需要确认对方是否存在

2.电路交换和分组交换

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

2.1电路交换

电路交换中,交换机主要负责数据的中转处理;计算机与交换机相连接,交换机之间由众多通信线路连接,计算机发送数据时,需要先连接电路,建立连接,即可进行通信,直到连接被断开

2.2分组交换

最初,一台计算机收发信息时会独占整个电路,其他计算机只能等待,且无法预测何时结束通信,为解决这个问题,将发送的数据分为多个数据包,按一定的顺序排列后发送,这就是分组交换

分组交换中,由分组交互机(路由器)连接通信线路;在每个分组首部写入发送端与接收端地址(即同一条线路同时为多个用户服务),也可以确认区分每个分组的数据目的地,以及它与哪台计算机通信

分组交换的大致处理过程:发送端将数据分组分给路由器,路由器收到后缓存到自己的缓冲区,然后再转发给目标计算机;因此,分组交换也称为:蓄积交换

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

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

3.根据接收端数据分类

3.1单播

3.2广播

将消息从一台主机发送给与之相连的其他所有主机;典型例子就是电视播放(将电视信号一齐发送给非特定的多个连接对象)

3.3多播

与广播类似,也是将消息发送给多个相连接的接收主机;不同之处在于多播要限定某一组主机作为接收端

3.4任播

在特定的多台主机中选择一台作为接收端的一种通信方式(从目标主机群中选择一台最符合的主机作为目标主机发送消息,一般被选中的主机将返回一个单播信号,随后发送端只会和这台主机通信)

在实际的应用中有DNS根域名解析服务器

PS:几种不同方式的思维逻辑图:

七、地址

通信传输中,发送端和接收端可以被视为通信主体,它们由“地址”加以标识,在计算机通信中,每一层协议的地址都不同

1.地址的唯一性

通信地址必须明确的表示一个主体对象,以便确认通信主体,同一个网络中不允许有2个相同的通信主体存在,这就是地址的唯一性

2.地址的层次性

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

比如:MAC和IP地址在标识一个通信主体时都具有唯一性,但只有IP地址具有层次性

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

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

网络通信中,每个节点都会根据分组数据的地址信息,参考一个发出接口列表,来判断报文应该由哪个网卡发送出去,其中,MAC和IP的区别在于:

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

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

八、网络的构成要素

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

搭建网络的主要设备及其作用:

1.通信媒介与数据链路

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

各种数据链路一览:

传输速率又称为带宽,带宽越大网络传输能力就越强

吞吐量:主机之间实际的传输速率称为吞吐量,单位为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.信息发布以及数据中心

数据中心由大型服务器、存储以及计算机网络构成(某些大型数据中心甚至连接到“主干网”)

THE END
1.管理知识课:什么是网络状的组织架构?互联网知识工商管理职场攻02:32 面试官技能课:面试官要知道如何应对“面霸” 01:47 管理知识课:公司偷税漏税,会计要承担责任吗 00:56 劳动合同法问答课:公司破产了员工可以获得经济补偿金吗 02:22 人力资源知识课:什么是协议工资制 02:17 销售技能课:销售人员与“凡勃伦效应” 01:20 管理知识课:什么是头脑风暴法 网易https://www.163.com/v/video/VCI7FC95M.html
2.5G网络基础知识网络通信学习5G 3GPP网络架构 5G网络设计原则: 5G网络设计的4大原则: 1、**NFV/SDN技术。**NVF(Network Function Virtual)网络功能虚拟化,使网络更具有弹性。SDN(Software Define Network)软件定义网络,通过转发与控制面的分离,通过全网的角度去看待IP网络,更好的调度网络,分配资源提高利用率。 https://download.csdn.net/blog/column/10163113/120653287
3.网络基础知识:网络协议用户在用户层输入命令(数据),到传输层包上tcp协议头,再到网络层包裹上ip头,再到数据链路层包上以太网头,通过client物理层经过线路被server物理层接收,然后一层层反解到server的应用层,server应用层拿到命令后请求操作系统去调用硬盘里面的数据,最后再返回到数据层。 https://www.jianshu.com/p/303a9989862d
4.LTE基础知识LTE整体架构和协议架构概述【LTE基础知识】LTE整体架构和协议架构概述 LTE整体架构 下图为LTE系统整体网络拓扑结构图: 与UMTS系统相比,LTE/SAE网络中无线传输技术、空中接口协议和系统结构等方面都发生了革命性的变化。对应的无线网络和核心网被称为E-UTRAN和EPC(Evolved Packet Core),并将整个网络系统命名为EPS(Evolved Packet System,演进的https://www.mscbsc.com/viewnews-101601.html
5.浅析网络基础架构简介:由于平时倾向于关注业务层面的架构与技术,对网络基础架构上的知识了解不多,对其中很多知识点都是一知半解,甚至有些都没有听说过,比如AServer是什么?为什么会有AServer?它的原理是什么?等等,带着这些问题来浅析网络基础架构。 背景 由于平时倾向于关注业务层面的架构与技术,对网络基础架构上的知识了解不多,对其https://developer.aliyun.com/article/924024
6.了解移动通信网络:移动通信网络基础知识之无线篇移动通信网络架构 无线接入网络 GSM/GPRS系统的基本结构 GSM/GPRS无线网络——网元 BSC—基站控制器,可管理多个基站,其处理能力一般受限于可管理的TRX数,E1端口。 变码器(TRAU) PCU—分组控制单元,为支持GPRS需增加的,由内置于BSC内部的,也有独立设置的。 https://www.chinafix.com/article-11956-1.html
7.OSI七层模型与TCP/IP四层模型OSI七层模型是由国际标准化组织(ISO)提出的一个概念性框架,用于描述计算机网络中通信的过程。这个模型将网络通信功能分为七个逻辑层次,每一层都代表了数据在网络传输的一个阶段,并且每一层都有其特定的任务和功能。 1.物理层(Physical Layer) 功能:物理层定义了硬件接口标准,包括传输介质、连接器、电气特性、机械https://zhuanlan.zhihu.com/p/718034661
8.交换机基础知识概述? 核心交换机为进出数据中心的包提供高速的转发,为多个二层局域网(VLAN)提供连接性,核心交换机为通常为整个网络提供一个弹性的三层网络。 传统三次网络架构弊端 ①带宽的浪费:为了防止环路,汇聚层和接入层之间通常会运行STP协议,使得接入交换机的上联链路中实际承载流量的只有一条,而其他上行链路将被阻塞(如图中虚https://www.elecfans.com/d/2283825.html
9.5G网络切片的知识普及网络功能层负责根据来自上层的服务实例请求创建网络切片。它由一组包含明确定义的行为和接口的网络功能组成。多个网络功能被放置在虚拟网络基础架构上,并连接在一起,以创建一个端到端的网络切片实例,该实例反映了服务请求的网络特性。 为了提高资源使用率,不同切片可以同时共享相同的网络功能,但会增加运营管理的复杂性。https://www.51cto.com/article/704801.html
10.计算机网络基础:网络分类和拓扑结构知识笔记计算机网络基础知识01-网络体系结构 转自:https://blog.csdn.net/weixin_38073885/article/details/87820562 1、网络体系结构 1.1 基本概念 1.网络协议:是计算机网络和分布系统中相互通信的对等实体间交换信息时所必需遵守的规则的集合。 2.语法:包括数据格式、编码及信号电平等。 3.语义:包括用于协议和差错处理的控https://www.pianshen.com/article/52472051447/
11.软件工程专业培养方案(2022)3.专业技术基础知识。程序设计、算法与数据结构、数据库原理与技术、操作系统、计算机组成原理、计算机网络原理与技术、、数字电路与逻辑设计等。 4.软件工程专业知识。软件工程概论、UML建模、Java EE编程、Java EE框架技术、软件项目管理与案例分析、软件测试技术等。 https://www.csust.edu.cn/jtxy/info/1302/20908.htm
12.极简的NBU入门笔记(上)Gavinwang基础知识-架构 NBU 包括Server/Client软件。 在需要连接存储设备(如磁带库或光盘库)的服务器上安装Server 软件。 在需要提供数据进行备份的机器上安装Client 软件。 Server 和 Client 之间通过TCP/IP Sockets 通讯。 Netbackup Server体系架构(2层体系)如下图: https://ecommunity.talkwithtrend.com/Article/240463
13.AWS网络基础知识网络基础知识 跳至主要内容 单击此处以返回 Amazon Web Services 主页 入门指南 简介 如果你刚开始接触云网络,可能会觉得有些不知所措。特别是如果您已经习惯了使用传统的本地方式预配硬件以及管理和配置网络。充分了解 IP 寻址、TCP 通信、IP 路由、安全性和虚拟化等核心网络概念将有助于您开始熟悉 AWS 上的云http://aws.amazon.com/cn/getting-started/aws-networking-essentials/?nc1=h_ls
14.量子计算遇见深度学习(下篇)量子神经网络的基础知识 总的来说,我们要做的是用参数化量子电路(Parametrized Quantum Circuit, PQC)取代传统的神经网络来完成机器学习任务。任务处理的对象可以是经典数据(需要额外的数据加载过程)也可以是量子数据。接着,我们需要设计一个可调节参数的量子电路(PQC),也被称作量子神经网络(Quantum Neural Network, QNNhttps://www.paddlepaddle.org.cn/support/news?action=detail&id=2530