`
hz_chenwenbiao
  • 浏览: 996232 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

TCP/IP 通信协议 应用浅析(转)

阅读更多

 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是一个协议族,并不是单指TCPIP,更不是指单一的TCP/IP,这点很重要,因为我们在Internet协议(TCP/IP)属性里配置IP地址、子网掩码、默认网关、DNS服务器的时候,总把它作为一个单一的TCP/IP协议使用,而TCPIP只是其中两个基本协议而已。对于TCP/IP理解正确的应该是“用于计算机通信的一个协议集,它包括TCPIPARPICMPUDPRIPFTPSMTP等多种协议”。
 
  我们初步知道TCP/IP协议族是一组不同的协议构成的协议族,尽管通常称该协议族为TCP/IP,但T C PI P只是其中的两种协议而已,这种观点已经在上述中加以阐述了。下面我们简要的把OSI模型、TCP/IP模型、及其各协议之间的对应关系用表格描述下,因为从体系结构来看,TCP/IPOSI 7层模型的简化。如图 -3
 
 
  从上面的表格中可以看到这几层模型中所对应的各种协议, 每个协议在对应层中都有自己的功能与职责,从下面一个实例中,我们通过QQ聊天的模式看TCP/IP模型对应的一些协议在实例中的具体应用。
 
  用户大姜和用户风明的客户端各开启了qq,大姜想和风明聊天:
  大姜在qq中输入“你好,最近忙不忙!”点击“发送”→到传输层进行udp头部封装,把数据分段在udp包头中请求建立连接→到网络层进行ip包头封装,分段编号,分成数据包或报文→若大姜的ip地址和风明的在同一个网段则用网络接口层arp解析出风明的mac地址,若大姜的ip地址与风明的不在同一个网段则用代理arp解析出路由器的mac地址→到数据链路层进行llcmac头部封装fcs校验,封装成帧→对于不再同一网段的客户端通过路由选址选择最佳路径,经过路由器转发到交换机到达风明的同一个网段内→通过传输介质传到风明计算机的网卡→数据链路层可以识别llcmac头部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协议中的TCPIP协议简单的看下在实际的工作中所处理的事情,TCP是一个面向连接的协议无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接建立连接的过程就是三次握手的过程,三次握手的过程是比较著名的论述,下面我们通过一个简单的实例来看下,三次握手如何建立连接的。比如大姜问程程借几本书,第一步:大姜说:“你好,我是大姜”,第二步:程程说:“你好,我是程程”,第三步:大姜说:“我找你借几本书。”这样通过问答就确认对方身份,建立了联系。
 
  IP协议是用于传输IP数据报的协议,它实现的是不可靠无连接的数据报服务,它是TCP/IP协议族的核心,传输层上的数据信息和网络层上的控制信息都以IP数据报的形式传输。比如IP协议就像运货的卡车,将一车车的货物运向目的地。主要的货物就是TCPUDP分配给它的。需要特别指出的是IP提供不可靠、无连接的数据报传送,也就是说IP仅提供最好的传输服务但不保证IP数据报能成功地到达目的地。也就是说,IP协议提供了一辆卡车,至于卡车中途会不会出现意外能不能到达目的地,不是IP协议所考虑的问题。看到这你会不会担心你的E-MAIL会不会送到朋友那,其实不用担心,保证数据正确到达目的地是TCP的工作TCP的数据包是靠IP协议来传输的。但IP协议是只管把数据送到出去,但不能保证IP数据报能成功地到达目的地,保证数据的可靠传输是靠TCP协议来完成的。当接收端收到来自发送端的信息时,接受端详发送一条应答信息,意思是:“我已收到你的信息了”
 
  TCP/IPINTERNET的基础协议,也是一种电脑数据打包和寻址的标准方法。在数据传送中,可以形象地理解为有两个信封,TCPIP就像是信封,要传递的信息被划分成若干段,每一段塞入一个TCP信封,并在该信封面上记录有分段号的信息,再将TCP信封塞入IP大信封,发送上网。在接受端,一个TCP软件包收集信封,抽出数据,按发送前的顺序还原,并加以校验,若发现差错,TCP将会要求重发。因此,TCP/IPINTERNET中几乎可以无差错地传送数据。IPTCP这两个协议的功能不尽相同,也可以分开单独使用,但它们是在同一时期作为一个协议来设计的,并且在功能上也是互补的。只有两者的结合,才能保证 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 通信协议的安装、设置和测试等,作进一步的研究和探讨。  1 网络通信协议  目前,局域网中常用的通信协议主要有:NetBEUI 协议、IPX/SPX兼容协议和...

    MQTT协议原理浅析、协议主要特性

    MQTT是基于Publish/Subscribe(发布订阅)模式的物联网[通信协议](https://so.csdn.net/so/search?q=通信协议&spm=1001.2101.3001.7020) 特点: 1. 简单易实现 2. 支持Qos(服务质量) 3. 报文小 MQTT协议构建于TCP/IP...

    通信与网络中的浅析计算机网络通信协议

     本文就计算机网络通信协议、选择网络通信协议的原则、TCP/IP 通信协议的安装、设置和测试等,作进一步的研究和探讨。  1 网络通信协议  目前,局域网中常用的通信协议主要有:NetBEUI 协议、IPX/SPX兼容协议和...

    HTTP协议/IIS 原理及ASP.NET运行机制浅析【图解】

    PS:TCP/UDP是广泛使用的网络通信协议,UDP协议具有不可靠性和不安全性, 相对来说TCP协议是基于连接和三次握手的(相对可靠与安全),然而B/S架构的网站,由于同时在线的人数会很多,如果都与服务器保持连接状态.服务器的...

    IP网络电话关键技术浅析

    随着Internet的普及基于TCP/IP网络技术的不断发展IP的应用越来越丰富IP网络电话的成功开发和应用预示了以IP为基础的新一代信息网络的出现IP网络电话技术主要涉及语音处理通信协议网络安全管理技术现对其进行逐一浅要...

    Linux环境下基于TCP的Socket编程浅析.pdf

    因特网为网络中的应用提供了 2 种类型的服务: 由 TCP 协议提供的面向连接服务和由U D P 协议提供的无连接服务。随着L inux 操作系统的不断推广, L inux 环境下的Socket 开发和研究一直是人们关注的热点。文章介绍了L...

    通信与网络中的浅析IPv6的安全机制对现有网络安全体系的影响

    摘要:IPv6 作为新版IP 协议,不仅很好地解决了目前IP 地址匮乏的问题,而且由于加密和认证机制的引入,使其在网络层的机密性、完整性...目前的全球因特网所采用的协议族是TCP/IP 协议族,其网络层的协议就是IP,同时也

    浅析PHP Socket技术

    phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block...

    WebRTC零基础开发者教程(纯净版)

    WebRTC,名称源自网页实时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音通话或视频聊天的技术,是谷歌2010年以6820万美元收购Global IP Solutions公司而获得的一项技术。...

    LINUX系统开发技术详解---基于ARM

    9 2.1.2 ARM处理器体系结构........................................................................................ 10 2.1.3 Linux 与ARM处理器...............................................................

Global site tag (gtag.js) - Google Analytics