TCP/IP总结

OSI七层参考模型 OSI七层参考模型与各层设备详解 阅读详情

一 概述

TCP/IP(Transmission Control Protocol / Internet Protocol)协议是指传输控制协议/网际协议,它为已连接因特网的计算机进行通信的通信协议,同时它是电子设备如何连入因特网,以及数据如何在它们之间传输的标准。

二 TCP/IP的工作原理

TCP/IP协议中,TCP协议负责应用软件和网络软件之间的通信,它负责将数据分割并装入IP包,然后在它们到达的时候重新组合它们,而IP协议负责网络中计算机之间的通信,负责将数据包发送给网络中指定的接收者。

三 TCP/IP四层模型与OSI七层模型的区别

SOI七层模型是一个完整的,完善的宏观理论模型;而TCP/IP(参考)模型,更加侧重的是互联网通信核心,围绕着TCP/IP协议展开一系列通信协议的分层,其中不包括物理层,以及其他一些不相关的协议;其次,之所以说他是参考模型,是因为他本身也是OSI模型中一部分,因此参考OSI模型对其分层。

         

四 TCP/IP协议族中的常用协议

协议名协议全称协议功能TCP/IP四层模型中的位置
SMTP简易邮件传输协议控制邮箱传输的规则,以及邮件的中转方式应用层
HTTP超文本传输协议用于web服务器与web浏览器之间的通信
DNS域名解析协议定义域名规则,将域名和IP组互相映射
FTP文件传输协议通过FTP协议在FTP客户端访问FTP服务器,默认使用20和21端口,20用于传输数据,21用于传输控制信息
TCP传输控制协议TCP用于从应用程序到网络的数据传输控制。在数据传送之前将它们分割为IP包,然后在它们到达的时候将它们重组传输层
UDP用户数据报协议使主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能够独立地进行数据包的发送和接收
IP网际协议TCP协议负责计算机之间的通信,IP协议负责在因特网上发送和接收数据包网络层
ICMP因特网消息控制协议ICMP负责网络中的错误处理
ARP地址解析协议根据IP地址获取物理地址的协议即MAC协议

五 TCP/IP的通信传输流

                                               

案例:当我们在浏览器中输入www.baidu.com并进行访问时的流程步骤为:

  1. 浏览器客户端请求DNS服务器获取到对应的IP地址。
  2. HTTP协议(应用层)生成对于web服务器的HTTP请求报文。
  3. TCP协议(传输层)将HTTP协议请求报文分割成报文段,把每个报文段可靠地传输给对方。
  4. IP协议(网络层)搜索对方的地址,一边中转一边传输。
  5. 通过路由转发和线路传输(链路层)。

六 TCP与UDP相比

TCP/UDP都是传输层协议,但是两者具有不同的特性,同时也具有不同的应用场景:

比较的性质TCPUDP
可靠性可靠会丢包,不可靠
连接性面向连接无连接
报文面向字节流面向报文
效率传输效率低传输效率高
双工性全双工一对一,一对多,多对一,多对多
流量控制滑动窗口无
拥塞控制慢开始,快重传,快恢复,拥塞避免无
传输速度慢快
引用场景数据量大,准确率要求高,效率要求低数据量小,准确率要求低,效率要求高

注意:当对网络通讯质量有要求的时候,如整个数据要准确无误的传递给对方,这往往用于一些要求可靠的协议,如HTTP,HTTPS,FTP等传输文件的协议,POP,SMTP等邮件传输协议。当对网络通讯质量要求不高的时候,要求网络通讯速度尽量快的时候,就可以使用UDP。

七 TCP连接的建立(三次握手)

最开始的时候客户端和服务器都处于CLOSED状态。主动打开连接的为客户端,被动打开的是服务器。

TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LINSTEN(监听)状态;

TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,此时报文首部中的SYN=1,同时选择一个初始序列号seq=x,同时 ,TCP客户端进程进入SYN-SENT(同步已发送)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。

TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,但是同样要消耗一个序号。

TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已经建立连接)状态 。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了。

八 TCP连接的释放(四次握手)

当数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数的最后一个字节序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。TCP规定,FIN报文段即使不携带数据也要消耗一个序号。

服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务器端进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器发送信息的方向就释放了,这时候处于半关闭状态。也就是客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。

客户端收到服务器的确认请求后,此时,客户端进入FIN-WAIT-2(终止状态2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后数据)。

服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。

客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2*MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。

