热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TCP/IP网络协议的分析(1)——总体思想

1.1什么是网络协议?两台计算机上的程序要交换数据,为保证数据可靠传输,必须要对数据进行中间处理,而协议就是这个处理过程的规定。这好像是两台计算机为进行通信而签订的协议。联系实际生

1.1 什么是网络协议?

两台计算机上的程序要交换数据,为保证数据可靠传输,必须要对数据进行中间处理,而协议就是这个处理过程的规定。这好像是两台计算机为进行通信而签订的协议。联系实际生活,计算机通信好比是我们收发快递,快递协议就是寄快递、送快递、收快递各个过程的规则条文。大家都按这个规则来收发快递,保证了快递的准确及时送达。

下面是官方说法,网络协议是由三个要素组成:


(1) 语义。语义是解释控制信息每个部分的意义。它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应。

(2) 语法。语法是用户数据与控制信息的结构与格式,以及数据出现的顺序。

(3) 时序。时序是对事件发生顺序的详细说明。(也可称为“同步”)。 

1.2 TCP/IP网络协议的构成

TCP/IP网络协议并不是一个孤立的协议,而是众多协议组成的协议簇。就好比我们委托快递公司有一套规则,快递公司内部包裹流转有一套规则,快递公司送给收件人也有一套规则,这些规则共同构成了快递协议。

根据TCP/IP协议的功能,可以将其划分成5个层次,这5个层次是逻辑关系上的分层。





TCP/IP协议的分层


分层组织的原则是:低层协议为相邻的上层协议提供服务(接口),是上层协议得以实现的基础。

①物理层:就是把电脑连接起来的物理手段,常见的有光纤、双绞线,以及无线电波,它决定了电信号(0和1)的传输方式,物理介质的不同决定了电信号的传输带宽、速率、传输距离以及抗干扰性等等,这一层的PHY协议规定了传输信号所需的物理电平、介质特征。

②链路层:规定了数据帧能被网卡接收的条件,发送方会在发送的数据帧的首部加上接收方网卡的 MAC 地址信息,接收方只有监听到属于自己的MAC 地址信息后,才会去接收并处理该数据。

③网络层:每台网络设备都应该有自己的网络地址, 网络层规定了主机的网络地址该如何定义, 以及如何在网络地址和 MAC 地址之间进行映射,即IP协议、ARP协议、路由协议。

④传输层:网络层实现了数据包在主机之间的传递,而一台主机内部可能运行着多个网络程序,传输层可以区分数据包是属于哪一个应用程序的,可以说传输层实现了数据包端到端的传递。另外,数据包在传输过程中可能会出现丢包、乱序和重复的现象,网络层并没有提供应对这些错误的机制,而传输层可以解决这些问题,这就是TCP协议,引入了三次对话机制的UDP协议;

⑤应用层:应用层以下的工作完成了数据从一个主机上的应用程序传输到另一台主机的应用程序,但此时传过来的数据是字节流,不能很好的被程序识别,操作性差。因此,应用层定义了各种各样的协议来规范数据格式,常见的有 HTTP、FTP、MQTT等,之所以会有许多的应用层协议,是因为互联网中传递的数据种类很多、差异很大、应用场景十分多样。

1.3 TCP/IP通信数据(报文)的传输过程

下面简要介绍数据是怎样按照TCP/IP协议在以太网中进行接收和发送的。

下图直观的表示了数据在以太网上的传输过程:

发送端:
第一步——应用层操作:用户(应用程序)发送数据, 将数据向下交给传输层,应用层可以通过调用传输层的接口来编写特定的应用程序。

第二步——传输层操作:传输层会在数据前面加上传输层首部,即TCP首部,向下交给网络层。

第三步——网络层操作:网络层会在数据前面加上网络层首部(IP 首部),然后将数据向下交给链路层。

第四步——链路层操作:链路层会对数据进行最后一次封装,即在数据前面加上链路层首部,形成以太网数据包,然后将数据交给网卡。

第五步——物理层操作:网卡将数据转换成物理链路上的电平信号,数据就这样被发送到了网络线路中。

接收端:
当设备的网卡接收到某个数据包后, 它会将其放置在网卡的接收缓存中,并告知TCP/IP 内核。 然后 TCP/IP 内核就开始工作了,它会将数据包从接收缓存中取出,并逐层解析数据包中的协议首部信息,并最终将数据交给某个应用程序。

