ICMP
ICMP协议经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP使用)。一些ICMP报文把差错报文返回给用户进程。ICMP是在IP数据报内被传输的,协议代码为1。所有ICMP报文的前4个字节都是一样的,第一个字节为类型(常见的有0,ping的回显应答。3,目的不可达。8,ping请求回显。11,超时)第二个字节为代码(常见的有3类型目的不可到达的3代码-端口不可到达,1代码-主机不可到达)
PING
ping程序:通过在I C M P报文数据中存放发送请求的时间值来计算往返时间。当应答返回
时,用当前时间减去存放在 I C M P报文中的时间值,即是往返时间。
最常见的使用ICMP协议的为ping程序了,该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。ping这能测试服务器是否不可到达,使用的只是IP数据报,并不能检测某个端口是否可用(如web服务器的80端口),ping针对的只是一个IP没有涉及到传输层的端口。
ping –RR 记录路由,每个处理过该数据报的路由器都把它的IP地址放入选项字段。
Traceroute
Traceroute(windows上为tracert)程序可以让我们看到IP数据报从一台及其传到另一台主机所经过的路由。Traceroute程序使用ICMP报文和IP首部中的TTL字段(一般为64).TTL字段的目的是防止数据报在选路时候无休止的在网络中流动(当路由故障的时候,可能在两个路由循环)。当路由器收到一份IP数据报的时候,如果其TTL字段是0或1,则路由器不转发该数据报,路由器将该数据报丢弃,并给信源主机发送一份ICMP“超时”信息。
Tracerout的工作工程,它发送一份TTL字段为1的IP数据报给目的主机(为ICMP的请求回显Type为8),处理这份数据报的第一个路由器将TTL值减1,丢弃该数据报,并发回一份超时ICMP报文。这样就得到了该路径中的第一个路由器的地址。然后在发送一份TTL值为2的数据报,这样我们可以得到第二个路由器的地址。继续这个过程直到该数据报到达主机。目的主机如果接收到ICMP报文(这个时候不会发送ICMP“超时”差错报文),为了判断已经到达主机,这个时候在发送一份UDP数据报给主机,并且数据报的端口很大(应用程序不会占用),这个时候目的主机会产生一份“端口不可到达”的错误的ICMP报文。traceroute程序所要做的是区分接收到的ICMP报文是超时还是端口不可到达,以判断什么时候结束。
关于这个程序还有几点要说明:
(1)并不能确保现在的路由也是将来所要采用的路由,甚至两份连续的数据报都可能采用不同的路由。
(2)不能保证ICMP报文的路由与traceroute程序发送的UDP数据报采用同一路由。这表明打印出来的往返时间可能并不能真正体现数据报发送和返回的时间差。
(3)返回的ICMP报文中的信源IP地址是UDP数据报到达的路由的接口的IP地址。接受这个报文的接入接口地址,并不是发送接口的地址。
Traceroute程序:得到IP数据报从一台主机传到另一台主机所经过的路由。
为什么不用PING程序的RR选项:
1. 因为不是所有的路由器都支持记录路由选项
2. 记录路由一般都是单向的选项
3. ip首部留给选项的空间有限,并不能存放大多数的路径。
过程: Tr a c e r o u t e程序的操作过程。它发送一份T T L字段为1的I P数据报给目的主机。处理这份数据报的第一个路由器将 T T L值减1,丢弃该数据报,并发回一份超时I C M P报文。这样就得到了该路径中的第一个路由器的地址。然后Tr a c e r o u t e程序发送一份T T L值为2的数据报,这样我们就可以得到第二个路由器的地址。继续这个过程直至该数据报到达目的主机。但是目的主机哪怕接收到 T T L值为1的I P数据报,也不会丢弃该数据报并产生一份超时I C M P报文,这是因为数据报已经到达其最终目的地。那么我们该如何判断是否已经到达目的主机了呢?
Tr a c e r o u t e程序发送一份U D P数据报给目的主机,但它选择一个不可能的值作为 UD P端口号(大于30 000) ,使目的主机的任何一个应用程序都不可能使用该端口。因为,当该数据报到达时,将使目的主机的 U D P模块产生一份“端口不可达”错误(见 6 . 5节)的I C M P报文。这样,Tr a c e r o u t e程序所要做的就是区分接收到的 I C M P报文是超时还是端口不可达,以判断什么时候结束。
Telnet
Telnet为(telecommunication network protocol)的缩写,它为标准的提供远程登录的功能的应用,它使用TCP连接,能够运行在不同操作系统主机之间。telnet的使用方法是 telent host port的方式,这个命令有个特殊的应用,就是测试远程主机是否开启某个端口,例如 telent baidu.com 80,可以测试百度的web服务。用抓包器抓了下包,当telent baidu.com 80的时候,就会和百度一台服务器的80端口建立一个tcp连接,这个连接可以维持一会,就会自动断开。
相关推荐
ping icmp和tcp区别:
ping icmp和tcp区别: tcpdump -i eth1 '((tcp) and ( host 2.2.2.2)))' node1:/root/test#cat ping.pl use Net::Ping; $p = Net::Ping->new("icmp"); if ($p->ping('2.2.2.2',20)){ print '111111...
ICMP协议和Telnet
ICMP协议和Telnet
LTSPICE仿真电路:(二十八)三极管厄利电压与输出特性曲线深度解析
本文深入解析了LTSPICE仿真电路中三极管的厄利电压与输出特性曲线,详细介绍了厄利电压的物理意义、仿真设置及实际应用。通过伏安特性曲线和厄利电压的分析,帮助读者理解三极管放大性能的关键参数,并提供了电路设计中的优化方案和故障排查技巧。
ping、telnet、tracert简介与使用
监测网络连通情况是日常项目维护时期常遇到的,其中我们常用到的有(本人用到的)ping、telnet、tracert,今天我就把这三个命令总结一下。 1. PING 1.1 介绍 ping称为因特网包探索器,用于测试网络连接量的程序,通常是用来检查网络是否通畅或者网络连接速度的命令,评估网络质量,ping域名还可以得出解析IP。 1.2 原理 pi...
WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法
WSL运行make提示/lib//modules/xxx文件或目录不存在。 WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。
Unity安卓打包实战:SDK与JDK配置全攻略
本文详细介绍了Unity安卓打包过程中SDK与JDK的配置方法,包括工具下载、安装步骤、环境变量设置及常见错误排查。通过实战指南帮助开发者快速完成Unity安卓打包环境搭建,提升开发效率。
网络命令telnet route traceroute
telnet命令 telnet命令通常用来远程登录。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像...
手把手教你配置C6678的SPI启动:从NorFlash烧写到多核加载的完整流程
本文详细介绍了TMS320C6678多核DSP的SPI启动全流程,包括硬件准备、镜像文件生成与转换、NorFlash烧写与验证、多核启动同步机制以及常见问题排查。通过实战演示,帮助开发者高效配置SPI启动模式,解决启动失败、多核同步异常等问题,提升嵌入式系统开发效率。
linux环境下常用的网络命令ping、telnet、traceroute、tcpdump
因特网(Internet)的前身是美国国防部高级研究计划局(ARPA)用于军事目的的通信网络,真的就是一个内部的工具出圈成了改变世界的事物。网这个词用的很形象也很贴切,如今的世界任何事情都离不开这个大网了,特别是之前炒的非常火爆的万物互联概念,更是把所有事物都挂在了“网”上,虽然这张大网某些节点偶尔会不太通畅,但这并不能阻断消息的往来。之前都在讲全球化,谁能想到短短几年“逆全球化”居然越来越热...
CUDA编程 - Nsight system & Nsight compute 的安装和使用 - 学习记录
在 cuda 编程中,经常会用到 Nsight system 和 Nsight compute 进行性能分析等,下面做个学习总结。本篇包括安装和常用分析思路总结,具体实践操作总结会放在下一篇博客。
CloudCompare 二次开发:插件中的 PCL 环境配置与编程
在进行 CloudCompare 的二次开发过程中,我们常常需要使用点云库(Point Cloud Library,简称 PCL)来处理和分析点云数据。在 CloudCompare 的界面中,选中一个点云对象,然后点击菜单栏中的 “插件” -> “MyPluginAction”。插件将对选中的点云对象进行体素滤波处理,并更新显示结果。下面我们将展示一个简单的插件编程示例,该示例使用 PCL 对输入的点云数据进行体素滤波处理。方法进行体素滤波处理,并将结果点云赋值给选中的点云对象。文件并点击 “打开”。
TCP/IP之常用协议
必须记忆!!!!!为什么分为被动和主动模式?!!!!!主动模式依赖服务器主动发起数据连接,在客户端有严格防火墙时失效;被动模式依赖客户端主动发起数据连接,解决了客户端防火墙的限制,但需要服务器支持动态开放端口(可能受服务器防火墙限制,因此服务器通常需配置端口范围供被动模式使用)。3.3.2FTP双TCP连接方式。
Yield Management软件:Lam Research二次开发_(5).缺陷分析与分类方法
在半导体制造过程中,缺陷分析和分类是提高良率管理(Yield Management)的关键步骤。通过准确地识别和分类缺陷,可以更好地理解工艺过程中的问题,从而采取有效的措施来提高生产效率和产品质量。本节将详细介绍缺陷分析和分类的方法,包括缺陷检测、特征提取、分类算法及其在Lam Research软件中的应用。
TCP/IP 1
网络层,在T C P / I P协议族中,网络层协议包括 I P协议(网际协议),I C M P协议(I n t e r n e t互联网控制报文协议),以及I G M P协议(I n t e r n e t组管理协议)。 运输层,在 T C P / I P协议族中,有两个互不相同的传输协议:T C P(传输控制协议)和U D P(用户数据报协议)。 应用层负责处理特定的应用程序细节。几乎各种不同...
ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(二)
本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包exp
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
TCP/IP学习(五)ICMP、Ping、Tracerout和Telnet
ICMP ICMP协议经常被认为是IP层的一个组成部分。它传递差错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP使用)。一些ICMP报文把差错报文返回给用户进程。ICMP是在IP数据报内被传输的,协议代码为1。所有ICMP报文的前4个字节都是一样的,第一个字节为类型(常见的有0,ping的回显应答。3,目的不可达。8,ping请求回显。11,超时)第二个字节为代
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
TCP/IP 常用协议课程课后总结
今天的《TCP/IP 常用协议》课程已圆满结束,课程承接此前 TCP/IP 协议基础的核心内容,围绕网络层两大核心支撑协议(ARP、ICMP)、应用层主流 TCP/UDP 应用协议、以Windows 系统常用网络运维命令三大模块展开全面讲解,从协议底层工作原理、报文结构、交互流程,到工程化配置规范与实操运维方法,层层递进拆解了 TCP/IP 体系中高频实用协议的核心逻辑。
SAP B1中文培訓教材_SDK
公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说
深度学习工具包 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');```[](https://bitdeli.com/free "Bitdeli Badge")
网关能通,却 Ping 不通?解析网络连通性的 “隐形” 障碍
防止网络探测: 黑客常常用Ping来扫描网络中存活的主机。减少网络攻击: 可以防御某些基于ICMP的DoS/DDoS攻击。避免网络风暴: 在某些故障情况下,大量的Ping请求可能会加剧网络拥堵。
tcpip常用协议
应用层协议基于 TCP 或 UDP 传输层协议实现,对应不同的业务场景,各协议有固定的端口号,分为 TCP 应用协议、UDP 应用协议及重点的 DNS、FTP、Telnet 等协议。网络支撑协议主要工作在网络层,为网络通信提供基础的地址解析、错误反馈和路径探测等功能,核心为 ARP 和 ICMP 协议。基于 TCP 的客户端 / 服务器架构,采用。
网络协议分析(仅供参考,后面的wireshark抓包内容最好自己看书研究)
必须掌握ARP协议的格式、工作原理和过程、功能,arp命令主要参数等 Arp协议被称为地址解析协议,功能是在同一局域网中,进行mac寻址完成ip到mac的映射,因为局域网中,信息的交流要通过mac地址确定,在同一局域网内,发送方如果自身mac表里没有接收方mac地址缓存,则会发送一个arp广播,用于寻找接收方的mac地址,接收方收到后,将自己的mac地址通过单播的形式返回(发送方不会验证,这也是arp欺骗的原理);arp命令通常如下 arp -a查看系统中所有arp缓存,arp -s 添...
TCP/IP协议族全解:从分层模型到抓包排障实战
网络通信是现代互联网的根基,而TCP/IP协议族则是支撑一切数据传输的基石。它通过分层设计思想,将复杂的通信过程拆解为应用层、传输层、网络层与链路层,每一层各司其职,既实现了解耦复用,又为故障排查提供了清晰路径。理解这些基础原理,是运维与开发人员必备的技能。从IP寻址、TCP三次握手与可靠传输,到UDP的低延迟特性,再到ARP、ICMP等辅助协议的作用机制,协议族内部环环相扣。实践中,借助Wireshark抓包分析真实流量,利用ping、telnet、traceroute快速定位问题,并掌握MTU分片、AR
计算机网络核心知识框架与实战指南:从协议原理到故障排查
计算机网络是现代信息技术的基石,其核心在于通过分层模型(如TCP/IP五层模型)实现数据的可靠、高效传输。理解其工作原理,需要掌握从应用层到物理层各层协议的关键机制,例如应用层的HTTP/HTTPS、DNS,传输层的TCP可靠传输与UDP高效传输,以及网络层的IP寻址与路由。这些知识不仅具有重要的技术价值,更是构建稳定网络服务、进行高效故障排查的基础。在实际应用场景中,无论是开发高并发Web服务、优化实时音视频通信,还是诊断网络延迟或异常流量问题,扎实的网络原理都能提供清晰的解决思路。本文基于高频搜索的“T
linux常用网络分析工具
ping命令 ping命令常用于测试源网络主机到目标网络主机的连通性,同时评估网络连接质量。 功能: (1)能验证网络的连通性 (2)会统计响应时间和TTL(IP包中的Time To Live,生存周期) 那么如何验证的呢? (1)ping命令会先发送一个 ICMP Echo Request给对端 (2)对端接收到之后, 会返回一个ICMP Echo Reply (3)若没有返回,...
网络基础DAY8
本文摘要: TCP/IP协议解析:详细介绍了ARP协议的四种类型(正常、无故、代理、RARP)及其功能与应用场景,其中无故ARP分为请求型和应答型,用于IP冲突检测和ARP表刷新。ICMP协议用于网络诊断,包括Ping、TraceRoute等功能,并说明其实现原理。应用层协议方面,DNS采用C/S架构,支持递归/迭代查询;FTP使用双TCP连接(控制21/数据20),提供主动/被动传输模式;Telnet和邮件协议(SMTP/POP3)也各有特点。文章还涉及网络安全配置要求,如ICMP重定向的风险防范。
每日一练20210622
1、以下选项中不属于标准 HTTP 响应头属性的是: 2021-06-23 00:53:47 A、 Cookie B、 ETag C、 Location 回答正确正确答案:A 解析: 略 2、以下关于TCP/IP协议的描述中,哪个是错误的() 2021-06-23 00:54:05 A、 TCP/IP协议属于应用层 B、 UDP协议提供简单的无连接服务 C、 TCP、UDP协议都要通过IP协议来发送、接收数据 D、 TCP协议提供可靠的面向连接服务 回答正确正确...
TCP/IP 协议基本知识笔记
1:TCP/IP 分层 1.1 链路层:设备驱动程序,接口卡 1.2 网络层:IP,ICMP,IGMP 1.3 运输层:TCP,UDP 1.4 应用层:Telnet,FTP,e-mail等 2:TCP/IP 封装 2.1 TCP报文(TCP segment):TCP传给IP的数据单元 2.2 IP数据报(IP datagram):IP传给网络接口层的数据单元
4274



被折叠的 条评论
为什么被折叠?



