游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

TCP连接详解

  TCP连接建立的三次握手
  1、先提出一个问题,可以不进行三次握手直接往服务端发送数据包吗?
  是不可以的,也是可以的;
  1)不可以是因为现在的TCP连接标准和规范要求传输数据前先确认两端的状态,有一端状态不OK的话,发数据包有什么用呢;
  2)说可以是站在网络连接的角度,像UDP协议;TCP,TransmissionControlProtocol,传输控制协议,面向连接;UDP,UserDataProtocol,用户数据报协议,面向数据包;
  2、TCP三次握手
  1)标志位、随机序列号和确认序列号是在数据包的TCP首部里面;
  2)几个状态是指客户端和服务端连接过程中socket状态;
  3)第一次握手,客户端向服务端发送数据包,该数据包中SYN标志位为1,还有随机生成的序列号cseq,客户端状态改为SYNSENT;
  4)第二次握手,服务端接收到客户端发过来的数据包中SYN标志位为1,就知道客户端想和自己建立连接,服务端会根据自身的情况决定是拒绝连接,或确定连接,还是丢弃该数据包;
  拒绝连接,会往客户端发一个数据包,该数据包中RST标志位为1,客户端会报Connectionrefused;
  丢弃客户端的数据包,超过一定时间后客户端会报Connectiontimeout;
  确定连接时会往客户端发一个数据包,该数据包中ACK标志位为1,确认序列号ackcseq1,SYN标志位为1,随机序列号sseq,状态由LISTEN改为SYNRCVD;
  5)第三次握手,客户端接收到数据包会做校验,校验ACK标志位和确认序列号ackcseq1,如果确定是服务端的确认数据包,改自己的状态为ESTABLISHED,并给服务端发确认数据包;
  6)服务端接到客户端数据包,会校验ACK标志位和确认序列号acksseq1,改自己的状态为ESTABLISHED,之后就可以进行数据传输了;
  7)建立连接时的数据包是没有实际内容的,没有应用层的数据;
  8)建立连接之后发起的请求数据包,每个数据包都会封装各层协议的头部信息,标志位ACK为1,其他标志位变动;
  9)网络进程间的通信,一台服务器内部的进程间通信不用这样;
  3、TCP连接三次握手抓包
  三次握手底层逻辑
  1、Socket
  1)Socket在linux系统中是一种特殊的文件,因为linux系统的理念就是【一切皆文件】,是系统内核级的功能;
  2)以上定义比较具体,可以抽象来理解,是一个内核级的用于通信的功能层,包含一组接口函数,这些函数实际就是操作socket文件句柄文件描述符;
  一个TCP连接由四要素【源IP、源Port、目标IP、目标Port】唯一标识,也即socket由这四要素唯一确定;
  一个TCP连接的建立也就是客户端、服务端创建了相对应的一对socket,客户端和服务端之间的通信也就是这对socket间的通信(物理层面是网卡在发送接收比特流数据);
  3)一个服务与另一个服务建立连接,他们的端口是什么呢?
  客户端发出请求端口号是随机的,服务端是进程监听的端口号;
  2、socket主要函数介绍
  1、进程通信,一个进程只有一个监听socket,connectsocket是针对一个客户的一个连接的,有很多个;2、connect函数内部在发起请求前会找系统随机一个端口号;3、连接建立后,客户端发起请求传输数据,服务端会直接交给connectsocket处理,不会交给监听socket处理;
  4、监听socket在处理客户端请求时,如果此时其他客户端发请求过来,监听socket是没法处理的,此时系统会维护请求队列由backlog参数指定;
  全连接队列(completedconnectionqueue)
  半连接队列(incompleteconnectionqueue)
  Linux内核2。2版本之前,backlog的大小等于全连接队列和半连接队列之和;
  Linux内核2。2版本之后,backlog的大小之和全连接队列有关系:
  半连接队列大小由procsysnetipv4tcpmaxsynbacklog文件指定,可以开很大;
  全连接队列大小由procsysnetcoresomaxconn文件和backlog参数指定,取两个中的最小值;
  tomcatacceptCount就是配置全连接队列大小;
  3、socket函数在建立连接和数据传输的大概使用情况
  4、TCP首部结构
  1)2的16次方等于65536,所以系统中端口号的限制个数为65536,一般1024以下端口被系统占用;
  2)标志位这里是6个,还有其他标志位的,只是这6个标志位常用;
  3)seq序列号,ack确认序列号,序列号在数据传输时分包用到。三次握手时seq序列号是随机的,没有实际意义;
  4)TCP包首部后面接着的是IP包首部,再紧接着的是以太网包首部,其实都是加0101010101二进制位;
  几个常用标志位,首先一个标志位占一个bit位,只能是二进制中的1或0;
  1)SYN,简写S,请求标志位,用来建立连接。在TCP三次握手中收到带有该标志位的数据包,表示对方想与己方建立连接;
  2)ACK,简写【。】,请求确认应答标志位,用于对对方的请求进行应答,对方收到含该标志位的数据包,会知道己方存在且可用。也会用在连接建立之后,己方发送响应数据给对方的数据包中;
  3)FIN,简写F,请求断开标志位,用于断开连接。对方收到己方的含该标志位的数据包,就知道己方想与它断开连接,不再保持连接;
  4)RST,简写R,请求复位标志位,因网络或己方服务原因导致有数据包丢失,己方接收到的数据包序列号与上一个数据包的序列号不衔接,那己方会发送含该标志位的数据包告诉对方,对方接收到含该标志位的数据包就知道己方要求它重新三次握手建立连接并重新发送丢失的数据包,一般断点续传会用到该标志位;
  还有就是如果对方发过来的数据错了,有问题,己方也会发送含该标志位的数据包;
  5)PSH,简写P,推送标志位,表示收到数据包后要立即交给应用程序去处理,不应该放在缓存中,read()write()都有缓存区;
  6)URG,简写U,紧急标志位,该标志位表示tcp包首部中的紧急指针域有效,督促中间层尽快处理;
  7)ECE,在保留位中;
  8)CWR,在保留位中;
  5、TCP抓包
  TCP连接断开的四次挥手
  1)服务端会根据自身情况,没有要处理的数据时会把第二次和第三次挥手合并成一次挥手,此时标志位FIN1ACK1;
  2)MSL是MaximumSegmentLifetime缩写,指数据包在网络中最大生存时间,RFC建议是2分钟;
  详细描述:
  1)客户端、服务端都可以主动发起断开连接;
  2)第一次挥手,客户端向服务端发送含FIN1标志位的数据包,随机序列号seqm,此时客户端状态由ESTABLISHED变为FINWAIT1;
  3)第二次挥手,服务端收到含FIN1标志位的数据包,就知道客户端要断开连接,服务端会向客户端发送含ACK1标志位的应答数据包,确认序列号ackm1,此时服务端状态由ESTABLISHED变为CLOSEWAIT;
  4)客户端收到含ACK1标志位的应答数据包,知道服务端的可以断开的意思,此时客户端状态由FINWAIT1变为FINWAIT2;(第一、二次挥手也只是双方交换一下意见而已)
  5)第三次挥手,服务端处理完剩下的数据后再次向客户端发送含FIN1标志位的数据包,随机序列号seqn,告诉客户端现在可以真正的断开连接了,此时服务端状态由CLOSEWAIT变为LASTACK;
  6)第四次挥手,客户端收到服务端再次发送的含FIN1标志位的数据包,就知道服务端处理好了可以断开连接了,但是客户端为了慎重起见,不会立马关闭连接,而是改状态,且向服务端发送含ACK1标志位的应答数据包,确认序列号ackn1,此时客户端状态由FINWAIT2变为TIMEWAIT;
  等待2个MSL时间还是未收到服务端发过来的数据,则表明服务端已经关闭连接了,客户端也会关闭连接释放资源,此时客户端状态由TIMEWAIT变为CLOSED;
  也就是说TIMEWAIT状态存在时长在14分钟;
  7)服务端收到含ACK1标志位的应答数据包,知道客户端确认可以断开了,就立即关闭连接释放资源,此时服务端状态由LASTACK变为CLOSED;
  SYN洪水攻击(SYNFlood)
  是一种DoS攻击(拒绝服务攻击),大概原理是伪造大量的TCP请求,服务端收到大量的第一次握手的数据包,且都会发第二次握手数据包去回应,但是因为IP是伪造的,一直都不会有第三次握手数据包,导致服务端存在大量的半连接,即SYNRCVD状态的连接,导致半连接队列被塞满,且服务端默认会发5个第二次握手数据包,耗费大量CPU和内存资源,使得正常的连接请求进不来;

