草庐IT

TCP_CORK

全部标签

使用ZMQ时,从Ubuntu 16.04到Windows 7的出站TCP流量被阻止

我有一个ZeromqPUB/SUB服务器与用Python编写的客户端之间的连接。服务器发送消息,客户端将其打印出来。这些程序在同一台计算机(Ubuntu16.04或Windows7;两者都可以工作)中工作得很好。当服务器在Windows7机器上并且客户端在Ubuntu16.04机器上时,它们也可以工作。但是,如果服务器位于Ubuntu16.04机器上,则Windows7计算机上的客户端将无法连接到它。另外,当我在两台独立的Windows7机器之间移动客户端和服务器程序时,没有通信问题。有人知道问题可能是什么吗?这是客户端代码:#BasedoncodefoundonthisStackOverfl

Linux下基于TCP协议的Socket套接字编程(客户端&服务端)入门详解

写在前面:本篇博客探讨&实践环境如下:1.操作系统:Linux2.版本(可以通过命令cat/etc/os-release查看版本信息):PRETTY_NAME=“CentOSLinux7(Core)”编程语言:C一、socket是什么?常常说socket、套接字那么socket到底指的是什么?socket本质上是一个抽象的概念,它是一组用于网络通信的API,提供了一种统一的接口,使得应用程序可以通过网络进行通信。在不同的操作系统中,socket的实现方式可能不同,但它们都遵循相同的规范和协议,可以实现跨平台的网络通信。socket的实现通信的原理是基于网络协议栈。当应用程序创建一个socket

网络原理-UDP/TCP详解

一.UDP协议UDP协议端格式由上图可以看出,一个UDP报文最大长度就是65535. •16位长度,表示整个数据报(UDP首部+UDP数据)的最大长度(注意,这里的16位UDP长度只是一个标识这个数据报长度的字段,并不是这个数据报传输的数据)•如果校验和出错,就会直接丢弃。 校验和:通过网线传输时,电信号使用高低电平来表示0和1.。但是,如果外部环境干扰,就有可能导致低电平->高电平,高电平->低电平,造成比特翻转=>数据就传输错了。校验和就是通过数据报中的数据内容通过计算得到的。值得注意的是:如果校验和不对,此时你的数据一定不对,如果校验和对,但是数据也有一定概率是错误的。面向数据报:应用层

TCP四次挥手

目录什么是TCP四次挥手? TCP四次挥手过程是怎样的?为什么挥手需要四次?第一次挥手丢失了,会发生什么?第二次挥手丢失了,会发生什么?接收到第二次挥手后的两种场景第三次挥手丢失了,会发生什么?第四次挥手丢失了,会发生什么?为什么TIME_WAIT等待的时间是2MSL?为什么需要TIME_WAIT状态?TIME_WAIT过多有什么危害?服务器出现大量TIME_WAIT状态的原因有哪些?如何优化TIME_WAIT?服务器出现大量CLOSE_WAIT状态的原因有哪些?​什么是TCP四次挥手? 我们知道TCP协议是有连接的,可靠性传输,全双工,面向字节流的传输层协议,使用TCP协议在客户端和发送端传

分布式 - 服务器Nginx:一小时入门系列之TCP反向代理和负载均衡

文章目录1.HTTP反向代理和TCP反向代理2.http块和stream块3.TCP反向代理配置4.TCP负载均衡1.HTTP反向代理和TCP反向代理Nginx可以作为HTTP反向代理和TCP反向代理。HTTP反向代理是指Nginx作为Web服务器的代理服务器,接收客户端的HTTP请求,然后将请求转发给后端的Web服务器,最后将Web服务器的响应返回给客户端。这种方式可以实现负载均衡、缓存、SSL终止等功能。TCP反向代理是指Nginx作为TCP服务器的代理服务器,接收客户端的TCP连接请求,然后将请求转发给后端的TCP服务器,最后将TCP服务器的响应返回给客户端。这种方式可以实现负载均衡、高

有趣的 TCP 抢带宽行为

昨天发了一篇非技术文章,很多人找我讨论,浓缩成一句话,就是“死道友而不死贫道”,我的简历上写着这些把戏能带来什么,我的blog上写着这么做是多么无耻,哈哈。看看共享链路上如何挤占带宽:如果B倔强地也要保住自己在start点的bw怎么办?假设B确实通过inflateinflight保住了自己原来的bw,A又不服又要抢回来怎么办?来看看这个过程:多流均保带宽的代价是高昂的。丢包导致每一个脉冲的能耗白白浪费,而排队延时则意味着存储器的能耗。保带宽的结果,损人不利己,这里就解释了。看个有趣的:RelentlessCongestionControl如果放宽算法的公平性约束,抢带宽,让带宽就自然多了,非常

TCP协议详解

TCP(TransmissionControlProtocol,传输控制协议)是互联网中的一种面向连接的、可靠的、基于字节流的传输层通信协议。它提供了点对点的通信,并且可靠地传递数据。TCP是Internet协议族中最为重要、应用最为广泛的一种协议。一、TCP协议基础1.1、TCP协议特点TCP协议最主要的特点如下:面向连接:应用程序在使用TCP协议之前,必须先建立TCP连接。可靠性:TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复,并且按序到达。如果数据包丢失或出现差错,则TCP负责重发数据。有序性:TCP能够把发送的数据划分成一个个数据块,编号后发送,接收方根据编

TCP/IP网络编程(1)——基于TCP的服务端和客户端的简单实现

目录前言一、服务器端函数1.创建套接字函数socket2.套接字绑定地址函数bind3.等待连接请求函数listen4.处理连接请求函数accept5.关闭套接字函数close二、客户端函数1.请求连接函数connect三、完整代码四、基于TCP的半关闭shutdown五、套接字可选项getsockopt&setsockopt 前言本系列是阅读尹圣雨所著TCP/IP网络编程一书的学习笔记,我将记录一些关键知识和遇到的问题,在最后能够自己搭建一个简易的服务器。本文主要介绍TCP服务端和客户端的一些关键函数一、服务器端函数1.创建套接字函数socketintsocket(intdomain,int

Linux网络-UDP/TCP协议详解

Linux网络-UDP/TCP协议详解2023/10/1714:32:49Linux网络-UDP/TCP协议详解零、前言一、UDP协议二、TCP协议1、应答机制2、序号机制3、超时重传机制4、连接管理机制三次握手四次挥手5、理解CLOSE_WAIT状态6、理解TIME_WAIT状态7、流量控制8、滑动窗口丢包问题9、拥塞控制10、延迟应答11、捎带应答12、面向字节流13、粘包问题14、TCP异常情况14、TCP异常情况零、前言本章主要讲解传输层协议UDP及TCP相关的内容一、UDP协议UDP协议端格式:说明:16位源端口号:表示数据从哪里来16位目的端口号:表示数据要到哪里去16位UDP长度

详解TCP、HTTP中的保活机制 | Keepalive和Keep-Alive

目录🌲HTTP的Keep-Alive🌲TCP的Keepalive🌲最后总结🌲参考资料TCP的Keepalive和HTTP的Keep-Alive是一个东西吗?这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西。事实上,这两个完全是两样不同东西,实现的层面也不同:HTTP的Keep-Alive,是由应用层(用户态) 实现的,称为HTTP长连接;TCP的Keepalive,是由 TCP层(内核态) 实现的,称为TCP保活机制;接下来,分别说说它们。🌲HTTP的Keep-AliveHTTP协议采用的是「请求-应答」的模式,也就是客户端发起了请求,服务端才会返回响应