什么是协议

计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议 (protocol).

由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。
通常的做法是即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户端长时间无法收到服务器的回复,则认为网络已经断开。

HTTP协议,通常来说是建立在TCP之上的应用,之所以用“通常”,是因为HTTP协议中,并没有规定必须使用TCP/IP协议或支持TCP/IP协议支持的层。事实上,HTTP可以在任何互联网协议上,或其他网络上实现。HTTP假定其下层协议提供可靠的传输。因此,任何能够提供这种保证的协议都可以被其使用。因此也就是其在TCP/IP协议族使用TCP作为其传输层。

HTTP协议是在TCP协议之上的,所以建立一个HTTP连接就需要一次三次握手的过程。

建立TCP需要三次握手才能建立,而断开连接则需要四次挥手

首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。

什么是SOCKET

套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。

应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。

socket则是对TCP/IP协议的封装,Socket 只是个接口不是协议,通过 Socket 我们才能使用 TCP/IP 协议,除了 TCP,也可以使用 UDP 协议来传递数据。

原文链接:https://blog.csdn.net/guyan0319/article/details/79404216

什么是TCP

TCP是一个协议,那这个协议是如何定义的,它的数据格式是什么样子的呢?要进行更深层次的剖析,就 需要了解,甚至是熟记TCP协议中每个字段的含义

https://blog.csdn.net/hayre/article/details/103041478?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164299222116780264040863%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164299222116780264040863&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-103041478.first_rank_v2_pc_rank_v29&utm_term=%E4%BB%80%E4%B9%88%E6%98%AFTCP&spm=1018.2226.3001.4187
原文链接:https://blog.csdn.net/weixin_40462235/article/details/79840355

TCP/IP–计算机网络 | 一文搞懂什么是TCP/IP协议


我们需要知道TCP工作在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP 在第二层——Data Link层;在第二层上的数据,我们把它叫Frame,在第三层上的数据叫Packet,第四层的数 据叫Segment。 同时,我们需要简单的知道,数据从应用层发下来,会在每一层都会加上头部信息,进行 封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和解封 装的过程

原文链接:https://blog.csdn.net/weixin_40462235/article/details/79840355

https://blog.csdn.net/petterp/article/details/102779131?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164298924716781685349506%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164298924716781685349506&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-102779131.first_rank_v2_pc_rank_v29&utm_term=%E4%BB%80%E4%B9%88%E6%98%AFTCP%2FIP&spm=1018.2226.3001.4187

什么是协议 什么是SOCKE以及TSOCKET底层原理 什么是TCP/IP 什么是TCP协议 什么是UDP协议 TCP报文包括哪些字段 每个字段分别有哪些作用相关推荐

  1. 前端学习(1856)vue之电商管理系统电商系统之安装mysql出现mysql报错:Can’t start server: Bind on TCP/IP port: 通常每个套接字地址(协议/网络地址

    2020-07-26T11:44:29.778919Z 0 [ERROR] [MY-010262] [Server] Can't start server: Bind on TCP/IP port: ...

  2. TCP/IP 中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议

    原文地址:http://hi.baidu.com/albyuyrgqgbbhoq/item/65006d2d002ab33195f62ba1 TCP/IP(Transmission Control P ...

  3. Linux网络编程(网络七层协议,TCP/IP,三次握手四次挥手,TCP/UDP的区别)

    1.OSI 7层网络模型 1.网络七层协议 (1)OSI定义了网络互连的七层框架(物理层.数据链路层.网络层.传输层.会话层.表示层.应用层),即ISO开放互连系统参考模型. (2)各层功能定义 这里 ...

  4. TCP/IP、 IPX/SPX、 NetBEUI、 AppleTalk协议

    TCP/IP. IXP/SPX. NetBEUI. AppleTalk的认识: TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. 它包含了一系列构成互联网基础的网络协议.这些协议最早发源 ...

  5. TCP/IP、 IXP/SPX、 NetBEUI、 AppleTalk协议

    TCP/IP. IXP/SPX. NetBEUI. AppleTalk的认识: TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列. 它包含了一系列构成互联网基础的网络协议.这些协议最早发源 ...

  6. TCP/IP详解阅读笔记(一):TCP协议

    作者: remcarpediem 联系方式:segmentfault,csdn,简书 本文转载请注明作者.文章来源,链接,版权归作者所有.  前段时间提交了本科毕业论文,这段时间特别空闲,于是希望研究 ...

  7. osi七层协议和tcp/ip四层协议

    (大部分内容为转载) OSI(Open System Interconnection)是一个开放性的通行系统互连参考模型,他是一个定义的非常好的协议规范,共包含七层协议.OSI七层协议是由ISO (I ...

  8. OSI与TCP/IP协议区别

    1 OSI参考模型 谈到网络不能不谈OSI参考模型,虽然OSI参考模型的实际应用意义不是很大,但其的确对于理解网络协议内部的运作很有帮助,也为我们学习网络协议提供了一个很好的参考.在现实网络世界里,T ...

  9. TCP/IP协议簇简介

    参考: https://blog.csdn.net/wuzhiwei549/article/details/105965493 https://blog.csdn.net/weixin_4419896 ...

最新文章

  1. java input 数组_Java基础之:数组
  2. 媒体播放控件的引入 0131
  3. PIXIV 爬取国际前100名代码
  4. 如何提高lstm的预测精度_如何提高失重秤的喂料精度?你需要了解这些!
  5. SAP License:BWBCS学习笔记
  6. 超详细的Git提交规范引入指南
  7. 交叉学习验证 西瓜书_机器学习:数据划分与交叉验证
  8. Mysql binlog入门
  9. 前端基础学习之CSS选择器
  10. 最新Java面试题,常见面试题及答案汇总
  11. android随机小球碰撞(一)边界检测
  12. Ray Tune模型调参:以一个简单的二分类模型为例
  13. 悼念《人月神话》作者 Fred Brooks
  14. sd卡格式化fat32格式_如何在Windows上使用FAT32格式化大于32GB的USB驱动器
  15. PS轻松打造低多边形风格图像
  16. A ArrayLink for JavaME
  17. 声散射 matlab,一种基于声波散射的高强度聚焦超声声场测量方法与流程
  18. 继承QGraphicsObject自定义图元
  19. everything + searchreplace 联合搜索
  20. AD中PCB的各层名称及含义

热门文章

  1. 鼠标右键不能单元测试
  2. 如何做好一个TeamLeader,欢迎留言探讨
  3. C# 访问修饰符含义与注意事项
  4. 复用和多址,手画一张图带你学习五种复用技术和四种多址技术及其区别
  5. 我骑方轮车笑对坑洼人生
  6. 百度地图坐标在地图上发生偏移
  7. 裕太微科创板上市:市值186亿 华为与小米基金是股东
  8. Recyclerview中最后一个可见Item的位置以及是否滑动到底部
  9. 分享一些常用的 JS 基础面试题
  10. CreateFile 总是调用错误的解决办法