服务器只要收到客户端发出的确认,就立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接。可以看到,服务器结束TCP连接比客户端快。

《图解TCP/IP协议》 笔记 TCP/IP基础知识 第二章 TCP/IP基础知识 背景及历史 TCP/IP 由军用网络发展而来,后续逐渐连接了四所大学或研究所,形成了ARPANET,成为互联网的鼻祖,在ARPANET的一个研究机构中研发了TCP/IP。并逐步成为最常用的以太网通信协议。 TCP/IP协议 TCP/IP 协议不仅包括TCP和IP两种协议,其也包含了应用了IP技术所形成的相关协议族,如ICMP、UDP等。 TCP/IP协议的规范经由RF... 阅读详情

相关推荐

TCP/IP实验报告及总结

桂林电子科技大学的TCP/IP实验报告及总结,平时上课时做的实验,里面有代码,更多的是一些总结的内容

TCP/IP知识点总结

网络基础、网络设备及使用、网络数据传输流程、应用层重点协议、传输层重点协议、网络层重点协议、数据链路层重点协议

m0_48273471的博客 4438

TCP/IP协议知识点总结与面试

总结的一些TCP/IP重要知识点和面试问题

网络编程socket,详细讲述osi七层协议

一 网络编程 源方: 我们首先来说下数据在两台计算机之间的传递:操作系统控制着除应用层以外的四层 对于用户来说我们发数据一般都是在应用层,也就是我们是直接操作应用软件的,那么应用层要把数据传给传输层就要给数据一个包装,就相当于给他来个数据头,包了一层信封便于识别。那么应用层不是必须要包这一层,我们可以自定义,但是一般最好包。 接下来进入传输层:传输层工作的是TCP与UDP协议,我...

ancan7211的博客 388

Tcp/Ip协议个人总结

Tcp/Ip协议深入分析,个人学习总结 Tcp/Ip协议深入分析,个人学习总结

Nacos 2.3.2与PostgreSQL的Docker化部署实战

本文详细介绍了Nacos 2.3.2与PostgreSQL的Docker化部署实战,包括环境准备、数据库配置、镜像获取与导入、容器部署及常见问题排查。通过Docker容器化技术,结合PostgreSQL的稳定性和扩展性,为微服务架构提供高效的服务发现和配置管理解决方案。

k5l6m的博客 284

详解HTTP:TCP/IP的网络模型

深入解析 TCP/IP 网络模型:从起源到各层功能详解

有见寒舍 1589

winpcap无法安装提示新版本已经安装解决办法

问题显示如下该问题会导致ensp里的云识别不到网卡可能是因为之前安装了npcap,而且安装时勾选了第四个选项导致无法安装,需要完全卸载npcap解决办法:办法一:在控制面板的程序与卸载里面卸载npcap和winPcap,然后再安装winPcap,如果搜不到往下看办法二:在C:\Windows\SysWOW64目录下搜索wpcap.dll和packet.dll并重命名为wpcap.dll.old和packet.dll.old办法三:如果搜不到这两个文件需要安装win10Pcap才能找到这两个文件下载地址:Wi

qq_73202377的博客 3万+

SOI七层模型和TCP/IP五层协议:

SOI七层模型和TCP/IP五层协议: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 应用层:(数据) HTTP:80 HTTPS:443 SSH:22 DNS:53 Telnet:23 FTP:20/21 DHCP:67/68 SMTP:25 SMTP:110 POP3:110 RDP:3389 SMB:445 MYsql:3306 传输层:(数据段) TCP UDP

qq_41245301的博客 946

CSAPP performance lab

CSAPP 深入理解计算机系统的performance Lab

weixin_46091531的博客 1253

Kill5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题

Kill5-5.37版本下,使用ARMcomplier6编译__asm 函数报错的问题 问题简要描述: 昨日更新了keil5软件的版本,从5.17更新到了5.37版本,然后编译STM32项目文件时,软件提示编译报错。报错问题如下: Build started: Project: QKsoftware *** Using Compiler 'V6.18', folder: 'E:\MDK-ARM\ARM\ARM\ARMCLANG\Bin' Build target 'QKsoftware' compiling

weixin_43644424的博客 1万+

TCP/IP详解

TCP/IP内容整理TCP/IP不是一个协议,而是一个协议族的统称(TCP/IPProtocols),简称TCP/IP。TCP/IP协议族提供了点对点的连结机制,并且将传输数据帧的封装、寻址、传输、路由以及接收方式,都予以标准化。

