网络连接时套接字对的变化状态
2016-06-06 15:40
302 查看
TCP网络连接的详细过程
套接字对唯一标识一个网络上的每个TCP连接。
一个TCP连接的套接字对是定义该连接的两个端点的四元组:本地IP地址本地端口号(唯一标识一个进程,网络通信其实两台机器数两个进程之间的通信)和外地IP地址外地端口号。
连接的整个过程。
1.在主机上启动服务器
服务器是多宿主机
12.106.32.254
192.168.42.1
此时服务器有一个监听套接字
{*:21,*:*}
服务器在他众所周知的端口21上执行被动打开,从而开始等待客户的请求。
如果运行服务器的主机是多宿的,服务器可以指定它只接受到达某个特定本地接口的外来连接,要么选一个接口要么接任意接口
2.IP为206.168.112.219的主机启动第一个客户
206.168.112.219 客户ip
客户
{206.168.112.219:1500,
12.106.32.254:21}
12.106.32.254 服务器多宿,他的IP
192.168.42.1
服务器
{*:21,*:*}
客户发送到服务器21端口号的连接
3.服务器接收并接受这个客户的连接,它fork一个自身的副本,让子进程处理该客户的连接。
206.168.112.219
客户
{206.168.112.219:1500,
12.106.254.21}
12.106.32.254
192.168.42.1
服务器进程的套接字对
{*:21, *:*}
服务器子进程的套结字对
{12.168.32.254:21,
206.168.112.219:1500}
在多宿主机上,连接一旦建立,已连接套结字的本地IP地址随即写入。
4.如果有同一客户机上两个客户请求同时和一个服务器连接则连接成功时套结字的状态如下
客户
206.168.112.219
客户1{206.168.112.219:1500,
206.168.112.219:1501,
12.206.32.254:21}
客户2{206.168.112.219:1501,
12.206.32.254.21}
服务器进程
{*:21,*:*}
服务器子进程1
{12.206.32.254:21,
206.168.112.219:1500}
服务器子进程1
{12.206.32.254.21,
206.168.112.219:1501}
套接字对唯一标识一个网络上的每个TCP连接。
一个TCP连接的套接字对是定义该连接的两个端点的四元组:本地IP地址本地端口号(唯一标识一个进程,网络通信其实两台机器数两个进程之间的通信)和外地IP地址外地端口号。
连接的整个过程。
1.在主机上启动服务器
服务器是多宿主机
12.106.32.254
192.168.42.1
此时服务器有一个监听套接字
{*:21,*:*}
服务器在他众所周知的端口21上执行被动打开,从而开始等待客户的请求。
如果运行服务器的主机是多宿的,服务器可以指定它只接受到达某个特定本地接口的外来连接,要么选一个接口要么接任意接口
2.IP为206.168.112.219的主机启动第一个客户
206.168.112.219 客户ip
客户
{206.168.112.219:1500,
12.106.32.254:21}
12.106.32.254 服务器多宿,他的IP
192.168.42.1
服务器
{*:21,*:*}
客户发送到服务器21端口号的连接
3.服务器接收并接受这个客户的连接,它fork一个自身的副本,让子进程处理该客户的连接。
206.168.112.219
客户
{206.168.112.219:1500,
12.106.254.21}
12.106.32.254
192.168.42.1
服务器进程的套接字对
{*:21, *:*}
服务器子进程的套结字对
{12.168.32.254:21,
206.168.112.219:1500}
在多宿主机上,连接一旦建立,已连接套结字的本地IP地址随即写入。
4.如果有同一客户机上两个客户请求同时和一个服务器连接则连接成功时套结字的状态如下
客户
206.168.112.219
客户1{206.168.112.219:1500,
206.168.112.219:1501,
12.206.32.254:21}
客户2{206.168.112.219:1501,
12.206.32.254.21}
服务器进程
{*:21,*:*}
服务器子进程1
{12.206.32.254:21,
206.168.112.219:1500}
服务器子进程1
{12.206.32.254.21,
206.168.112.219:1501}
相关文章推荐
- C# HttpClientHelper请求
- Fiddler学习_模拟网络限速+设置接口404+地址替换+修改返回数据
- HttpUtils addHander参数进行压缩数据,
- Android DefaultHttpClient 上传文件
- jboss5可以使用http://localhost/和http://127.0.0.1/ 不可以ip访问
- swift--用 Swift 编写面向协议的网络请求
- 网络带宽
- https http请求 demo
- Tcp为什么要三次握手四次挥手
- React Native第一个Demo(2)网络获取数据和ListView
- SVN使用MySQL验证用户名密码(HTTP)
- http 返回的状态值以及Tomcat webapp的管理
- 类似restful风格的网络请求框架
- LINUX 中的 TCP/IP协议 参数详解
- TCP洪水攻击(SYN Flood)的诊断和处理
- iOS模拟网络差
- Ghost windows7系统的连接网络的情况下网络连接图标为什么显示无网络访问
- HTTPS攻击
- delphi IdHTTP实现Get方法下载文件,断点续传
- 通过HttpListener实现简单的Http服务