TCP/IP协议 大家无论在工作还是在生活中的某个角落都能够听到这个词的名称,局域网中的主机如果想进行通信或访问网络都需要对TCP/IP协议进行配置,如下图 -1、-2。
图 -1
图 -2
可是当我们进行TCP/IP协议进行分析的时候,却发现不知道该如何调整思路,因为这个TCP/IP协议特抽象了,光进行理论上的解说,想必大家都接受不了,理论上的东西不好理解也难以捉摸,怎样才能用一种白话的形式进行TCP/IP协议的分析达到更好理解TCP/IP协议的目的呢,我就用我对TCP/IP协议的理解简单的概述下,希望对这方面研究的朋友有点帮助。
就像不同国家的人之间进行交流时需要使用一种彼此都能理解的语言,网络中的计算机要想相互进行“交流”,也必须选择一种彼此都能听得懂的“公用语言”,即我们通常所说的网络通信协议。TCP/ IP 是应用最为广泛的一种网络通信协议,无论在局域网、广域网还是Internet中 ,无论是Unix 系统、Windows 平台,它都支持,可以说TCP/ IP 协议是计算机世界的一个通用“语言”。 TCP/IP是一个协议族,并不是单指TCP和IP,更不是指单一的TCP/IP,这点很重要,因为我们在Internet协议(TCP/IP)属性里配置IP地址、子网掩码、默认网关、DNS服务器的时候,总把它作为一个单一的TCP/IP协议使用,而TCP、IP只是其中两个基本协议而已。对于TCP/IP理解正确的应该是“用于计算机通信的一个协议集,它包括TCP、IP、ARP、ICMP、UDP、RIP、FTP、SMTP等多种协议”。
我们初步知道TCP/IP协议族是一组不同的协议构成的协议族,尽管通常称该协议族为TCP/IP,但是T C P和I P只是其中的两种协议而已,这种观点已经在上述中加以阐述了。下面我们简要的把OSI模型、TCP/IP模型、及其各协议之间的对应关系用表格描述下,因为从体系结构来看,TCP/IP是OSI 7层模型的简化。如图 -3。
从上面的表格中可以看到这几层模型中所对应的各种协议, 每个协议在对应层中都有自己的功能与职责,从下面一个实例中,我们通过QQ聊天的模式看TCP/IP模型对应的一些协议在实例中的具体应用。
用户大姜和用户风明的客户端各开启了qq,大姜想和风明聊天:
大姜在qq中输入“你好,最近忙不忙!”点击“发送”→到传输层进行udp头部封装,把数据分段在udp包头中请求建立连接→到网络层进行ip包头封装,分段编号,分成数据包或报文→若大姜的ip地址和风明的在同一个网段则用网络接口层arp解析出风明的mac地址,若大姜的ip地址与风明的不在同一个网段则用代理arp解析出路由器的mac地址→到数据链路层进行llc,mac头部封装fcs校验,封装成帧→对于不再同一网段的客户端通过路由选址选择最佳路径,经过路由器转发到交换机到达风明的同一个网段内→通过传输介质传到风明计算机的网卡→数据链路层可以识别llc,mac头部fcs校验,解封装,并检测类型长度大于006h发给ip包→传到网络层,网络层可以识别ip包头,解封装并检测到协议号为17→发到传输层,传输层用udp并检测到目标端口号是4000发到应用层→应用层用qq打开→b看到“你好,最近忙不忙!”, 通过上面一个QQ发送和接收消息的最简单例子,大家应该能够很直观的理解了TCP/IP以及OSI模型的工作过程。虽然看上去很乱,或许都没有时间看完,可是TCP/IP协议确实不是一两天研究或记住它的工作原理就能搞清楚的。
TCP/IP体系结构以TCP/IP协议族(TCP/IP protocol suite)中最具有代表性的两个协议,即传输控制协议(Transmit ControlProtocol, TCP)和网际协议(Internet Protocol,IP)来命名TCP/IP (Transmission Control Protocol / Internet Protocol) 技术的核心是实现网络的互联,其关键的思想是在底层物理网络与高层应用程序和用户之间加入中间层次,屏蔽底层细节,向用户提供通用一致的网络服务。这句话看上去比较绕口,也比较抽象,光从字面理解却不知所云。我们先从TCP/IP协议中的TCP、IP协议简单的看下在实际的工作中所处理的事情,TCP是一个面向连接的协议,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接,建立连接的过程就是三次握手的过程,三次握手的过程是比较著名的论述,下面我们通过一个简单的实例来看下,三次握手如何建立连接的。比如大姜问程程借几本书,第一步:大姜说:“你好,我是大姜”,第二步:程程说:“你好,我是程程”,第三步:大姜说:“我找你借几本书。”这样通过问答就确认对方身份,建立了联系。
IP协议是用于传输IP数据报的协议,它实现的是不可靠无连接的数据报服务,它是TCP/IP协议族的核心,传输层上的数据信息和网络层上的控制信息都以IP数据报的形式传输。比如IP协议就像运货的卡车,将一车车的货物运向目的地。主要的货物就是TCP或UDP分配给它的。需要特别指出的是IP提供不可靠、无连接的数据报传送,也就是说IP仅提供最好的传输服务但不保证IP数据报能成功地到达目的地。也就是说,IP协议提供了一辆卡车,至于卡车中途会不会出现意外能不能到达目的地,不是IP协议所考虑的问题。看到这你会不会担心你的E-MAIL会不会送到朋友那,其实不用担心,保证数据正确到达目的地是TCP的工作。TCP的数据包是靠IP协议来传输的。但IP协议是只管把数据送到出去,但不能保证IP数据报能成功地到达目的地,保证数据的可靠传输是靠TCP协议来完成的。当接收端收到来自发送端的信息时,接受端详发送一条应答信息,意思是:“我已收到你的信息了”。
TCP/IP是INTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCP和IP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IP在INTERNET中几乎可以无差错地传送数据。IP和TCP这两个协议的功能不尽相同,也可以分开单独使用,但它们是在同一时期作为一个协议来设计的,并且在功能上也是互补的。只有两者的结合,才能保证 Internet 在复杂的环境下正常运行。凡是要连接到 Internet 的计算机,都必须同时安装和使用这两个协议,因此在实际中常把这两个协议统称作TCP/IP协议。在IP协议中定义的传输是单向的,也就是说发出去的货物对方有没有收到我们是不知道的。就好像8毛钱一份的平信一样。那对于重要的信件我们要寄挂号信怎么办呢?TCP协议就是帮我们寄“挂号信”的。TCP协议提供了可靠的面向对象的数据流传输服务的规则和约定。简单的说在TCP模式中,对方发一个数据包给你,你要发一个确认数据包给对方,通过这种确认来提供可靠性。
TCP协议被称作一种端对端协议。这是因为它为两台计算机之间的连接起了重要作用:当一台计算机需要与另一台远程计算机连接时,TCP协议会让它们建立一个连接、发送和接收资料以及终止连接。如果希望能在 Internet 上进行交流和通信,则每台连上 Internet 的计算机都必须遵守IP协议。为此使用 Internet 的每台计算机都必须运行IP软件,以便时刻准备发送或接收信息。IP协议对于网络通信有着重要的意义:网络中的计算机通过安装IP软件,使许许多多的局域网络构成了一个庞大而又严密的通信系统。从而使 Internet 看起来好像是真实存在的,但实际上它是一种并不存在的虚拟网络,只不过是利用IP协议把全世界上所有愿意接入 Internet 的计算机局域网络连接起来,使得它们彼此之间都能够通信。IP协议已经规定了数据传输的主要内容。
限于篇幅的需要,先介绍这么多有关TCP/IP协议的内容,原本用白话的形式加以概述,可是这个题目过于深奥,加上我对这个协议理解的不够深刻,所以只能在某些问题上还是用术语表达,某些问题采用了白话的形式,至于TCP/IP工作的原理,及各层协议的应用这里就不描述了,就关于TCP\IP中的TCP、IP协议就难以理清了,何况还有那么多层的协议需要我们应用和理解。由于时间仓促,难免有错误之处,请读者指正。
本文出自 “姜雪志” 博客,请务必保留此出处http://jiangxuezhi.blog.51cto.com/839007/342218
分享到:
相关推荐
TCP/IP协议栈是互联网通信的基础,它由Vinton Cerf和Robert Kahn在1983年开发,并在2004年为此获得了图灵奖。TCP/IP协议栈由四个主要层次构成,即网络接口层、网络层、传输层和应用层,其中省去了会话层和表示层,以...
浅析计算机网络通信协议 计算机网络通信协议是计算机与计算机之间的通信离不开的协议,实际上是一组规定和约定的集合。两台计算机在通信时必须约定好本次通信做什么,是进行文件传输,还是发送电子邮件;怎样通信,...
浅析计算机网络通信协议 计算机网络通信协议是计算机与计算机之间的通信的核心,它是一组规定和约定的集合。两台计算机在通信时必须约定好本次通信做什么,是进行文件传输,还是发送电子邮件;怎样通信,什么时间...
"毕业论文浅析计算机网络通信协议" 计算机网络通信协议是计算机与计算机之间进行通信的基础。通信协议是一组规定和约定的集合,两台计算机在通信时必须约定好本次通信做什么,是进行文件传输,还是发送电子邮件;...
本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP 通信协议的安装、设置和测试等,作进一步的研究和探讨。 1 网络通信协议 目前,局域网中常用的通信协议主要有:NetBEUI 协议、IPX/SPX兼容协议和...
MQTT是基于Publish/Subscribe(发布订阅)模式的物联网[通信协议](https://so.csdn.net/so/search?q=通信协议&spm=1001.2101.3001.7020) 特点: 1. 简单易实现 2. 支持Qos(服务质量) 3. 报文小 MQTT协议构建于TCP/IP...
### TCP协议及工作原理浅析 #### 一、TCP/IP整体构架 TCP/IP协议作为互联网的核心协议之一,虽然没有完全遵循OSI的七层参考模型,但它自成一体的四层模型却成为了事实上的标准。为了更好地理解TCP/IP的工作方式,...
本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP 通信协议的安装、设置和测试等,作进一步的研究和探讨。 1 网络通信协议 目前,局域网中常用的通信协议主要有:NetBEUI 协议、IPX/SPX兼容协议和...
### Linux环境下基于TCP的Socket编程浅析 #### 一、引言 随着Linux操作系统的广泛应用,Socket编程成为了网络通信领域的重要技术之一。Socket不仅适用于同一台计算机上的进程间通信(IPC),同时也适用于网络环境...
《Linux下的网络通讯程序设计浅析》这篇文章深入探讨了Linux操作系统在网络通讯程序设计中的应用,特别是在TCP/IP协议上的实现。Linux起源于1991年,由芬兰赫尔辛基大学的学生Linus Torvalds创建,最初是一个为个人...
在IT行业中,网络通信是软件开发的一个重要领域,特别是在分布式系统和互联网应用中。C#作为微软.NET框架下的主要编程语言,提供了强大的网络通信...理解并熟练掌握TCP和UDP通信,对于开发高质量的网络应用至关重要。
Socket是一种用于实现进程间通信的技术,它位于应用层与传输层之间,为上层应用提供了一组简单的API,使开发者能够利用底层的网络协议(如TCP/IP)进行高效的通信。Socket可以分为面向连接的服务(TCP)和无连接的...
本文将深入探讨计算机网络的基本概念、结构组成、分类、拓扑结构、TCP/IP协议以及其在行业中的应用。 计算机网络的核心在于通过网络协议控制下的硬件和软件设备,实现数据的传输和共享。网络硬件包括计算机、路由器...
总的来说,IP电话利用了高效的语音压缩算法和TCP/IP协议,实现了通过互联网进行语音通信,降低了通信成本,并通过网关、网闸和MCU等组件确保了通信的可靠性和效率。随着网络技术的发展,IP电话已经成为现代通信的...
总的来说,TOE技术通过将TCP/IP协议处理工作卸载到专用硬件,优化了网络通信流程,显著提升了服务器性能,尤其是在处理大量网络数据时。尽管有其局限性,但随着技术的发展,TOE技术有望在更多的领域得到广泛采用,以...
随着Internet的普及基于TCP/IP网络技术的不断发展IP的应用越来越丰富IP网络电话的成功开发和应用预示了以IP为基础的新一代信息网络的出现IP网络电话技术主要涉及语音处理通信协议网络安全管理技术现对其进行逐一浅要...
实时数据采集设备种类繁多,如生产辅助设备、检测设备等,它们通过不同的接口和通信协议相互连接。数据采集通常采用TCP/IP协议的以太网模式、普通以太网模式或数据采集卡模式,以适应不同设备的连接需求。 【TCP/IP...
TCP/IP协议在此类应用中起到了关键作用,支持多媒体信息的实时传输和控制。通信网络系统技术则强调了综合布线系统,它整合了语音、数据和图像等多种信息传输需求,形成一个开放的系统,包括六个子系统,共同确保系统...