Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

一.计算机网络基础(TCP/IP协议)

什么是协议?

简单来说,协议就是计算机之间通过网络实现通信时事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备,不同CPU及不同操作系统组成的计算机之间,只要遵循相同的协议就可以实现通信。
协议可以分很多种,每一种协议都明确界定了它的行为规范:2台计算机之间必须能够支持相同的协议,并且遵循相同的协议进行处理,才能实现相互通信
互联网中常用的代表性的协议有IP、TCP、HTTP等,LAN中常用协议有IPX、SPX等。“计算机网络体系结构” 将这些网络协议进行了系统的归纳;TCP/IP就是这些协议的集合。
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

协议分层和OSI参考模型

协议的分层

1.概念
ISO在指定标准的OSI之前,提出了作为通信协议设计指标的OSI参考模型,将协议分为七层,使得原来复杂的网络协议更加简单化。
2.定义
在七层模型中,每个分层都接受由它下一层所提供的特定服务,并且负责为自己的上一层提供特定的服务,上下层之间进行交互所遵循的约定叫做“接口”,同一层之间的交互所遵循的约定叫做“协议”。
3.协议分层的优点
每个分层可以独立使用,其实系统中某些分层发生变化,也不会影响整个系统,因此可以构造一个扩展性和灵活性都比较强的系统;
此外,通过分层可以细分通信功能,更易于单独实现每个分层的协议,界定各个分层的具体责任和义务。
4.协议分层的劣势
过分模块化,处理变得更加沉重,以及每个模块都不得不事先相似的处理逻辑等。
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

OSI参考模型

分组通信协议很复杂,OSI参考模型将其分为了易于理解的七个分层,如下图:
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)
不过,OSI参考模型只是一个模型,对各层只做了粗略的定义,并没有对接口和协议做详细的定义,想深入了解还需要学习具体的协议规范。

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

下图表述了简单的每个分层的作用:
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

应用层

为应用程序提供服务并规定应用程序中通信相关的细节;包括的协议如下:
①超文本传输协议HTTP: 这是一种最基本的客户机/服务器的访问协议;浏览器向服务器发送请求,而服务器回应相应的网页。
②文件传送协议FTP: 提供交互式的访问,基于客户服务器模式,面向连接 使用TCP可靠的运输服务。
主要功能:减少/消除不同操作系统下文件的不兼容性 。
③远程登录协议TELNET: 客户服务器模式,能适应许多计算机和操作系统的差异,网络虚拟终端NVT的意义。
④简单邮件传送协议SMTP: Client/Server模式,面向连接。
基本功能:写信、传送、报告传送情况、显示信件、接收方处理信件 。
⑤DNS域名解析协议: DNS是一种用以将域名转换为IP地址的Internet服务。
⑥简单文件传送协议TFTP: 客户服务器模式,使用UDP数据报,只支持文件传输,不支持交互,TFTP代码占内存小。
⑦简单网络管理协议(SNMP): SNMP模型的4个组件:被管理结点、管理站、管理信息、管理协议。
SNMP代理:运行SNMP管理进程的被管理结点。
对象:描述设备的变量。
管理信息库(MIB):保存所有对象的数据结构
⑧DHCP动态主机配置协议: 发现协议中的引导文件名、空终止符、属名或者空,DHCP供应协议中的受限目录路径名 Options –可选参数字段,参考定义选择列表中的选择文件。

表示层

将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取。
具体来说,就是将设备固有的数据格式转换为网络标准传输格式,不同设备对同一比特流解释的结果可能会不同;因此,主要负责使它们保持一致。

会话层

负责建立和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理。
PS:其实在应用层、表示层、会话层这三层,协议可以共用:
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

传输层

只在通信双方的节点上(比如计算机终端)进行处理,而无需在路由器上处理,传输层是OSI中最重要、最关键的一层,是唯一负责总体的数据传输和数据控制的一层;
传输层提供端到端的交换数据的机制,检查分组编号与次序,传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息主要功能。
在这一层,数据的单位称为数据段(segment)。
主要功能:
①:为端到端连接提供传输服务。
②:这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输。
③:为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务。

