`
緣自秋淚
  • 浏览: 11742 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

初识TCP/IP协议

阅读更多

TCP/IP协议,以前虽然听说过,但不明白究竟是个什么东西,有什么作用,而这次学习通信方面的知识,就少不了接触这套运用最广的网络通信协议。所以,现在才算是对TCP/IP协议有了初步的认识。

初识TCP/IP协议,不敢说有多么深刻的理解。在目前这个层面上,我只能说说我对它的基本理解,比较笼统和宽泛的理解。

首先应该知道的,TCP/IPTransmission Control Protocol/Internet Protocol的缩写,这个不记也没什么影响,但至少要了解它的中文名,传输控制协议/网际协议。所谓协议,是指在计算机网络通信中,为了能在两个实体之间正确地进行通信,通信双方必须共同遵守一些规则和约定,如交换数据的格式、编码方式、同步方式等,这些规则的集合称为协议。

TCP/IP协议应该算是目前网络通信中运用最广的协议,其重要性不言而喻。目前我的理解,也就停留在这部分上,至于其内部的分层体系结构和实现方式等,虽有浏览过,但没深究。

TCP/IP协议中还有两点也是相当重要的,就是三次握手和四次挥手。三次握手的作用是建立连接,其过程如下:

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次握手:服务器收到syn包,必须确认客户的SYNack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACKack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据。

以上是三次握手的标准定义,其实我的理解就把它简化了很多,三次握手就可以简单的理解为客户端先发送信息给服务器,然后服务器给客户端一个应答信息,然后客户端接到应答信息后,向服务器发送确认信息,即建立了连接。至于服务器也客户端之间发送的那些是什么,我也并不清楚,但是协议流程就是这样了,也应该算是比较容易理解的。

四次挥手是连接终止的协议。由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

1TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。

2)服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。

3)服务器关闭客户端的连接,发送一个FIN给客户端。

4)客户段发回ACK报文确认,并将确认序号设置为收到序号加1

这个过程比建立连接要复杂一点,但理解起来也不困难,就是客户端发送一个终止信号,服务器回发一个信号,然后服务器会关闭客户端的连接,再发一个信号,最后客户端发回信号确认。这只是流程,至于具体的信号是什么,双方怎么实现的,就没有去深究了。

分享到:
评论

相关推荐

    初识ISCSI技术

    iSCSI是一 种在Internet协议网络上,特别是...iSCSI是基于IP协议的技术标准,是允许网络在 TCP/IP协议上传输SCSI命令的新协议,实现了SCSI和TCP/IP协议的连接,该技术允许用户通过TCP/IP网络来构建存储区域网 (SAN)。

    《信息技术(基础模块)》02-网络应用.pptx

    了解计算机网络的发展、网络体系结构、TCP/IP协议等概念。 掌握配置网络的基本方法。 掌握获取网络信息和资源的方法。 掌握网络交流和信息发布的方法。 掌握常用网络工具的使用方法。 了解物联网的相关概念及常见...

    Spring系列——带你走进Spring大门!

    TCP/IP协议?这些你都知道多少? 这期让我们来学习新的知识——Spring系列! 跟随时光来开启Spring的大门! 思维导图: 1,初识Spring; 1. 百科介绍: 2. 核心思想: IOC控制反转; AOP面向切面; 3. 官网及下载...

    visual C++_Turbo C串口通信编程实践

    13.1.2 基于串口与TCP/IP网络的远程控制 13.1.3基于视频网络服务器的远程控制 13.2 基于串口通信的LMS-200激光雷达数据处理 13.2.1 LMS-200激光雷达工作原理 13.2.2激光雷达数据处理软件的开发 13.2.3 ...

    中职计算机应用基础教学计划..doc

    2、IP地址的表示方法,会配置TCP/IP协议的参数 3、会配置浏览器的常用参数及使用搜索引擎 4、会申请电子邮箱,发送和接收电子邮件 第四章文字处理软件应用 教学内容: 1、Word入门 2、格式化文档 3、设置页面与输出打印...

    UNIX操作系统教程 张红光

    2.1.2用户的注册与注销11 2.1.3账户的管理12 2.1.4用户口令的管理12 2.1.5用户组信息13 2.2初识UNIX的shell13 .2.2.1什么是shell程序13 2.2.2shell的内部命令和外部命令14 2.3UNIX系统启动及用户登录过程14 2.3.1...

    深入Java Servlet网络编程

    目录 第1章 分布式Web应用程序 1. 1 分布式Web应用程序 1. 2 企业级n-层应用 1. 3 典型Web应用程序... 1 建立TCP/IP连接 A. 3. 2 客户端发送请求 A. 3. 3 服务器返回响应 A. 3. 4 HTTP报头 附录B Servlet API

    服务器的组建.pptx

    初识FTP服务 Transfer Protocol,文件传输协议)是Internet上使用最广泛的应用服务之一。目前Internet上80%的服务器,都开放FTP服务,用户通过它可以将文档从一台计算机上传到另外一台计算机上。 FTP是Internet上最...

    python入门到高级全栈工程师培训 第3期 附课件代码

    08 基于tcp协议的套接字编程 09 socket底层工作原理解释 10 tcp三次握手与四次挥手 第30章 01 上节课复习 02 客户端服务端循环收发消息 03 socket收发消息原理剖析 04 服务端循环链接请求来收发消息 05 补充 06 ...

    javaSE代码实例

    第1章 初识Java 3 1.1 Java简介 3 1.1.1 Java的不同平台 3 1.1.2 Java发展的历程 3 1.1.3 Java的特点 4 1.2 安装开发工具包 5 1.2.1 下载JDK 5 1.2.2 安装JDK 6 1.2.3 安装后Java目录的解读 7 1.3...

Global site tag (gtag.js) - Google Analytics