数据的发送过程,可以概括为TCP/IP 的各层协议对数据进行封装的过程;数据的接收过程与发送过程正好相反,可以概括为 TCP/IP 的各层协议对数据进行解析的过程。

网上有一个很形象的比喻:
网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。一般情况下,快递是不能直达的,需要先转发到对应的配送站,然后由配送站再进行派件。配送车就是物理介质,配送站就是网关, 快递员就是路由器,收货地址就是IP地址,联系方式就是MAC地址。 快递员负责把包裹转发到各个配送站,配送站根据收获地址里的省市区,确认是否需要继续转发到其他配送站,当包裹到达了目标配送站以后,配送站再根据联系方式找到收件人进行派件。

 

 


推荐阅读
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • 端口转发(Port Forwarding)类似于服务重定向,许多路由器中也称其为虚拟服务器(Virtual Server)。通过合理配置端口转发,可以实现外部网络对内部网络中特定设备和服务的高效访问,从而提高通信效率和灵活性。此外,正确设置端口转发还能增强网络安全,确保只有授权的流量能够进入内网,有效防止未授权访问和潜在威胁。 ... [详细]
  • 1、TCPIP 是个协议组,从下往上可分为:网络接口层、网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP ... [详细]
  • 网络通信基础:互联网协议(IP)详解
    互联网协议(IP)作为TCP/IP协议栈的核心组成部分,主要负责提供一种无连接且不可靠的数据包传输服务。这意味着IP并不确保数据包能够成功抵达目标地址,而是尽力而为地进行传输。此外,IP协议在数据传输过程中不维护任何连接状态,每个数据包独立处理,确保了网络的高效性和灵活性。 ... [详细]
  • 【Linux332】LVS的DR配置详解(ipvsadm+arptables)
    文章目录1.DR简 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 在CentOS上部署并使用FFmpeg多媒体处理工具
    最近在进行音频处理时需要用到FFmpeg,本文将详细介绍如何在CentOS系统上部署并使用这一强大的多媒体处理工具。首先,从官方网站下载FFmpeg的最新版本,然后通过Xftp工具将下载的压缩包(如ffmpeg-4.3.1.tar.xz)传输到服务器上。接下来,解压文件并按照官方文档进行编译安装。安装完成后,可以通过命令行工具验证FFmpeg是否成功安装,并开始进行多媒体文件的转换和处理。此外,文章还将介绍一些常用的FFmpeg命令和参数,帮助用户快速上手。 ... [详细]
  • 构建高效能服务器系统需要综合考虑硬件和软件配置。除了选择性能优越的计算机设备和高速网络连接外,还需要关注操作系统、安全防护、数据备份与恢复等关键环节。合理的资源配置和优化措施能够确保服务器系统的稳定性和高效性。 ... [详细]
  • DNS解析流程详解
    在网络通信中,大多数数据交换依赖于TCP/IP协议,该协议以IP地址为基础。因此,计算机在互联网上进行通信时,主要通过如“202.96.134.133”这样的IP地址来识别目标设备。然而,为了提高用户体验和便于记忆,DNS(域名系统)应运而生,将易于理解的域名转换为IP地址,确保高效且准确的网络连接。本文详细解析了DNS解析的整个流程,包括域名查询、缓存机制及递归解析等关键环节,帮助读者深入了解这一核心网络技术。 ... [详细]
  • 精英荟萃:2019年全球互联网通信云大会讲师阵容揭晓
    随着5G标准的落地和物联网技术的创新应用,通信云正在不断推动着人们日常沟通与协作方式的变革,如何通过技术来引导通信云的持续发展,如何将前沿技术应用落地于各行业场景?近日,全球领先的 ... [详细]
  • LVS-DR数据包流向分析介绍
    下文给大家带来LVS-DR数据包流向分析介绍,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍, ... [详细]
  • 第五章5.4安全设备防火墙防火墙是网络关联的重要设备,用于控制网络之间的语言。外部网络用户的访问必须先经过安全策略过滤,而内部网络用户对外部网络的访 ... [详细]
author-avatar
刺猬xiaojie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有