字面上的意思,很多人看到会以为TCP/IP协议说的就是两种协议TCP和IP。
它指的确实是这两种协议,但很多时候,他还有另一个说法“TCP/IP协议簇”,指的是利用IP进行通信时所必须用到的协议群的统称,诸如IP、HTTP、FTP等都属于其中的一种协议。
01 | 🍓 概念 \color{red}{概念} 概念🍓
TCP/IP是Internet的核心协议,是互联网中最常用的协议之一,它是一组用于在网络中实现通信的网络协议。它包含了许多重要的特性,主要表现在以下五个方面:
-
逻辑编址 \color{red}{逻辑编址} 逻辑编址:每一块网卡出厂时就由厂家分配一个独一无二的MAC地址。在Internet中,为每台因特网中的计算机分配一个逻辑地址,这个逻辑地址就是IP地址;
-
路由选择 \color{red}{路由选择} 路由选择:在TCP/IP中包含了专门用于定义路由器如何选择网络路径的协议,即IP数据包的路由选择;
-
域名解析 \color{red}{域名解析} 域名解析:TCP/IP采用32位的IP地址,但是不易于记忆,所以实际上在网络中还有一种字母式的地址结构,就是前面所学到的DNS(或域名),域名稳定而IP易变;(将域名映射为IP地址的操作)
-
错误检测和流量控制 \color{red}{错误检测和流量控制} 错误检测和流量控制:TCP/IP具有分组交换确保信息数据在网络上的可靠传输的特性,这些特性包括检测数据信息的错误,确认已传输的信息被成功接收,监测网络中的信息流量,防止出现网络拥塞
02 | 🍊 T C P / I P 分层模型 \color{orange}{TCP/IP分层模型} TCP/IP分层模型🍊
协议是对数据在计算机或设备之间传输时的表示方法进行定义和描述的标准。协议规定了进行传输、检测错误以及传送确认信息等内容。TCP/IP是个协议族,它包含了多种协议。
不难看出,TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。
上图将TCP/IP协议分为四个层次: 应用层、传输层、网络层和数据链路层 \color{orange}{应用层、传输层、网络层和数据链路层} 应用层、传输层、网络层和数据链路层。
-
应用层 \color{orange}{应用层} 应用层:应用层主要是针对具体的应用程序进行设计的,包含HTTP、FTP、SMTP、TELNET和DNS等协议。
-
传输层 \color{orange}{传输层} 传输层:传输层主要是负责数据的传输,包括TCP和UDP两种协议。TCP协议提供可靠的传输,保证数据的完整性和正确性;UDP协议则提供了一种快速传输的方式,但不保证数据的可靠性。
-
网络层 \color{orange}{网络层} 网络层:网络层主要是负责在各个网络之间进行数据传输,包括IP协议和ICMP协议。IP协议规定了数据在网络上的传输规则和寻址方式,ICMP协议则用于错误控制和报文发送。接收传输层的请求,传送某个具有目的地址信息的分组,完成如下功能:
-
把分组封装到IP数据报(IP Datagram)中,填入数据报的首部,使用路由算法选择把数据报直接送到目标机或把数据报发送给路由器,然后再把数据报交给下面的数据链路层中对应的网络接口模块;
-
处理接收到的数据报,检验其正确性。使用路由算法来决定是在本地进行处理,还是继续向前发送。如果数据报的目标机处于本机所在的网络,该层软件就把数据报的报头剥去,再选择适当的传输层协议软件来处理这个分组;
-
适时发出ICMP的差错和控制报文,并处理收到的ICMP报文;
-
-
数据链路层 \color{orange}{数据链路层} 数据链路层:(又称网络接口层)数据链路层主要是负责物理层与网络层的连接和信息的传输,包括以太网协议、PPP协议和SLIP协议等。
总之,TCP/IP协议是网络通信中的基础,它通过将数据切分为多个数据包,在不同的网络中进行传递,最终实现了数据的可靠传输和应用程序之间的协作。
03 | 🍋 数据链路层协议 \color{yellow}{数据链路层协议} 数据链路层协议🍋
链路:就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他交换结点。
数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路
TCP/IP协议不包含具体的物理层和数据链路层,只定义了数据链路层(网络接口层)作为物理层与网络层的接口规范。
这个物理层可以是广域网,例如X.25公用数据网,也可以是局域网,例如Ethernet、,Token-Ring和 FDDI等。任何物理网络只要按照这个接口规范开发网络接口驱动程序,就能够与TCP/IP协议集成起来。数据链路层(网络接口层)处在TCP/IP协议的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。
04 | 🍐 网络层协议—— A R P / R A R P \color{green}{网络层协议 —— ARP/RARP} 网络层协议——ARP/RARP🍐
地址解析协议(Address Resolution Protocol,ARP)及反地址解析协议(RARP)是驻留在网际层中的另一个重要协议。
A
R
P
的作用是将
i
P
地址转换为物理地址,
R
A
R
P
的作用是将物理地址转换为
I
P
地址
\color{green}{ARP的作用是将iP地址转换为物理地址,RARP的作用是将物理地址转换为IP地址}
ARP的作用是将iP地址转换为物理地址,RARP的作用是将物理地址转换为IP地址
网络中的任何设备,主机、路由器和交换机等均有唯一的物理地址,该地址通过网卡给出,每个网卡出厂后都有不同的编号,这意味着用户所购买的网卡有着唯一的物理地址。另一方面,为了屏蔽底层协议及物理地址上的差异,IP协议又使用了IP地址,因此,在数据传输过程中,必须对IP地址与物理地址进行相互转换。
用ARP进行IP地址到物理地址转换的过程为:
-
当计算机需要与任何其他的计算机进行通信时,首先需要查询ARP高速缓存,如果ARP高速缓存中这个P地址存在,便使用与它对应的物理地址直接将数据报发送给所需的物理网卡;
-
如果ARP高速缓存中没有该IP地址,那么ARP便在局域网上以广播方式发送一个ARP请求包。如果局域网上IP地址与某台计算机中的IP地址相一致,那么该计算机便生成一个ARP应答信息,信息中包含对应的物理地址。
-
ARP协议软件将IP地址与物理地址的组合添加到它的高速缓存中,这时即可开始数据通信。
RARP负责物理地址到IP地址的转换,这主要用于无盘工作站。网络上的无盘工作站在网卡上有自己的物理地址,但无P地址,因此必须有一个转换过程。为了完成这个转换过程,网络种有一个RARP服务器,网络管理员事先必须把网卡上的IP地址和对应的MAC地址存储到IP RARP服务器的数据库中。
05 | 🍆 网络层协议—— I C M P 协议 \color{blue}{网络层协议 —— ICMP协议} 网络层协议——ICMP协议🍇
Internet控制信息协议(Internet Control Message Protocol,ICMP)是网际层的另一个比较重要的协议。由于IP是一种尽力传送的通信协议,即传送的数据报可能丢失、重复、延迟或乱序,因此IP需要一种避免差错并在发生差错时报告的机制。
ICMP就是一个专门用于发送差错报文的协议。ICMP定义了5种差错报文(源抑制、超时、目的不可达、重定向和要求分段)和4种信息报文(回应请求、回应应答、地址屏蔽码请求和地址屏蔽码应答)
IP在需要发送一个差错报文时要使用ICMP,而ICMP也是利用IP来传送报文的。ICMP是让IP更加稳固、有效的一种协议,它使得IP传送机制变得更加可靠。而且ICMP还可以用于测试因特网,以得到一些有用的网络维护和排错的信息。例如,著名的ping 工具就是利用ICMP报文进行目标是否可达测试。
06 | 🍧 网络层协议—— I P 协议 \color{cyan}{网络层协议 —— IP协议} 网络层协议——IP协议🍧
网络层是整个TCP/IP协议族的重点。在网络层定义的协议除了ICMP、ARP和RARP等几个重要的协议外,还有一个重点协议 —— IP协议。
IP所提供的服务通常被认为是无连接的(Connectionless)和不可靠的(Unreliable)
事实上,在网络性能良好的情况下,IP传送的数据能够完好无损地到达目的地。
所谓无连接的传输,是指没有确定目标系统在已做好接收数据准备之前就发送数据
与此相对应的就是面向连接的(Connection Oriented)传输(如TCP),在该类传输中,源系统与目的系统在应用层数据传送之前需要进行三次握手。
至于不可靠的服务,是指目的系统不对成功接收的分组进行确认,IP只是尽可能地使数据传输成功
但是只要需要,上层协议必须实现用于保证分组成功提供的附加服务。
由于IP只提供无连接、不可靠的服务,所以把差错检测和流量控制之类的服务授权给了其他的各层协议,这正是TCP/IP能够高效工作的一个重要保证。这样,可以根据传送数据的属性来确定所需的传送服务以及客户应该使用的协议。例如,传送大型文件的FTP会话需要面向连接的、可靠的服务(因为如果稍有损坏,就可能导致整个文件无法使用)。
-
IP的主要功能包括:
-
将上层数据(如TCP、UDP数据)或同层的其他数据(如ICMP数据)封装到P数据报中;
-
将IP数据报传送到最终目的地;
-
为了使数据能够在链路层上进行传输,对数据进行分段;
-
确定数据报到达其他网络中的目的地的路径。
-
-
IP协议软件的工作流程:
-
当发送数据时,源计算机上的IP协议软件必须确定目的地是在同一个网络上,还是在另一个网络上;
-
IP通过执行这两项计算并对结果进行比较,才能确定数据到达的目的地。如果两项计算的结果相同,则数据的目的地确定为本地,否则,目的地应为远程的其他网络。
-
如果目的地在本地,那么IP协议软件就启动直达通信;
-
如果目的地是远程计算机,那么IP必须通过网关(或路由器)进行通信,在大多数情况下,这个网关应当是默认网关。
-
当源IP完成了数据报的准备工作时,它就将数据报传递给网络访问层,网络访问层再将数据报传送给传输介质,最终完成数据帧发往目的计算机的过程。
当数据抵达目的计算机时,网络访问层首先接收该数据。网络访问层要检查数据帧有无错误,并将数据帧送往正确的物理地址。假如数据帧到达目的地时正确无误,网络访问层便从数据帧的其余部分中提取数据有效负载(Payload),然后将它一直传送到帧层次类型域指定的协议。在这种情况下,可以说数据有效负载已经传递给了IP。
-
07 | 🍇 应用层协议 \color{purple}{应用层协议} 应用层协议🍇
随着计算机网络的广泛应用,人们也已经有了许多基本的、相同的应用需求。为了让不同平台的计算机能够通过计算机网络获得一些基本的、相同的服务,也就应运而生了一系列应用级的标准,实现这些应用标准的专用协议被称为应用级协议,相对于OSI参考模型来说,它们处于较高的层次,所以也称为高层协议。应用层的协议有$\color{purple}{NFS、Telnet、SMTP、DNS、SNMP和FTP等
这里简单介绍一下域名服务以及远程登陆服务
-
域名服务 \color{purple}{域名服务} 域名服务
I n t e r n e t 中的域名地址和 I P 地址是等价的,它们之间是通过域名服务来完成映射变换的 \color{purple}{Internet 中的域名地址和 IP 地址是等价的,它们之间是通过域名服务来完成映射变换的} Internet中的域名地址和IP地址是等价的,它们之间是通过域名服务来完成映射变换的
实际上,DNS 是一种分布式地址信息数据库系统,服务器中包含整个数据库的某部分信息,并供客户查询。DNS 允许局部控制整个数据库的某些部分,但数据库的每一部分都可通过全网查询得到。
域名系统采用的是客户端/服务器模式,整个系统由解析器和域名服务器组成。解析器是客户方,它负责查询域名服务器、解释从服务器返回来的应答、将信息返回给请求方等工作。城名服务器是服务器方,它通常保存着一部分域名空间的全部信息,这部分域名空间称为区(Zone)。一个城名服务器可以管理一个或多个区。域名服务器可以分为主服务器、Caching Only服务器和转发服务器 (Forwarding Server)。
域名系统是一个分布式系统,其管理和控制也是分布式的。一个用户 A 在查找另一用户 B时,域名系统的工作过程如下:- 解析器向本地域名服务器发出请求查阅用户 B 的域名。
- 本地域名服务器向最高层域名服务器发出查询地址的请求
- 最高层域名服务器返回给本地域名服务器一个 地址
- 本地域名服务器向组域名服务器发出查询地址的请求
- 组域名服务器返回给本地域名服务器一个IP 地址。
- 本地服务器向刚返回的域名服务器发出查询域名地址请求
- 地址返回给本地域名服务器。
- 本地域名服务器将该地址返回给解析器。
因此,本地域名服务器为了得到一个P地址常常需要查询多个域名服务器。于是,在查询地址的同时,本地域名服务器也就得到了许多其他域名服务器的信息,像它们的 I 地址、所负
-
T e l n e t \color{purple}{Telnet} Telnet
文章来源:https://www.toymoban.com/news/detail-443302.html远程登录服务是在 Telmet 协议的支持下,将用户计算机与远程主机连接起来,在远程计算机上运行程序,将相应的屏幕显示传送到本地机器,并将本地的输入送给远程计算机。由于这种服务基于 Telmet 协议且使用 Telnet 命令进行远程登录,故称为 Telnet 远程登录。
T e l m e t 是基于客户端 / 服务器模式的服务系统,由客户端 / 服务器软件以及 T e l m e t 通信协议三部分组成 \color{purple}{Telmet 是基于客户端/服务器模式的服务系统,由客户端/服务器软件以及 Telmet 通信协议三部分组成} Telmet是基于客户端/服务器模式的服务系统,由客户端/服务器软件以及Telmet通信协议三部分组成
远程计算机又称为 Telnet 主机或服务器,本地计算机作为 Telmet 客户端来使用,它起到远程主机的一台虚拟终端(仿真终端)的作用,通过它用户可以与主机上的其他用户一样共同使用该主机提供的服务和资源。
当用户使用 Telnet 登录远程主机时,该用户必须在这个远程主机上拥有合法的账号和相应的密码,否则远程主机将会拒绝登录。在运行 Telnet 客户程序后,首先应该建立与远程主机的TCP 连接,从技术上讲,就是在一个特定的 TCP 端口(端口号一般为 23)上打开一个套接字如果远程主机上的服务器软件一直在这个众所周知的端口上侦听连接请求,则这个连接便会建立起来,此时用户的计算机就成为该远程主机的一个终端,便可以进行联机操作了,即以终端方式为用户提供人机界面。然后将用户输入的信息通过 Telmet 协议便可以传送给远程主机,主机在众所周知的 TCP 端口上侦听到用户的请求并处理后,将处理的结果通过 Telmet 协议返回给客户程序。最后客户端接收到远程主机发送来的信息,并经过适当的转换显示在用户计算机的屏幕上。文章来源地址https://www.toymoban.com/news/detail-443302.html
到了这里,关于计算机网络基础(四)—— 什么是TCP/IP协议?是两种网络协议?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!