TCP协议的主要功能有哪些,你真的了解吗?,罗村seo平台

哎, 说起这个TCP协议啊,我一开始听人家讲,觉得特复杂,什么传输层啊,面向连接啊,听得我头dou大了。后来吧,我就寻思,这玩意儿不就是电脑之间传东西的规矩嘛,跟人说话得讲道理一样,对吧?你想想,你要是跟人说话,东一榔头西一棒子,人家Neng听懂吗?肯定不Neng啊,suo以TCP协议就是让电脑之间说话有规矩,别瞎传。那它具体dou有哪些功Neng呢?今天我就瞎掰扯掰扯,说得不对的地方,您多担待,反正我也不是专家,就是个普通网友,懂点皮毛。

TCP到底是啥?先搞明白它是干啥的

TCP啊,全称叫“传输控制协议”,名字挺长,其实就是个管传输的。它属于那个什么TCP/IP协议族里的一层,叫传输层,对,就是跟IP协议搭伙干活的那个IP。IP协议负责把东西从A点送到B点, 但送没送到,送得对不对,IP不管,它就负责送,像个快递员,只管扔包裹,不管包裹坏没坏。TCP呢,就负责管这个包裹有没有坏,有没有少,顺序对不对,对吧?suo以说TCP是个“操心命”,啥dou要管,不像IP那么“粗心”。没有TCP的话, 咱们上网kan网页、传文件、发邮件,那可就乱套了说不定你打开淘宝,图片一半是黑的,文字顺序反着来那得多闹心啊,累并充实着。。

造起来。 哦,对了昨天我吃了个苹果,可甜了跟你说这个干啥?哎呀,说着说着跑题了咱还是说TCP。TCP吧,它跟人一样,Zuo事得有步骤,不Neng上来就干,得先打招呼,对吧?就像你要去朋友家,总不Neng直接推门就进去吧?得先敲门,朋友说“请进”,你才Neng进去,TCP也是这个理儿。

1. 先搭桥再过河——建立传输链接这回事

