精华内容
下载资源
问答
  • 哪些应用程序采用tcp
    千次阅读 多人点赞
    2022-03-18 13:55:06

    一、如何实现TCP通信

    • 要实现TCP通信需要创建一个服务器端程序和一个客户端程序,为了保证数据传输的安全性,首先需要实现服务器端程序,然后在编写客户端程序。
    • 在本机运行服务器端程序,在远程机运行客户端程序
    • 本机的IP地址:192.168.129.222
      在这里插入图片描述
    • 远程机的IP地址:192.168.214.213
    更多相关内容
  • 基于TCP的网络应用程序

    千次阅读 2014-04-21 11:15:32
    也就是说,基于TCP和UDP的不同的网络应用程序,它们可以拥有相同的端口号。端口使用一个16位的数字来表示,它的范围是0~65536,1024以下的疝号保留给预定义的服务。 客户机/服务器模式  客户机/服务器...

            最近在看网络编程方面的知识,记一下笔记。


     Socket简介

            网络编程的实现可以有多种方式,Windows Socket 就是其中一种,比较 简单的实现方法。Socket 是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定操作与驱动程序建立关系。此后,应用程序送给Socket 交给驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定的IP地址和端口号相关的数据后,由驱动程序交给Socket,应用程序便可从Socket中提取接收到的数据。网络应用程序就是这样通过socket进行数据的发送与接收的。


    端口

    为了标识通信实体中进行通信的进程(应用程序),TCP/IP 协议提出了协议端口(protocol port, 简称端口)的概念。

           端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。应用程序通过系统调用与某端口建立连接(binding)后,传输层伟给该端口的数据都被相应的进程所接收,相应进程发给传输层的数据都通过该端口输出。


            端口用一个整数型标识符来表示,即端口号,端口号跟协议相关,TCP/IP传输层的两个协议TCP和UDP是完全的两个软件模块,因此各自的端口号也相互独立。也就是说,基于TCP和UDP的不同的网络应用程序,它们可以拥有相同的端口号。端口使用一个16位的数字来表示,它的范围是0~65536,1024以下的疝号保留给预定义的服务。


    客户机/服务器模式

            客户机/服务器模式: 在TCP/IP 网络应用中,通信的两个进程间相互作用的主要模式 是客户机/服务器模式(client/server),即客户向服务器提出请求,服务器接收到请求后,提供相应的服务。


            客户机/服务器模式在操作的过程中采取的是主动请求的方式。

          首先服务器方要先启动,并根据请求提供相应服务。  

             1. 打开通信通道并告知主机,它愿意在某一地址和端口号上接收客户请求。

             2.等待客户请求到达端口

             3.接收到重复服务请求,处理该请求并发送应答信号。接收到并发服务请求,要激活一个新的进程(或线程)来处理这个客户请求。新进程(或线程)处理此客户请求,并不需要对其他请求作出应答。服务完成后,关闭此新进程与客户的通信链路并终止。

             4.返回第二步,等待另一客户请求。

             5.关闭服务器。


              而客户方:

              1.打开一个通信通道,并连接到服务器所在主机的特定端口。

              2.向服务器发送服务请求报文,等待并接收应答;继续提出请求。

              3.请求结束后关闭通信通道并终止。



     基于TCP(面向连接)的socket编程

              基于TCP(面向连接的)socket编程的服务器端程序流程如下:

              1.创建套接字(socket).

              2.将套接字绑定到一个本地地址和端口上(bind)。

              3.将套接字设为监听模式,准备接收客户请求(listen).

              4.等待客户请求到来;当请求到来后,接受连接请求,反回一个新的对应于些次连接的套接字(accept)

              5.用返回的套接字和客户端进行通信(send/recv).

              6.返回,等待另一客户请请求。

              7.关闭套接字。

             

              基于TCP(面向连接)socket编程的客户端程序流程如下:

              1.创建套接字(socket)。

              2.向服务器发出连接请请求(connect)。

              3.和服务器进行通信(send/recv)。

              4.关闭套接字。

       

               在服务器端,当调用accept函数时,程序就会等待,等待客户端调用connect函数发出连接请求,然后服务器端接受该请求,于是双方就建立了连接。之后。服务器端和客户就可以利用send 和recv 函数进行通信了。在客户端并不需要调用bind 函数, 因为服务器需要接收客户端的请求,所以必须告诉本地主机打算在哪个IP地址和端口上等待客户请求。因此必须调用 bind 函数来实现这一功能。而对客户端来说,当它发起连接请求,服务器端接受该请求后,在服务器端就保真了该客户端的IP地址和端口的信息。这样,对服务器端来说,一旦建立连接之后,实际上它已经保存了客户端的IP地址和端口号信息,因此就可以利用把返回的套接字调用send/recv函数与客户端进行通信。



    //注 这里用于WinSock库中的函数,需要为程序链接相应的 ws2_32.lib 文件,VS2012 添加方法  菜单-项目-配置属性-链接器-输入-附加依赖项, 加入ws2_32.lib.  (在服务器端和客户端都要添加)。


    建立空 Win32 Console Application 类型的空项目TCPSrv  和 空项目 TCPClient,  分别添加 源文件:TcpSrv.cpp 和 TcpCleint.cpp



    代码:

    //TCPSrv.cpp 
    
    #include <Winsock2.h>
    #include <stdio.h>
    
    void main()
    {
    	WORD wVersionRequested;
    	WSADATA wsaData;
    	int err;
    
    	wVersionRequested = MAKEWORD(1,1);
    
    	err = WSAStartup(wVersionRequested, &wsaData);   //根据socket版本,加载套接字库 
    	if(err != 0)
    	{
    		return;
    	}
    
    	if(LOBYTE(wsaData.wVersion) != 1 ||     //低字节为主版本
    		HIBYTE(wsaData.wVersion) != 1)      //高字节为副版本
    	{
    		WSACleanup();
    		return;
    	}
    
    	printf("server is operating!");
    	//创建用于监听的套接字
    	SOCKET sockSrv = socket(AF_INET,SOCK_STREAM,0);
    
    	SOCKADDR_IN addrSrv;     //定义sockSrv发送和接收数据包的地址
    	addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
    	addrSrv.sin_family = AF_INET;
    	addrSrv.sin_port = htons(6000);
    	
    	//绑定套接字, 绑定到端口
    	bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    	//将套接字设为监听模式, 准备接收客户请求
    	listen(sockSrv,5);   //最大队列数目为5
    
    	SOCKADDR_IN addrClient;   //用来接收客户端的地址信息
    	int len = sizeof(SOCKADDR);
    
    	while(1)
    	{
    		//等待客户请求到来
    		//在服务器端,当调用accept函数时,程序就会等待,等待客户端调用connect
    		//函数发出连接请求,然后服务器端接受该求,于是双方就建立了连接。
    		//然后服务器端和客户端就可以利用send 和recv函数进行通信了。
    
    		//当客户端请求到来时,该函数接受该请求,建立连接,
    //同时它将返回一个相对于当前这个新连接的一个套接字,
    		//保存于sockConn变量中,然后利用这个套接字与客户端进行通信,
    //而原来的套接字仍继续监听客户端的连接请求。
    		SOCKET sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len);
    		char sendBuf[100];
    		sprintf_s(sendBuf,"Welcome %s to 306 lab",inet_ntoa(addrClient.sin_addr));
    
    		printf("%s\n",inet_ntoa(addrClient.sin_addr));
    		//通过已连接的sockConn套接字发送数据
    		send(sockConn,sendBuf,strlen(sendBuf)+1,0);
            
    		char recvBuf[100];
    		recv(sockConn,recvBuf,100,0);
    		printf("%s\n",recvBuf);
    		closesocket(sockConn);
    	}
    }
    
    
    
    
    
    //TcpCleint.cpp
    #include <Winsock2.h>
    #include <stdio.h>
    
    void main()
    {
    	WORD wVersionRequested;
    	WSADATA wsaData;
    	int err;
    
    	wVersionRequested = MAKEWORD(1,1);   //使用版本为1.1的套接字
    
    	err = WSAStartup(wVersionRequested,&wsaData);
    	if(err != 0)
    	{
    		return;
    	}
    
    	if(LOBYTE(wVersionRequested) !=1 ||
    		HIBYTE(wVersionRequested != 1))
    	{
    		WSACleanup();
    		return;
    	}
    
    	SOCKET sockClient = socket(AF_INET, SOCK_STREAM,0);
    
    	sockaddr_in  addrSrv;
    	addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");    //本机
    	addrSrv.sin_family = AF_INET;
    	addrSrv.sin_port = htons(6000);
    
    	//向服务器发出连接请求
    	connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
    
    	//接收数据
    	char recvBuf[100];
    	recv(sockClient,recvBuf,100,0);
    	printf("%s\n",recvBuf);
    	//发送数据
    	send(sockClient,"This is lisi",strlen("This is lisi")+1, 0);
    	//关闭套接字
    	closesocket(sockClient);
    	WSACleanup();
    	system("pause");
    }


    结果:

    Server:



    Client:




    socket的详细介绍:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx

    展开全文
  • TCP/IP——应用

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

    TCP/IP——应用层

    在OSI七层模型中,将应用层,会话层,表示层综合看成了TCP/IP模型中的应用层
    一、应用和数据
    应用
    1)应用的存在,是为了满足人们的各种需求,比如访问网页,在线游戏,在线视频
    2)伴随着应用会有信息的产生。比如文本,图片,时评等都是信息的不同呈现方式
    数据
    1)数据的产生:在计算机领域,数据是各种信息的载体
    2)数据的传输:大部分应用程序所产生的数据需要在不同设备之间传递
    在TCP/IP协议中,每一层都定义了不同功能的协议,如下图:
    在这里插入图片描述
    二、理解应用层功能
    应用层为应用软件提供接口,使应用程序能够使用网络服务,应用层协议会指定使用相应的传输层协议,以及传输层所
    使用的端口等
    应用层的PDU被称之为Data(数据)
    了解常见的协议端口号:
    在这里插入图片描述
    三、了解常见的应用层协议
    FTP
    FTP(文本传输协议)是一个用于从一台主机传送文件到另一台主机的协议,用于文件的“下载”和“上传”,它采用C/S(Client/Server)结构
    FTP的运行过程如下图:
    在这里插入图片描述
    Telnet
    Telnet是数据网络中提供远程登录服务的标准协议。Telnet为用户提供了在恩地计算机上完成远程设备工作的能力
    具体工作流程如下:
    在这里插入图片描述
    HTTP
    HTTP是互联网上应用最为广泛的一种网络协议,设计HTTP最初的目的是为了提供一种发布和接受HTML页面的方法

    在这里插入图片描述

    展开全文
  • 一、基于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协议。

    展开全文
  • 基于TCP应用层协议 与基于UDP的应用层协议分别有哪些
  • 基于TCP协议的网络程序

    千次阅读 2016-08-07 17:56:07
     TCP协议作为传输层的主要协议,不仅可以支持本地的数据通信,还可以支持跨网络的进程间通信。在互联网中,我们可以通过“IP地址+端口号”标识唯一的一个进程,“IP地址+端口号”被称为socket,这就是网络socket...
  • 本文的作者通过分析 TCP/IP 程序在不同级别上采用的不同方式来向您讲述了如何设计好 TCP/IP 应用程序的通信模式以及需要注意的相关问题。
  • 登陆采用TCP协议和HTTP协议,你和好友之间发送消息,主要采用UDP协议,内网传文件采用了P2P技术。 QQ对于普通用户是采用UDP协议,对于会员用TCP协议 总来的说: 1.登陆过程,客户端client 采用TCP协议向服务器...
  • TCP/IP 应用程序的通信连接模式

    千次阅读 2014-02-17 13:10:25
    TCP/IP 应用层与应用程序 TCP/IP 起源于二十世纪 60 年代末美国政府资助的一个分组交换网络研究项目,它是一个真正的开放协议,很多不同厂家生产各种型号的计算机,它们运行完全不同的操作系统,但 TCP/IP 协议组件...
  • TCP应用程序通信协议的处理

    千次阅读 2015-06-29 23:25:23
    TCP应用程序通信协议的处理flyfish 2015-6-29一 流式处理 TCP是一种流协议(stream protocol)。TCP数据是以字节流的形式传递给接收者的,没有固有的”报文”或”报文边界”或者用户可见的”分组”的概念。 它只是...
  • STM32实现TCP IAP在线更新程序

    千次阅读 2019-10-03 20:57:14
    IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域...利用TCP实现IAP即可以实现对应用代码的远程更新,可以对后期应用程序的维护和更新节省很大的人力物力。
  • 使用TCP应用:Web浏览器、电子邮件、文件传输程序TCP工作原理: 在这里我就不过多赘述它的工作原理了,感兴趣的小伙伴可以去百度一下“ TCP的工作原理 ”,能够回答这个问题的太多了。 简单来说分为两部分: ...
  • 一Web应用程序  (1)什么是Web应用程序  应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览 器端/服务器端应用程序,这类应用程序一般借助浏览器来运行。 ...
  • TCP 和UDP的区别以及各自的应用场景

    千次阅读 2020-09-09 16:15:51
    UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层——传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也...
  • 本次计算机网络课程设计是基于TCP协议网上聊天程序程序中用到了套接字socket、多线程thread和Python自带的图形界面库Tkinter,在密码保存和传递方面用到了MD5算法,该程序的功能:用户注册、用户登录、显示在线...
  • TCP/IP入门(4) --应用

    千次阅读 2015-04-08 15:06:58
    /**本篇博客由汗青ZJF整理并发布, 转载请注明出处:http://blog.csdn.net/zjf280441589/article/category/1854365*/TCP/IP中的应用层 DNS简介 域名系统是基于描述名字-地址映射的分布式计算机系统的实现,其作用是...
  • 传输层协议 ——— TCP协议

    千次阅读 多人点赞 2022-06-11 14:58:17
    TCP协议被广泛应用,其根本原因就是提供了详尽的可靠性保证,基于TCP的上层应用非常多,比如HTTP、HTTPS、FTP、SSH等,甚至MySQL底层使用的也是TCP。现代的计算机大部分都是基于冯诺依曼体系结构的。 虽然这里的...
  • 本人为阿里云的合作伙伴,在使用云这块的时候,经常会碰到一些这种协议、接口等各种各样的问题,以下内容为各种地方...OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一...
  • UDP是无连接的传输,在传输的过程中数据报可能会出现丢失,...有时,客户端也需要发送控制命令给服务端,但是控制不能丢失,这时就需要使用TCP协议来传输了。下面的这个示例代码是在一个进程中同时使用TCP和UDP来传...
  • Socket编程--使用Tcp实现简单的聊天程序计算机网络基础知识使用Tcp协议的Socket编程 在Android聊天程序的实现中,通常是通过http请求拉取最新聊天信息,由于http请求是无状态(Stateless)的,无法随时获知新消息的...
  • TCP应用层主要协议

    千次阅读 2015-09-27 21:51:05
    TCP/IP应用层对应了OSI参考模型的上三层(会话层、表示...是由哪个应用程序发出的。应用层主要包括一下协议:  文件传输类:HTTP、FTP、TFTP;  远程登录类:Telnet;  电子邮件类:SMTP;  网络管理类:SNMP;
  • TCP 协议头全解

    千次阅读 2022-04-02 18:30:50
    本文将带你学会 1. 从 wireshark 中来看面试中常问的 tcp 三次握手 四次挥手 真正的数据面目到底是什么? 2. 看到 TCP/IP 五层模型的具象化真实表达 3. 网络传输中 TCP 头全解析
  • TCP/UDP 协议,HTTP、FTP、SMTP,区别及应用场景 一、OSI 模型 OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒...
  • 一旦应用程序开发者选择了一个传输层协议,则应用程序就建立在由该协议提供的传输层服务之上。 2 问题描述 套接字是应用程序集成与传输层协议之间的接口。在发送端的应用程序将报文推进该套接字,...
  • TCP 协议有什么缺陷?

    千次阅读 2022-05-09 15:00:18
    所以,今天就跟大家聊聊,TCP 协议有哪些缺陷?主要有四个方面: 升级 TCP 的工作很困难; TCP 建立连接的延迟; TCP 存在队头阻塞问题; 网络迁移需要重新建立 TCP 连接; 接下来,针对这四个方面详细说一下。 ...
  • 伪造ACK实现TCP数据注入

    千次阅读 2021-04-04 12:49:18
    TCP创造并发展于1970年代~1980年代,这注定了它能工作但脆弱。 在TCP伊始,最重要的是可用,而不是高效,也不是安全,因此,在端到端TCP连接的中间,利用伪造的ACK,你很容易完成一种叫做 中间人攻击 的事情。 如果...
  • 网络基础之TCP/IP五层模型

    千次阅读 2022-01-18 22:21:02
    文章目录互联网基础应用和数据应用的起源应用的实现——数据数据的产生数据传输网络参考模型与标准协议OSI模型TCP/IP参考模型TCP/IP之物理层常见传输介质TCP/IP之数据链路层以太网与MAC地址以太网的定义:MAC地址...
  • 在任意位置Reset掉任意的TCP连接

    千次阅读 2018-11-07 22:10:24
    我本来是想模拟一个TCP接收端对收到数据包的确认,采用了Scapy这个简单的工具,然而折腾了大半天没有顺利搞定。其实我是不怎么懂Python的,折腾了大半天之后,竟然对Python产生了兴趣,正好旁边有人碰到了TCP连接被...
  • TCP协议详解

    千次阅读 多人点赞 2022-02-02 13:49:17
    TCP协议详解TCP服务的特点TCP头部结构TCP连接的建立和关闭(三次握手和四次挥手)TCP状态转移服务器端的状态转移过程客户端的的状态转移过程TIME_WAIT 状态超时重传拥塞控制 TCP协议属于传输层协议。从通信和信息...
  • PLC通讯MODBUS协议的应用及编程现为大家讲解一下MODBUS的应用,现在工业控制上位机和下位机通信大部分采用通信协议为MODBUS,可想而知机器与机器通信的重要性。一:MODBUS系统框架图二:MODBUS运用MODBUS 通讯的底层...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 254,838
精华内容 101,935
关键字:

哪些应用程序采用tcp