中班七彩石头路教案活动准备教师准备:每组一套胶水。抹布,彩纸,布头,蛋壳,瓜子壳。等铺路的材料若干活动过程一。讲故事导入,进入情境(边讲故事边出示多媒体课件演示故事内容)……满井游记优秀教案和课堂实录《满井游记》优秀教案【设计思路】文言文的教学不必每课都弄得特别细,尤其是自读课文,要允许学生囫囵吞枣。在整体感知文章大意的基础上,教师让学生多读读,多议议,甚至可以……大班主题神秘的昆虫教案活动的由来:我发现我班的幼儿对于各种昆虫都是非常的感兴趣,在户外时,只要有幼儿发现一只昆虫,幼儿们就会马上围上去,共同议论起来。这个学期一开学,在一次户外活动中,丁丁在滑……应用教学与探究教学案例课题:密度知识的应用一、目标:1知识与技能:会查密度表。通过实际应用加深理解密度的概念。2过程与方法:通过实验探究活动,尝试用密度知识解决简……桌面3。0我的无线化桌面改造进程对于男生的桌面而言就像是女孩子对于包的追求,永远满足不了,高岳也是这样。自从去年改造桌面开始,这个活就变成了常态。桌面的改造经历了杂乱到整洁、整洁到简洁、简洁到顺手、而这一次桌……七年级上册政治寒假作业选择题1。小明家在交通繁忙的市中心,他每天到校上学、放学回家时都必须经过车辆较多的十字路口。过马路时,小明的下列做法中不可取的是A。过马路时走斑马线B。过马路时左右看看C……只有一个地球优秀教学反思《只有一个地球》是十一册第四单元的一篇科学小品文。本单元的主题是珍惜资源,保护环境。根据单元教学目标确定本课的教学重点是通过深入文本、联系实际,明白人类的生存只有一个地球这样一……长江之歌阅读答案长江之歌你从雪山走来,春潮是你的风采;你向东海奔去,惊涛是你的气概,你用甘甜的乳汁,哺育各族儿女;你用健美的臂膀,挽起高山大海,我们赞美长江,你是……笋芽儿课文的说课稿【说教材】《笋芽儿》是人教版小学语文二年级下册中的一篇课文,这是一篇拟人体的童话散文,在作者笔下有稚嫩的笋芽儿,有温柔的春雨姑娘,有大嗓门的雷公公,还有慈爱的竹妈妈。课文……试题讲评课的教学反思考试,是初三学生经常所面对的,通过试题的检测,考查学生复习知识的掌握情况。提高学生的综合能力,同时诊断出学生中的问题,及时的信息反馈,为有效提高教学效益,提供了很好的保证。试卷……苏少版三年级音乐开心里个来教学反思《开心里个来》是一首根据江苏民歌《吴江歌》,源自宋代民歌《几家欢乐几家愁》改编的现代民歌。下面给大家分享《开心里个来》教学反思,欢迎借鉴!《开心里个来》教学反思1本学期我……英唐智控收购,大族激光自产,但华为需要的先进国产光刻机在哪里近期,关于光刻机陆续有消息传出:英唐智控在互动平台表示,其收购日企先锋微技术事项已经获得日本方面批准,引人注目的是,先锋微技术自有的生产设备中竟然包含有日产光刻机,可用于……
退出中国市场3年后Uber这样看滴滴双方良性竞争北京时间7月9日消息,与投资对象竞争还是相当罕见的,甚至在一些人看来是很奇怪的,但在Uber看来,这不仅很正常,而且必不可少。这是Uber首席技术官图安彭(ThuanPh……孜孜不倦近义词孜孜不倦,意思是工作或学习勤奋不知疲倦。通常指教师或学生工作或学习勤奋不知疲倦。那么孜孜不倦的近义词有哪些孜孜不倦词性:褒义词【解释】:孜孜:勤勉,不懈怠。指……腾讯成立开源管理办公室IT之家6月26日消息日前,腾讯对内成立了腾讯开源管理办公室,下设项目管理委员会、腾讯开源联盟和开源合规组三大组织。腾讯开源联盟主席、腾讯开源管理办公室委员堵俊平公布了腾……你好,李焕英官微发布公告延长放映时间至4月11日IT之家3月9日消息电影《你好李焕英》官微宣布,从3月15日起,延长所有版本发行放映时间至2021年4月11日23点59分。IT之家了解到,《你好,李焕英》是由贾玲自编自……开发App上传淫秽色情视频牟利,36岁IT男被抓获IT之家8月6日消息据扫黄打非消息,今年6月中旬,公安部网络安全保卫局向常州警方下发了净网2019App整治协查线索:一款名为宅男天堂的手机App软件涉嫌从事淫秽色情违法活动。……小兔找太阳幼儿园教案活动由来:幼儿特别喜欢看一些动画片,尤其是动物类的,能够运用感官观察和探究周围的事物,对周围的小动物感兴趣,喜欢模仿,喜欢做有关小动物的游戏等。活动目标:1、……李佳琦们造江湖OMG!!!在淘宝生态中繁殖的厂商们,无人不知李佳琦。三个字母,足以成为他的标签。随着直播和短视频平台的崛起,许多时尚达人正脱颖而出,依托百万级粉丝群体精准定向营销……芦花荡说课稿下面是关于八年级上册的语文课文《芦花荡》说课稿范文,希望对大家有帮助!《芦花荡》说课稿今天我说课的篇目是《芦花荡》,这篇课文位于人教版《语文》八年级上册第一单元第二……贝索斯悼念保罗183艾伦他的创造激情感染了许多人10月16日消息,据CNBC报道,美国当地时间周一下午,微软联合创始人保罗艾伦(PaulAllen)因非霍奇金淋巴瘤并发症逝世,亚马逊首席执行官杰夫贝索斯(JeffBezos)……物理楞次定律及其应用教案教学目标知识目标理解楞次定律的内容,初步掌握利用楞次定律判断感应电流方向的方法;能力及情感目标1、通过学生实验,培养学生的动手实验能力、分析归纳能力;……微信官方披露视频号上热门原则及避雷运营策略11月5日消息,11月4日,微信视频号创造营来到北京,首次披露上热门、防封等运营规则。微信讲师Charlie表示,目前进入到热门里面的视频,首先需要是原创的内容。同时,内……快手回应厕所装蹲坑倒计时为了判断需要增加移动厕所坑位的数量感谢IT之家网友嬬釹夂賓的线索投递!IT之家10月23日消息今天,有网友向IT之家投稿某公司内测蹲坑倒计时,现在快手小客服官方微博进行了回应,称这是其进行的一个测试,便于……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网