TCP啊, 它有个特点叫“面向连接”,啥意思呢?就是说 它要传数据之前,必须先跟对方“建个连接”,就像两个人打 这三次握手具体是啥呢?我听人家说 次是客户端再回个“ACK”包,意思是“收到了那咱就开始传数据吧!”你kan, 多麻烦,但没办法,规矩就是规矩,不这么干,两边dou不知道对方在不在万一你这边说着话,那边人早走了那不白说了嘛。建完连接之后 数据就Neng传了传完了呢,还得“断开连接”,也跟打 2. 东西丢了得找回来——可靠数据传输这功Neng 网络这玩意儿, 有时候不太靠谱,就跟咱们的手机信号一样,有时候满格,有时候一格dou没有,对吧?信号不好的时候,你打 本质上... 它是怎么保证的呢?我琢磨着,大概有这么几招。第一招,给每个数据包编个号,就像咱们寄快递,每个包裹dou有个单号,这样收件人就知道有没有少包裹。TCP也是 它把要传的数据切成一段一段的,每一段dou编个号,比如第1段、第2段、第3段……发出去的时候,把这些编号也带上。接收方收到之后 就按编号顺序排,要是发现少了一段,比如第2段没收到,就告诉发送方“第2段我没收到,再发一遍”,发送方就把第2段重新发一遍,这样就不会少了。 第二招,确认机制。发送方发完一段数据, 就等着接收方回话,说“收到了”,要是等了好一会儿dou没回,huo者回话说“没收到”,发送方就知道这段数据可Neng丢了huo者坏了就再发一遍。这就像你递东西给别人, 看好你哦! 你说“给你”,对方得说“谢谢”,你要是没听见对方说“谢谢”,你可Neng就会再递一遍,对吧?TCP就是这么个道理,只不过它是电脑跟电脑之间对话,咱们人听不见而Yi。 还有一招,就是检查数据坏没坏。TCP会在数据包里加个“校验和”,就像咱们买东西,要kankan数量对不对,质量好不好。发送方发数据之前, 算个校验和,跟数据一起发过去,接收方收到之后也算一遍校验和,跟发过来的对比,要是对不上,就说明数据坏了接收方就告诉发送方“坏了重发”,发送方就重新发。这样一来就算网不好,数据也不会丢,也不会坏,Neng完整地送到接收方手里。你说TCP是不是挺靠谱的?不像UDP, 那玩意儿不管这些,发了就不管了丢不丢、坏不坏它dou不管,suo以UDP适合传那些丢了也没关系的东西, 一句话。 比如视频通话,有时候卡一下、花一下也没啥,反正下一帧就来了但TCP就不行,传文件、发邮件,那可不Neng丢,丢了就麻烦了suo以得用TCP。 3. 别发太快, 对方接不住——流量控制这回事 你想啊,发送方和接收方的电脑性Neng可Neng不一样,有的电脑配置高,处理数据快;有的电脑配置低,处理数据慢。网络带宽也不一样,有的网快,光纤的;有的网慢,像以前的拨号上网,蜗牛爬一样。要是发送方不管不顾,一个劲儿地发数据,发得飞快,接收方处理不过来那数据不就堆在那儿了吗?就像你递东西给别人,你一次拿十个,对方两只手,怎么接得住啊?肯定得掉地上,对吧?TCP就考虑到了这个问题,suo以有个“流量控制”的功Neng,别让发送方发得太快,得跟接收方的处理速度匹配。 它是怎么控制的呢?TCP用了个叫“滑动窗口”的机制。啥是滑动窗口呢?我给你打个比方, 比如接收方一次Neng处理10个数据包,它就会告诉发送方“我的窗口大小是10,你一次Zui多发10个包过来”。发送方就根据这个窗口大小来发, 发完10个,就等接收方处理完,告诉发送方“我处理完了再发10个吧”,ran后再发10个。这样就像咱们坐公交车, 一趟车Neng装10个人,等10个人上去了车开了下一趟再来接,不会一下子挤上来100个人,把车给挤爆了对吧?TCP的这个滑动窗口,就是控制数据包的“流量”,不让接收方“堵车”,精神内耗。。 要是发送方发现接收方的窗口变小了 比如接收方那边忙,处理速度慢了窗口从10变成5了发送方就会赶紧把发送速度降下来一次只发5个。要是接收方窗口变成0了 就是处理不过来了一个dou不要了发送方就得停下来等着接收方说“行了我Neng处理了窗口又变大了”,ran后再继续发。这样就Neng保证接收方不会主要原因是数据太多而处理不过来避免了数据丢失,也保护了接收方的性Neng。你说TCP想得是不是特周到?不像有些协议,只管自己发得爽,不管别人Neng不Neng接得住那也太不德行了。 4. 网路堵车了怎么办?拥塞控制来帮忙 不光是接收方可Neng处理不过来整个网络也可Neng“堵车”。比如大家dou用网的时候, kan视频、打游戏、传文件,网上的数据包一下子就多了起来跟上下班高峰期的高速公路一样,堵得水泄不通,这时候数据包在网里跑得慢, 一阵见血。 还容易丢包。TCP也有个“拥塞控制”的功Neng, 就是防止网络堵车,要是发现网络有点堵了就赶紧减速,别再往里面塞数据包了不然就geng堵了。 拥塞控制比流量控制还复杂一点,它不是只kan接收方,而是kan整个网络的情况。TCP怎么知道网络堵不堵呢?主要是tong过kan有没有丢包,要是丢包了就说明网络可Neng堵了主要原因是网络不堵的时候, 捡漏。 数据包一般不会丢。还有,要是数据包回来的时间变长了也说明网络可Neng堵了主要原因是堵车了车跑得就慢了对吧? TCP的拥塞控制有好几个阶段, 什么“慢开始”、“拥塞避免”、“快重传”、“快恢复”,听着就头大,我也搞不太清楚具体是咋回事。大概的意思就是 刚开始传数据的时候,TCP不敢一下子发太多,先少发点,kankan网络顺不顺,要是不顺,就赶紧减量;要是顺,就慢慢加量,就像咱们开车刚上高速,不敢开太快,先开60,kankan路况好,再慢慢加到100。要是发现丢包了就说明堵了就赶紧把发送的量降下来等网络不堵了再慢慢恢复。这样就Neng保证整个网络的稳定,不会主要原因是某个连接发太多数据而把整个网给搞瘫痪了。要是没有拥塞控制,大家dou拼命发数据,那网可就真的“堵死了”,谁dou上不去网了那麻烦就大了。 TCP协议dou用在哪了?咱天天dou在用 说了这么多TCP的功Neng,那它到底dou用在哪了呢?你可Neng没注意,其实咱天天上网,dou在用TCP。比如你kan网页, 用的HTTPhuo者HTTPS协议,它们dou是基于TCP的,你打开淘宝、百度、知乎,背后dou是TCP在传数据,要不是TCP可靠,你kan到的网页可Neng就是东一块西一块,文字跟图片对不上,那还怎么kan啊? 还有传文件, 比如FTP协议,也是基于TCP的,你要是从网盘下载个电影,huo者上传个文件到QQ邮箱,dou是靠TCP,要是文件传到一半丢了那电影就kan不了了文件也得重新传多麻烦啊。再有就是发邮件, SMTP协议和POP3协议,也dou是基于TCP的,你发邮件给朋友,朋友Neng不Neng收到,就靠TCP了要是邮件丢了朋友还以为你没发呢,多误会啊。 除了这些, 还有hen多协议dou是基于TCP的,比如远程登录用的Telnet,文件共享用的SMB,甚至你玩的一些网络游戏,要是要求实时性不高,数据不Neng丢的,也可Neng用TCP。suo以说TCP协议是互联网的“幕后英雄”,它不显山不露水,但没了它,互联网就玩不转了。你想想, 要是没有TCP,咱们的上网体验得有多差啊,网页打不开,文件传不了邮件发不出去,那不回到原始社会了嘛。 哦, 对了我还听说过UDP协议,跟TCP有点像,但UDP是不面向连接的,也不保证可靠,传得快但不靠谱。suo以UDP一般用在那些对实时性要求高, 但对丢包不敏感的地方,比如视频会议、语音通话、在线游戏,这些场合有时候丢个包, 优化一下。 画面卡一下声音断一下影响不大,但要是用TCP,主要原因是要保证可靠,可Neng会慢一点,体验反而不好。suo以TCP和UDP各有各的用处,就像咱们出门,有时候坐公交车,有时候骑共享单车,kan情况呗。 一下TCP到底有啥用 说了这么多,我也累了咱一下吧。TCP协议的主要功Neng啊, 大概就是这么几样:第一,先建立连接,再传数据,就像打 这些功Nengkan着挺多,也挺复杂,但其实就是为了让数据在网里传得稳、传得准、传得顺畅。没有TCP的话,互联网就不是现在这个样子了可Neng还是个“原始人”,啥也干不了。suo以说TCP协议真的hen重要,是互联网的基石之一。虽然它有点“事儿多”, 建个连接要三次握手,断个连接要四次挥手,还要各种确认、校验、控制,但这些dou是为了确保数据Neng可靠传输,没办法,谁让网络这玩意儿不太靠谱呢,只Neng靠TCP来“操心”了。 反正我现在算是明白了 TCP协议就是个大管家, 出道即巅峰。 把数据传输的方方面面dou管到了从开始到结束,从速度到质量,dou给它安排得明明白白。下次再有人问你TCP有啥功Neng,你就可yi跟他这么说虽然我可Neng说得不太专业,但大概意思是对的,对吧?行了不说了我得去刷视频了刚才光顾着说TCP,dou忘了时间了哎,这人一老,记性就不好,唉。 再说说再说一句, 要是你觉得我说得不对,huo者有啥补充的,欢迎在下面评论,咱们一起交流,反正我也就是随便说说别当真啊。对了今天天气不错,你们那儿天气怎么样?我这儿挺晴朗的,适合出去玩,不过我还是在家写文章,唉,命苦啊,不说了拜拜。