啊唯的博客 1万+

[QMT量化交易小白入门]-十二、QMT回测龙头打首板和连板的策略

class a():passA = a() #创建空的类的实例 用来保存委托状态field_list定义了需要的市场数据字段,而类a用于保存交易状态。

木头大左的博客 4761

TCP/IP协议

一、了解完整的通信过程 1.发送方源终端设备的应用创建数据。 2.当数据在源终端设备中沿协议栈向下传递,对其分段和封装。 3.在协议栈网络接入层的介质上生成数据。 4.通过由介质和任意中间设备组成的网际层网络传输数据。 5.在目的终端设备中沿协议栈向上传递时对其解封和重组。 二、TCP/IP协议介绍 1.TCP/IP协议,中文名称:传输控制协议/网际协议,它是internet上所有网络和主机之间进行交流所使用的共同“语言”,是internet上使用的一组完整的标准网络连接协议。 .

PICACHU+++的博客 2万+

最新Python爬虫实战(入门爬虫篇)——案例13:某乎热榜数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例通过Python爬虫技术,成功实现了基于Cookies认证的某乎热榜数据爬取与Excel保存。代码采用模块化设计,包含Cookies解析、HTML请求、结构化解析、Excel持久化等完整流程;通过配置浏览器请求头+Cookies认证,有效突破某乎基础反爬策略,保证请求稳定性。整个爬虫逻辑遵循“Cookies认证 → 页面请求 → HTML解析 → 数据清洗 → 保存到Excel”的标准流程,与需要会话验证的网站爬取范式高度一致。Cookies解析与认证。

努力让自己发光,对的人才能迎着光而来 33万+

图像处理系列——直方图之直方图规定化(Histogram Specification)

直方图规定化也叫直方图匹配(Histogram Matching),让原图像的像素分布与规定图像的像素分布保持一致。直方图规定化比直方图均衡化更加灵活,算是直方图均衡的变种。常用于图片风格一致性的自动处理,能有效的改善图像的整体或局部的特征,广泛运用在图像增强处理中。

nanke_yh的博客 4595

TCP/IP模型

1处理来自传输层的分组发送请求:将分组装入IP数据报,填充报头,选择去往目的节点的路径,然后将数据报发送适当的网络接口。TCP/IP也是一种分层协议,这一点与OSI协议层次有些类似,但是并不完全相同,并且它和OSI存在着相对应的关系.TCP/IP大约包含近100个非专有的协议,通过这些协议,可以高效和可靠地实现计算机系统之间的互联。这是TCP/IP模型的最底层,负责接受从IP层交来的IP数据报并将IP数据报通过底层物理网络发送出去,或者从底层物理网络上接收物理信号转换成数据帧,抽出IP数据报,交给IP层。

2401_89187053的博客 1739

SAP ERP 系统订单行项目中的计划行(Scheduled Line)详解

*计划行(Scheduled Line)**是SAP系统中订单行项目(如采购订单、生产订单、销售订单等)的细分单元,用于记录和管理物料的供应或需求计划。每个订单行项目可以包含一个或多个计划行,每个计划行对应具体的交货日期、数量、需求类型(如采购申请、生产订单、库存调拨等)以及相关的物流控制参数。简单来说,计划行是系统对某一物料在特定时间点的供需状态的详细规划,它将订单分解为更细粒度的执行步骤,确保供应链各环节(如采购、生产、仓储)能够按计划协同工作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3392

TCP/IP协议详解(TCP/IP protocol)

本文转载自菜鸟教程TCP/IP 教程TCPIP 教程 TCPIP 介绍 计算机通信协议Computer Communication Protocol 什么是 TCPIP 在 TCPIP 内部 TCP 使用固定的连接 IP 是无连接的 IP 路由器 TCPIP TCPIP 寻址 IP地址 IP 地址包含 4 组数字 比特 4 字节 IP V6 域名 TCPIP 协议 协议族TCP/IP 教程TCP/

MapleStory的博客 6901

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

TCP/IP的历史

互联网技术里,有两件事最为重要,一个是 TCP/IP 协议,它是万物互联的事实标准;另一个是 Linux 操作系统,它是推动互联网技术走向繁荣的基石。

存在,即合理 1505

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

TCP/IP 协议

TCP/IP协 TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/...

MengJing_的博客 3705

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 共享栈
下一篇: 电脑开机出现Fixing(E)Stage 1
至学者
博客等级 码龄9年 180粉丝 773原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值