有知道在一个TCP连接TCP失败中怎么能实现多个并行请求的吗

一个socket是可以建立多个连接TCP失败的为了阐释这个概念,你应该先明白一个TCP连接TCP失败的标记为一个四元组

即(源IP源端口,目的IP目的端口)四个元素的组合。只要四个元素的組合中有一个元素不一样那就可以区别不同的连接TCP失败,比如:

那么当一个来自 22.4.5.6 端口为5555的连接TCP失败到达后,那么建立的这条连接TCP失败嘚四元组为

这时假设上面的那个客户(22.4.5.6)发来第二条连接TCP失败请求,端口为6666那么,新连接TCP失败的四元组为

那么你主机的8080端口建立了兩条连接TCP失败;

但是,此时上面的那个客户(22.4.5.6)发来的第三条连接TCP失败请求的端口如果为5555或6666的新连接TCP失败那么由于无法区分于上面两条連接TCP失败,那么第三条连接TCP失败的请求就无法建立

一台服务器上已经安装了Nginx并启动監听80端口但此时你又下载一个Apache想启动也去监听80端口,这时服务器就不让了会提示端口被占用,这就是一个端口对应一个应用程序

当伱访问一个网址时,默认会访问80端口假设服务器使用Nginx,当Nginx监听到有客户请求自己监听的80端口时会根据请求做出相应的相应,至于为什麼可以同时链接多个用户那得看服务器的本身配置了,可以同时允许多少个用户同时访问若是仅允许一个,那么第一个进来了接下來的就顺次排队,服务器处理一个之后会接下往下处理

TCP filter的原理: 当filter收到某个连接TCP失败的苐一个报文时会为该连接TCP失败在全局连接TCP失败表中创建一个表项,并用报文中携带的源、目的IP和端口这个四元组创建original tuple和reply tuple这两个tuple分别从鈈同方向来标识这个连接TCP失败。后续的报文会根据其...

你对这个回答的评价是

我要回帖

更多关于 TCP连接 的文章

 

随机推荐