TCP/IP协议的连接与释放的三次握手过程及Socket套接字
来源:互联网 发布:js点击选中再点击取消 编辑:程序博客网 时间:2024/06/13 07:43
socket 套接字:为了使得多主机多进程通信时,不至于发生混乱情况,必须把端口号和主机的IP地址结合起来使用,称为插口或套接字。
由于主机的IP地址是唯一的,这样目的主机就可以区分收到的数据报的源端机了。
套接字包括IP地址(32位)和端口号(16位),共48位。
例如(124.33.13.55,200)和(126.45.21.51.25)就是一对套接字,再整个Internet中,再传输层上进行 通信的一对套接字都必须是唯一的。
TCP连接的建立
第一次握手:客户端TCP首先给服务器端TCP发送一个特殊的TCP数据段。该数据段不包含应用层数据,并将头部中SYN位设置为1,所以该数据段被称为SYN数据段。另外,客户选择一个初始序列号SEQ,设SEQ=x并将这个编号放到初始的TCP SYN数据段的序列号的字段中。该数据段被封装到一个IP数据报中,并发送给服务器。
第二次握手:一旦装有TCP SYN数据段的IP数据报到达了服务器主机,服务器从该数据报中提取出TCP SYN数据段,给该连接分配TCP缓冲区和变量,并给客户TCP发送一个允许允许连接的数据段,这个允许连接的数据段也不包含任何应用层数据。但是,它的头部中装载着3个重要信息。首先SYN被设置为1;其次,TCP数据段头部的确认字段被设置为x+1;最后,服务器选择自己的初始顺序号,SEQ=y,并将该值放到TCP数据头部的序列号字段中。
第三次握手:在接受到允许连接数据段之后,客户也会给连接分配缓冲区和变量。客户端主机还会给服务器发送另一个数据段,对服务器的允许连接接受数据段给出确认。
TCP连接的释放
第一次握手:由进行数据通信的任意一方提出要求释放连接的请求报文段。
第二次握手:接收端收到此请求后,会发送确认报文段,同时当接收端的所有数据也都已经发送完毕后,接收端会向发送端发送一个带有其自己序号的报文段。
第三次握手:发送端收到接收端的要求释放连接的报文段后,发送反向确认。
0 0
- TCP/IP协议的连接与释放的三次握手过程及Socket套接字
- 剖析TCP/IP协议建立和释放连接的三次握手与四次挥手过程
- 描述TCP 协议三次握手,四次释放的过程
- TCP/IP协议三次握手与四次握手释放
- TCP/IP 连接三次握手与释放四次握手
- TCP/IP 连接三次握手与释放四次握手
- 【网络】关于运输层中TCP协议的三次握手连接和四次握手连接释放过程简述
- tcp协议的”三次握手“连接与“四次握手”断开
- TCP/IP协议的三次握手及实现原理
- TCP/IP协议的三次握手及实现原理
- TCP/IP协议的三次握手及实现原理
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- TCP三次握手详解及释放连接过程
- 【小莨】如何打开扩展名为.DB 文件 ,sqlite3 的使用
- JavaScript权威指南_49_第7章_数组_7.1-创建数组
- Python的学习之旅---开始篇
- JAVA 验证AD域名登陆
- hash表冲突处理(hash溢出表)
- TCP/IP协议的连接与释放的三次握手过程及Socket套接字
- mssql简单数据拆分
- C#常见设计模式
- ffmpeg+SDL linux下最简单的播放器
- flash广告 悬浮
- LINUX查看CPU使用率命令
- JavaScript权威指南_50_第7章_数组_7.2-数组元素的读和写
- 如何将已经搭好环境的UBUNTU备份并且可以制作成CD安装
- Java笔记十五.深入理解类和对象(2)