包括的协议如下:
TCP:传输控制协议,传输效率低,可靠性强。
UDP:用户数据报协议,适用于传输可靠性要求不高,数据量小的数据(比如QQ)。
DCCP、SCTP、RTP、RSVP、PPTP等协议。

网络层

将数据传输到目标地址;目标地址可以使多个网络通过路由器连接而成的某一个地址,主要负责寻找地址和路由选择,网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:IP、IPX、RIP、OSPF等。

数据链路层

负责物理层面上的互联的、节点间的通信传输(例如一个以太网项链的2个节点之间的通信);该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:ARP、RARP、SDLC、HDLC、PPP、STP、帧中继等。

物理层

负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换。
规定了**、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。只是说明标准。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45、fddi令牌环网等。

定义

TCP/IP是“transmission Control Protocol/Internet Protocol”的简写,中文译名为传输控制协议/互联网络协议, TCP/IP(传输控制协议/网间协议)是一种网络通信协议,它规范了网络上的所有通信设备,尤其是一个主机与另一个主机之间的数据往来格式以及传送方式。
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)
TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)

特点

TCP/IP协议能够迅速发展起来并成为事实上的标准,是它恰好适应了世界范围内数据通信的需要。它有以下特点:
(1)协议标准是完全开放的,可以供用户免费使用,并且独立于特定的计算机硬件与操作系统。
(2)独立于网络硬件系统,可以运行在广域网,更适合于互联网。
(3)网络地址统一分配,网络中每一设备和终端都具有一个唯一地址。
(4)高层协议标准化,可以提供多种多样可靠网络服务。

体系结构

TCP/IP 协议包括两部分:传输控制协议和网际协议。
TCP/IP 的通信任务组织成 5个相对独立的层次:应用层、传输层、互联网层(对应OSI的网络层)、网络接口层和物理层,其中网络接口层和物理层常称为物理网层。
TCP/IP 协议体系结构与OSI 7 层模型的对应关系如下图所示:
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)
1.应用层
它使应用程序能够直接运行于传输层之上,直接为用户提供服务。包含的主要协议有文件传输协议(File Transfer Protocol,FTP)、简单邮件传送协议(Simple Mail Transfer Protocol, SMTP)、远程登录协议、域名服务协议(Domain Name Service,DNS)、网络新闻传送协议(Network News Transfer Protocol,NNTP)和超文本传输协议(Hyper Text Transfer Protocol,HTTP)等。

2.传输层
它的主要功能是对应用层传递过来的用户信息分成若干数据报,加上报头,便于端到端的通信。包括的协议有基本字节的面向连接应用层的传输TCP协议,TCP为应用程序之间的数据传输提供可靠连接;面向无连接的用户数据报UDP协议,UDP的传送不保证数据一不到达目的地,也不保证数据报的顺序,不提供重传机制;提供声音传送服务的NVP协议。

3.互联网层
互联网层对应于 OSI 模型的网络层。该层采用的协议称为互联网协议,它提供跨多个网络的寻址选路功能,使IP数据(带有IP地址)从一个网络的主机传到另一网络的主机。包括的协议有网际IP协议;网际控制报文协议ICMP;将IP地址转换成物理网层地址的ARP协议;将物理网地址转换成IP地址的RARP协议。

4.网络接口层
网络接口层对应于OSI模型的数据链路层。接口层负责与物理传输的连接媒介打交道,主要功能是接收数据报,并把接收到的数据报发送到指定的网络中去。该层需要执行不同协议的局域网,通过网关实现协议与TCP/IP的转换,使数据穿过多个互联的网络正确地传输,实现异种网络接入Internet。

5.物理层
物理层利用物理媒介为比特流提供物理连接,一般将网络接口层和物理层统称 TCP/IP协议的物理网。物理网包含的协议有IEEE 802.3以太网;面向连接的X.25 公用数据网及X.75虚通路无连接协议;ARPANET网络;ATM网络;令牌环网等。

Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)
Linux运维学习:中级进阶(1)——计算机网络基础(TCP/IP协议)