精华内容
下载资源
问答
  • 使用TCP协议哪些使用UDP的协议哪些
    万次阅读
    2019-06-13 10:59:00

    使用TCP的协议有哪些?使用UDP的协议有哪些?

    运行于TCP协议之上的协议:

    HTTP协议:超文本传输协议,用于普通浏览

    HTTPS协议:安全超文本传输协议,身披SSL外衣的HTTP协议

    FTP协议:文件传输协议,用于文件传输

    POP3协议:邮局协议,收邮件使用

    SMTP协议:简单邮件传输协议,用来发送电子邮件

    Telent协议:远程登陆协议,通过一个终端登陆到网络

    SSH协议:安全外壳协议,用于加密安全登陆,替代安全性差的Telent协议

     

    运行于UDP协议之上的协议:

    DHCP协议:动态主机配置协议,动态配置IP地址

    NTP协议:网络时间协议,用于网络时间同步

    BOOTP协议:引导程序协议,DHCP协议的前身,用于无盘工作站从中心服务器上获取IP地址

     

    posted @ 2019-06-13 10:59 Y先森0.0 阅读( ...) 评论( ...) 编辑 收藏
    更多相关内容
  • TCP协议是什么,TCP协议适用场景

    千次阅读 2022-01-25 10:08:16
    应用程序使用TCP之前必须先建立TCP连接。TCP通过校验、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。 TCP协议的特点: 1.TCP协议是一种面向连接的,可靠的字节流服务。在进行数据传输...

    TCP中文名:传输控制协议(Transmission Control Protocol),是一种面向连接的、可靠的、基于字节流的传输层通讯协议,由IETF的RFC 793定义。应用程序在使用TCP之前必须先建立TCP连接。TCP通过校验、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。
    TCP协议的特点:
    1.TCP协议是一种面向连接的,可靠的字节流服务。在进行数据传输之前必须建立连接,就比如打电话,只有在对方接通后才能开始对话。建立连接的方法是“三次握手”。
    2.可靠性高。在TCP的传输中,当数据到达接受主机时,接受段主机返回一个已收到的通知,这就叫确认应答。但若在一定时间内没有收到确认应答,发送段会认为数据丢失,重新发送数据。
    3.流量控制。数据通信双方的发送能力和接受能力不一定完全匹配,如果发送方发送速率过快,会导致接收方处理不过来,这时候接收方只能吧处理不过来的数据存在缓存区里。TCP使用滑动窗口机制来实现流量控制,通过动态改变窗口大小控制拥堵。
    4.TCP是只支持一对一,仅有两方之间通信,不像UDP那样支持一对多或多对多,所以TCP提供不了广播和多播的功能。
    5.面向字节流。TCP不像UDP那样一个个报文独立的传输,而是在不保留报文边界的情况下以字节流方式进行传输。
    6.首部最小20字节,最大60字节。

    TCP协议适用于要求可靠传输的应用,例如文件传输,网络数据库,分布式高精度计算系统的数据传输。

     

    展开全文
  • 【网络编程】TCP 网络应用程序开发

    千次阅读 2021-11-25 15:56:03
    【网络编程】TCP 网络应用程序开发TCP 网络应用程序开发流程1. TCP 网络应用程序开发流程的介绍2. TCP 客户端程序开发流程的介绍3. TCP 服务端程序开发流程的介绍4. 小结TCP 客户端程序开发1. 开发 TCP 客户端程序...

    TCP 网络应用程序开发流程

    1. TCP 网络应用程序开发流程的介绍

    TCP 网络应用程序开发分为:

    • TCP 客户端程序开发
    • TCP 服务端程序开发

    说 明:

    客户端程序是指运行在 用户设备上的程序 服务端程序是指运行在 服务器设备上的程序,专门为客户端提供数据服务。

    2. TCP 客户端程序开发流程的介绍

    在这里插入图片描述

    步骤说明:

    1. 创建客户端套接字对象
    2. 和服务端套接字建立连接
    3. 发送数据
    4. 接收数据
    5. 关闭客户端套接字

    3. TCP 服务端程序开发流程的介绍

    在这里插入图片描述

    步骤说明:

    1. 创建服务端端套接字对象
    2. 绑定端口号
    3. 设置监听
    4. 等待接受客户端的连接请求
    5. 接收数据
    6. 发送数据
    7. 关闭套接字

    4. 小结

    1. TCP 网络应用程序开发分为 客户端程序开发服务端程序开发
    2. 主动发起建立连接请求的是客户端程序
    3. 等待接受连接请求的是服务端程序、

    TCP 客户端程序开发

    学习目标

    • 能够写出 TCP 客户端应用程序发送和接收消息

    1. 开发 TCP 客户端程序开发步骤回顾

    1. 创建客户端套接字对象
    2. 和服务端套接字建立连接
    3. 发送数据
    4. 接收数据
    5. 关闭客户端套接字

    2. socket 类的介绍

    导入 socket 模块 import socket

    创建客户端 socket 对象 socket.socket(AddressFamily, Type)

    参数说明:

    • AddressFamily 表示IP地址类型, 分为TPv4和IPv6
    • Type 表示传输协议类型

    方法说明:

    • connect((host, port)) 表示和服务端套接字建立连接, host是服务器ip地址,port是应用程序的端口号
    • send(data) 表示发送数据,data是二进制数据
    • recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度

    3. TCP 客户端程序开发示例代码

    import socket
    
    if __name__ == '__main__':
        # 创建tcp客户端套接字
        # 1. AF_INET:表示ipv4
        # 2. SOCK_STREAM: tcp传输协议
        tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 和服务端应用程序建立连接
        tcp_client_socket.connect(("192.168.131.62", 8080))
        # 代码执行到此,说明连接建立成功
        # 准备发送的数据
        send_data = "你好服务端,我是客户端小黑!".encode("gbk")
        # 发送数据
        tcp_client_socket.send(send_data)
        # 接收数据, 这次接收的数据最大字节数是1024
        recv_data = tcp_client_socket.recv(1024)
        # 返回的直接是服务端程序发送的二进制数据
        print(recv_data)
        # 对数据进行解码
        recv_content = recv_data.decode("gbk")
        print("接收服务端的数据为:", recv_content)
        # 关闭套接字
        tcp_client_socket.close()
    

    执行结果:

    b'hello'
    接收服务端的数据为: hello
    

    说明

    1. str.encode(编码格式) 表示把字符串编码成为二进制
    2. data.decode(编码格式) 表示把二进制解码成为字符串
    

    网络调试助手充当服务端程序:

    在这里插入图片描述

    4. 小结

    1. 导入socket模块

    2. 创建TCP套接字’socket’

      • 参数1: ‘AF_INET’, 表示IPv4地址类型
      • 参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型
    3. 发送数据’send’

      • 参数1: 要发送的二进制数据, 注意: 字符串需要使用encode()方法进行编码
    4. 接收数据’recv’

      • 参数1: 表示每次接收数据的大小,单位是字节
    5. 关闭套接字’socket’表示通信完成

    TCP服务端程序开发

    学习目标

    • 能够写出TCP服务端应用程序接收和发送消息

    1. 开发 TCP 服务端程序开发步骤回顾

    1. 创建服务端端套接字对象
    2. 绑定端口号
    3. 设置监听
    4. 等待接受客户端的连接请求
    5. 接收数据
    6. 发送数据
    7. 关闭套接字

    2. socket 类的介绍

    导入 socket 模块:
    import socket

    创建服务端 socket 对象 :
    socket.socket(AddressFamily, Type)

    参数说明:

    • AddressFamily 表示IP地址类型, 分为TPv4和IPv6
    • Type 表示传输协议类型

    方法说明:

    • bind((host, port)) 表示绑定端口号, host 是 ip 地址,port 是端口号,ip 地址一般不指定,表示本机的任何一个ip地址都可以。
    • listen (backlog) 表示设置监听,backlog参数表示最大等待建立连接的个数。
    • accept() 表示等待接受客户端的连接请求
    • send(data) 表示发送数据,data 是二进制数据
    • recv(buffersize) 表示接收数据, buffersize 是每次接收数据的长度

    3. TCP 服务端程序开发示例代码

    import socket
    
    if __name__ == '__main__':
        # 创建tcp服务端套接字
        tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 设置端口号复用,让程序退出端口号立即释放
        tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True) 
        # 给程序绑定端口号
        tcp_server_socket.bind(("", 8989))
        # 设置监听
        # 128:最大等待建立连接的个数, 提示: 目前是单任务的服务端,同一时刻只能服务与一个客户端,后续使用多任务能够让服务端同时服务与多个客户端,
        # 不需要让客户端进行等待建立连接
        # listen后的这个套接字只负责接收客户端连接请求,不能收发消息,收发消息使用返回的这个新套接字来完成
        tcp_server_socket.listen(128)
        # 等待客户端建立连接的请求, 只有客户端和服务端建立连接成功代码才会解阻塞,代码才能继续往下执行
        # 1. 专门和客户端通信的套接字: service_client_socket
        # 2. 客户端的ip地址和端口号: ip_port
        service_client_socket, ip_port = tcp_server_socket.accept()
        # 代码执行到此说明连接建立成功
        print("客户端的ip地址和端口号:", ip_port)
        # 接收客户端发送的数据, 这次接收数据的最大字节数是1024
        recv_data = service_client_socket.recv(1024)
        # 获取数据的长度
        recv_data_length = len(recv_data)
        print("接收数据的长度为:", recv_data_length)
        # 对二进制数据进行解码
        recv_content = recv_data.decode("gbk")
        print("接收客户端的数据为:", recv_content)
        # 准备发送的数据
        send_data = "ok, 问题正在处理中...".encode("gbk")
        # 发送数据给客户端
        service_client_socket.send(send_data)
        # 关闭服务与客户端的套接字, 终止和客户端通信的服务
        service_client_socket.close()
        # 关闭服务端的套接字, 终止和客户端提供建立连接请求的服务
        tcp_server_socket.close()
    

    执行结果:


    客户端的ip地址和端口号: (‘172.16.47.209’, 52472)
    接收数据的长度为: 5
    接收客户端的数据为: hello

    说明:

    当客户端和服务端建立连接后, 服务端程序退出后端口号不会立即释放,需要等待大概1-2分钟。

    解决办法有两种:

    1. 更换服务端端口号
    2. 设置端口号复用(推荐大家使用),也就是说让服务端程序退出后端口号立即释放。

    设置端口号复用的代码如下:

    # 参数1: 表示当前套接字
    # 参数2: 设置端口号复用选项
    # 参数3: 设置端口号复用选项对应的值
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    


    网络调试助手充当客户端程序:

    在这里插入图片描述

    4. 小结

    1. 导入socket模块
    2. 创建TCP套接字’socket’
    • 参数1: ‘AF_INET’, 表示IPv4地址类型
    • 参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型
    1. 绑定端口号’bind’
    • 参数: 元组, 比如:(ip地址, 端口号)
    1. 设置监听’listen’
    • 参数: 最大等待建立连接的个数
    1. 等待接受客户端的连接请求’accept’
    2. 发送数据’send’
    • 参数: 要发送的二进制数据, 注意: 字符串需要使用encode()方法进行编码
    1. 接收数据’recv’
    • 参数: 表示每次接收数据的大小,单位是字节,注意: 解码成字符串使用decode()方法
    1. 关闭套接字’socket’表示通信完成

    加油!

    感谢!

    努力!

    展开全文
  • 一、基于TCP应用协议有:SMTP、TELNET、HTTP、FTP 基于UDP的应用协议:DNS、TFTP(简单文件传输协议)、RIP(路由选择协议)、DHCP、BOOTP(是DHCP的前身)、IGMP(Internet组管理协议) ...

    参考博文01:https://blog.csdn.net/Wu000999/article/details/89293717
    博文02 https://blog.csdn.net/u014082714/article/details/44994719
    这个面试的时候面试官经常会问我,然后就总结了一下。

    在这里插入图片描述
    TCP/IP四层模型(数网传应):数据链路层(网络接口层)、网络层、传输层和应用层
    OSI七层模型:物数网传会表应。

    一、 基于TCP/UDP协议的应用层协议有哪些?

    TCP/UDP都是传输层的协议 (上面是应用层,下面是网络层IP层)

    1、基于TCP的应用层协议有:HTTP、FTP、SMTP、TELNET、SSH

    协议全称默认端口
    HTTP ( 用的最多)HyperText Transfer Protocol(超文本传输协议)80
    FTPFile Transfer Protocol (文件传输协议)20用于传输数据,21用于传输控制信息
    SMTPSimple Mail Transfer Protocol (简单邮件传输协议)25
    TELNETTeletype over the Network (网络电传)23
    SSHSecure Shell22

    2、基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)、SNMP:简单网络管理协议

    协议全称默认端口
    DNSDomain Name Service (域名服务)53
    TFTPTrivial File Transfer Protocol (简单文件传输协议)69
    SNMPSimple Network Management Protocol (简单网络管理协议)通过UDP端口161接收,只有Trap信息采用UDP端口162。
    NTPNetwork Time Protocol (网络时间协议)123

    二、应用层协议介绍

    (博文02原文链接:https://blog.csdn.net/mellymengyan/article/details/51115521)

    在这里插入图片描述
    在TCP/IP模型中,应用层是最高层。应用层包括所有的高层协议,并且不断有新的协议加入。

    TCP/IP参考模型中应用层和下层协议之间的关系如下:

    应用层的许多协议都是基于(C/S client /server)方式的。

    下面为我们就图片上的应用层协议来进行下简单的介绍:

    基于TCP协议的都用C/S模式(客户端/服务器模式)

    一:TELNET (远程登录) (C/S)(tcp)

    *概述:
    远程登录,它是Tnternet中用来进行远程访问的重要工具之一。远程登录功能允许用户与远程计算机进行动态交互,即用自己的键盘,鼠标等输入设备操纵远程计算机,运行远程计算机上的软件,在自己的显示器上了解运行情况,查看运行结果。

    通信过程:
    用户的终端实际上与本地的TELNET客户机程序进行通信,远程主机与远程TELNET服务器进行通信。然后通过TCP进行连接, 客户机与服务器之间采用NVT标准进行通信。

    1:建立与服务器的TCP连接;
    2:从键盘上接收用户输入的字符;
    3:把用户输入的字符串变成标准格式并送给服务器;
    4:从远程服务器接收输出的信息;
    5:把该信息显示在用户的屏幕上。

    二:FTP (文件传送协议)(C/S)(TCP)

    概述:
    文件传输协议,负责将文件从一台计算机传送到另一台计算机上,并且保证其传输的可靠性。
    客户端提出文件传输请求,服务器接收请求并提供服务。首先在本地计算机上启动FTP客户程序,利用他与远程计算机建立连接,远程计算机上的服务端FTP程序被激活。这样本地的FTP程序成为一个客户,而远程FTP程序成为服务器,他们之间通过TCP建立连接,端口号为21.

    FTP协议的客户机与服务器之间需要建立两个连接, 一个用于控制数据传输(端口21), 一个用于数据传输(端口20)。数据连接主要用于数据传输,完成文件内容的传输。控制连接主要用于传输FTP控制命令和服务器的回送消息。

    FTP的功能:

    1:可以从本地上传和从服务器下载文件;
    2:能够传输各种类型的文件,包括文件,图片, 视频等;
    3:能够提供对本地和远程计算机的目录操作。
    4:对文件进行改名删除等操作。

    FTP的服务获取有两种方式:一种是通过输入用户名和登录口令, 另一种是输入anonymous作为用户名,邮箱地址作为登录口令进行登录。

    FTP客户与服务器之间可以通过命令和回答进行交互。

    FTP的控制与数据连接
    在这里插入图片描述

    三:SMTP (简单邮件传输协议)(TCP)(C/S)

    概述:
    SMTP协议包括两个标准子集, 一个标准定义电子邮件信息的格式,另一个是传输邮件的标准。在互联网中,电子邮件的传送是依靠SMTP协议进行的。SMTP的主要任务是负责服务器之间的邮件传送,最大的特点是简单。只规定了电子邮件如何在互联网中通过TCP协议在发送方和接收方之间进行传送。

    工作方式:
    基于客户/服务器方式进行的。发送人的主机为客户方,收件人的邮件服务器为服务方。在传送邮件的过程中,需要使用TCP协议进行连接(默认端口号为25)。发送主机先将邮件发送到本地SMTP服务器上,本地SMTP服务器与接收方的邮件服务器建立可靠的TCP连接,从而保证了邮件传输的可靠性。

    注意:
    接收方必须使用POP3协议才能取得自己邮箱中的邮件。

    POP3协议的主要任务是实现用户计算机和邮件服务器的俩节,从邮件服务器的电子邮箱中读取邮件。
    SNMP邮件传输过程
    在这里插入图片描述
    四:HTTP (超文本传输协议)(C/S)(TCP)

    详细内容在我的上一个博客里面有详细的介绍:HTTP协议基本知识另见博客

    五:DNS (域名解析系统)(UDP)

    概述:
    用域名系统来处理IP地址和主机名之间的转换, 在DNS中主机名即为域名。
    DNS也是一个应用层协议,为了提供主机名到IP地址的转换服务,DNS是运行在UDP协议之上,使用53号端口。

    DNS通常被其他应用层协议(HTTP, SMTP, FTP)所使用, 以便将用户提供的主机名解析为IP地址。
    域名是一种分布式并具有层次结构的命名机制:

    例如:www.sina.com.cn, 其中最高域名是cn, 表示这台主机在中国。 第二级域名是com, 表示这个主机属于公司机构; 接下来是sina表示这台主机属于新浪网, 最左边的是www,表示该主机是一台web服务器。人们可以很容易的就记住它的域名,而不用他的IP地址。

    查询方法:

    1:递归解析:
    当收到请求时, 域名服务器应返回所要求的解析结果,不论该服务器是否有相关的信息。该服务器没有相关信息时, 那么就该向其他的服务器进行请求,直到获得结果或者错误信息,然后把结果返回给解析请求者。

    2:重复解析:
    接收到请求时, 域名服务器若有该域名的相关信息,则返回IP地址给解析请求者。若无该域名的相关消息,则该服务器不再进一步向其他域名服务器请求解析,而是返回一个可用的域名服务器的地址给解析请求者,让解析请求这自己去向该域名服务器作进一步的解析请求。

    二者的区别在于:前者将域名解析的工作交给域名服务器完成, 而后者则将主要的工作交给请求域名服务的主机来完成。

    六:SNMP (简单网络管理协议)(UDP)

    概述:
    SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
    SNMP被设计为工作在TCP/IP协议族上。SNMP基于TCP/IP协议工作,对网络中支持SNMP协议的设备进行管理。所有支持SNMP协议的设备都提供SNMP这个统一界面,使得管理员可以使用统一的操作进行管理,而不必理会设备是什么类型、是哪个厂家生产的。

    管理方式:
    SNMP管理方式
    在这里插入图片描述
    Get:读取网络设备的状态信息
    Set:远程配置设备参数
    Trap:管理站及时获取设备的重要信息

    七:TFTP (UDP)

    概述:
    TFTP协议全称为Trivial File Transfer Protocol。目标是在UDP之上上建立一个类似于FTP的但仅支持文件上传和下载功能的传输协议,所以它不包含FTP协议中的目录操作和用户权限等内容;

    工作流程:
    l server在端口为69的UDP上等待Client发出写文件请求包
    l Client通过UDP发送符合TFTP请求格式的WRQ包给Server。从UDP包角度看,该UDP包的源端口由Client随意选择,而目标端口则是Slient的69。
    l Server收到Client的这个请求包后,需发送ACK给Client。对于写请求包,Server发送的ACK包确认号为0。
    l Client发送DATA数据给Server,Sver接收数据并写文件
    l 当Client发送的DATA数据长度小于512字节时,Server认为这次WRQ请求完成

    优点:
    l 每个数据包大小固定,这样在内存分配处理的时候比较直接
    l 实现简单
    l 每个数据包都有确认机制,可以实现一定程度的可靠性

    缺点:
    l 传输效率不高
    l 滑动窗口机制太简单,并且该窗口仅有一个包的大小
    l 超时处理机制并不完善,RFC1350并没有给出详细的处理机制说明

    三、TCP、UDP和HTTP关系

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。
    在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。
    在传输层中有TCP协议与UDP协议。
    在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
    因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。

    2、HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与服务器的TCP链接,并发送一个请求到服务器,请求中包含请求方法、URI、协议版本以及相关的MIME样式的消息。服务器响应一个状态行,包含消息的协议版本、一个成功和失败码以及相关的MIME式样的消息。
    HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接,因此一个包含HTML内容和图片的页面将需要建立多次的短期的TCP链接。一次TCP链接的建立将需要3次握手。
    另外,为了获得适当的传输速度,则需要TCP花费额外的回路链接时间(RTT)。每一次链接的建立需要这种经常性的开销,而其并不带有实际有用的数据,只是保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将只建立一次TCP的链接而重复地使用它传输一系列的请求/响应消息,因此减少了链接建立的次数和经常性的链接开销。

    3、结论:虽然HTTP本身是一个协议,但其最终还是基于TCP的。不过,目前,有人正在研究基于TCP+UDP混合的HTTP协议。

    展开全文
  • 基于UDP的应用协议:TFTP(简单文件传输协议)、RIP(路由信息协议)、DHCP(动态主机设置协议)、BOOTP(引导程序协议,DHCP的前身)、IGMP(Internet组管理协议) 基于TCP和UDP协议:DNS(域名系统)、ECHO(回...
  • TCP协议和UDP协议的区别及其应用

    万次阅读 多人点赞 2018-07-02 19:34:45
    下面是TCP和UDP的简单程序: 简单的TCP网络程序 ...简单的UDP网络程序 https://blog.csdn.net/qq_37941471/article/details/80726398 接着我们通过这两个协议来更直接的理解一下TCP协议和UDP协议: 这两个协议...
  • TCP协议详解 (史上最全)

    万次阅读 多人点赞 2021-03-08 12:27:36
    传输层TCP协议提供了一种面向连接的、可靠的字节流服务,其数据帧格式,大致如下图所示: 图:传输层TCP协议的数据帧格式 一个传输层TCP协议的数据帧,大致包含以下字段: (一)源端口号 源端口号表示报文的发送...
  • 基于TCP协议的网络程序

    千次阅读 2016-08-07 17:56:07
     TCP协议作为传输层的主要协议,不仅可以支持本地的数据通信,还可以支持跨网络的进程间通信。在互联网中,我们可以通过“IP地址+端口号”标识唯一的一个进程,“IP地址+端口号”被称为socket,这就是网络socket...
  • TCP协议和UDP协议

    万次阅读 多人点赞 2022-02-18 13:30:13
    1.传输控制协议TCP 1.1TCP的主要特点: 1.1.1面向连接的运输层协议 socket部分讲述 tcp连接的建立 tcp连接的释放 tcp的有限状态机 1.1.2每一条TCP连接只能有两个端点,每一条TCP链接只能是点对点的(一对一)...
  • 网络通讯之TCP协议实用案例

    千次阅读 2021-12-30 21:23:48
    在日常IT领域内,socket网络编程是非常重要的一块内容,所以笔者最近学习了一下很常见的TCP协议,因此用Qt实现了一个网络聊天原理的小程序demo 一、TCP协议是什么? 在了解TCP协议之前,我们应该知道5层因特网协议...
  • TCP协议详解

    千次阅读 2022-03-30 22:15:54
    TCP协议是TCP/IP协议族中另一个重要的协议。与IP协议相比,更接近于应用层。 传输层协议主要有两个:TCP协议和UDP协议 相较于UDP,TCP协议的特点是:...1.TCP协议用于1对1,即不能用于基于广播和多播的应用程序 2.TCP
  • 基于TCP应用协议 与基于UDP的应用协议分别有哪些
  • 什么是TCP协议?

    千次阅读 2021-08-08 09:51:00
    TCP协议是传输控制协议,位于应用程序层和网络层之间,用于提供可靠的流传递服务,即以字节流的形式传递数据,也以字节流的形式接收数据。TCP使用确认机制检查数据的安全和声音到达,在发送方执行多路复用,并在接收...
  • TCP 协议(包含三次握手,四次挥手)

    万次阅读 多人点赞 2022-01-04 18:08:48
    TCP 特性1.确认应答 (可靠传输的最核心机制) 1.确认应答 (可靠传输的最核心机制) 可靠传输的最核心机制
  • tcp协议和udp协议的使用场景

    千次阅读 多人点赞 2018-09-09 12:15:03
    一:什么是TCP(Transmission Control Protocol,传输控制协议tcp是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,...
  • TCP/IP协议

    千次阅读 2022-04-04 01:11:20
    从字面意思来看,TCP/IP协议是指TCP与IP两种协议,然而在很多情况下,他只是利用
  • TCP/IP——应用

    千次阅读 2021-12-14 21:04:49
    TCP/IP——应用层 在OSI七层模型中,将应用...2)数据的传输:大部分应用程序所产生的数据需要在不同设备之间传递 在TCP/IP协议中,每一层都定义了不同功能的协议,如下图: 二、理解应用层功能 应用层为应用软件提供
  • TCP协议大全

    千次阅读 2018-08-21 16:22:53
    TCP协议笔记 上一篇文章已经讲过啦TCP/IP协议族了,大概多TCP协议有了大概的了解。 在网页中HTTP请求获取内容之前是需要先建立TCP连接的,而TCP建立连接需要三次握手,该篇文章将讲解TCP的工作原理。 TCP特性 ...
  • Nginx与TCP协议的关系

    千次阅读 2022-04-09 14:26:26
    作为Web服务器的nginx,主要任务当然是处理好基于TCP的HTTP协议,本节将深入TCP协议的实现细节(linux下)以更好地理解Nginx事件处理机制...这个建立连接的过程是在操作系统内核中完成的,而如Nginx这样的应用程序只是从
  • 基于TCP的网络应用程序

    千次阅读 2014-04-21 11:15:32
    为了标识通信实体中进行通信的进程(应用程序),TCP/IP 协议提出了协议端口(protocol port, 简称端口)的概念。   端口 是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口...
  • 网络编程 网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路...套接字( Socket)是网络通信的关键,套接字也是应用程序和网络协议的接口。套接字由IP和端口号组成。网络层通信主要由TCP和UDP两种通讯。
  • 太厉害了,终于有人能把TCP/IP 协议讲的明明白白了

    万次阅读 多人点赞 2020-05-07 09:30:15
    OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”。 二、 TCP/IP 基础 1. TCP/IP 的具体含义 从字面意义上讲,有人可能会认为...
  • 主要介绍TCP/IP应用层协议,共10部分39章,分别介绍了名字系统及TCP/IP名字注册和名字解析、网络文件和资源共享协议、主机配置与TCP/IP主机配置协议TCP/IP网络管理框架和协议TCP/IP应用层寻址和应用程序分类、...
  • 使用TCP协议连续传输大量数据时,是否会丢包,应如何避免 这个问题看看似比较容易,但很多人有不同的理解。开发中遇到是否每包(包数据可能大于1460)发送完之后需要由server->client确认一下,还是等待发送完成...
  • TCP/IP体系结构常用协议总结

    千次阅读 2022-01-27 12:17:58
    协议2.1应用层协议2.1.1POP3协议2.1.2FTP协议2.1.3HTTP协议2.1.4TeInet协议2.1.5SMTP协议2.1.6Samba协议2.1.7CIFS协议2.1.8DHCP协议2.1.9TFTP协议2.1.10SNMP协议2.1.11DNS协议2.2传输层协议2.2.1TCP协议2.2.2UDP协议...
  • TCP/IP协议应用

    千次阅读 2020-11-11 22:49:24
    TCP/IP协议应用层 一.基本概念 **** 应用协议的实现,只需要写出能够运行在不同的端系统(服务器、手机、电脑等)和通过网络彼此通信的程序。因为网络核心设备(路由器、交换机等,不包括端系统设备)并不在应用...
  • TCP/IP协议详解

    万次阅读 多人点赞 2019-05-11 08:40:41
    认识HTTP协议 它是互联网协议(Internet Protocol Suite),一个网络通信模型,是互联网的一个基本的构架。 HTTP协议是Hyper Text Transfer ...HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件...
  • TCP(Transmission Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)是运输层的两个主要协议,均是互联网的正式标准。它们的主要区别如下:  1、TCP是面向连接的,UDP是无连接的...
  • 所以我们就基于平时我们的应用整理了几个简单但可以说明基本的应用方法的示例,这一篇中我们将解说如何使用协议栈实现一个Modbus TCP客户端。 1、何为TCP客户端 Modbus协议是一个主从协议,那肯定就有主站和从站之...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 373,840
精华内容 149,536
关键字:

哪些应用程序使用了tcp协议