对tcp/ip协议新认识

2024-07-06

对tcp/ip协议新认识(共6篇)

对tcp/ip协议新认识 篇1

采用TCP协议连接的2端,在通讯的过程中协议的细节有一定的差别,

连接建立阶段

连接发起者syn中的seq与连接接收者syn中的seq相差1

在连接建立时,双方需要通报自己的seq开始值,滑动窗口大小,包的最大字节数

滑动窗口的使用,使得通讯的两端不需要收到一个数据后,就马上发出ack,可以一直发送,只要seq不超过初始seq值+滑动窗口值

数据传输

数据接收者的ack中的seq等于数据发送者的seq+数据长度

有时可能多次接收数据,发送一次ack

每次发送数据时,都要将数据从应用层拷贝到内核,数据在发送前都要检查连接是否有异常

连接关闭

连接关闭者发起的fin中seq与连接关闭ack的seq值相同

tcp协议中有一个重要的协议命令reset,reset表示重置连接,一般来说server校验client信息不符时,会发送rst到client,这个命令常用于server意外重启,很多防火墙也用它来断开client连接,

reset命令的发起者,reset命令一发送,发送缓冲区中的所有包都被清掉,而接收者的接受缓冲区的数据也会被清理。

fin命令是正常关闭,它会根据缓冲区的顺序来发送,就是发送fin之前的数据都要发送完毕,才会发fin包,所以rst用来异常关闭连接的。

如何重装TCP/IP协议 篇2

有时侯我们遭遇流氓软件或病毒木马,好不容易清除了却无法上网了,估计

是TCP/IP协议被破坏了,这时就可以通过重新安装TCP/IP协议来解决,但是在

“本地连接”属性里面的TCP/IP协议“卸载”选项不可选,该怎么办呢?可通

过以下方法来解决:

1、单击“开始”——“运行”——输入“regedit”,打开注册表编辑器,

删除以下两个键:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesWinsock

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesWinsock2

如下图所示:

2、用记事本打开%winroot%inf ettcpip.inf文件,找到:

可在地址栏里直接输入上面的路径,即可打开nettcpip.inf文件,并定位到

“MS_TCPIP.PrimaryInstall”:

Characteristics=0xa0<------把此处的0Xa0改为0x80保存退出,

%winroot%表示系统安装目录,一般情况下,这个值是“C:WINDOWS”。

3、打开本地连接的“TCP/IP属性”---“添加协议”——“从磁盘安装”

浏览找到刚刚保存的nettcpip.inf(%winroot%inf ettcpip.inf)文

件:

然后选择“TCP/IP协议”(不可选择那个MicrosoftTCP/IP版本6):

经过这一步之后,又返回网络连接的窗口,但这个时候,那个“卸载”按钮已经

是可用的了。点这个“卸载”按钮来把TCP/IP协议删除,然后重启一次电脑。

4、重启后再按照第3步,重新安装一次TCP/IP协议即可。

5、安装完成后再重启电脑一次,这时侯就可以了,然后根据实际情况,

对tcp/ip协议新认识 篇3

1.决定问题的因素

也就是说要考虑如下方面:

客户端:即出现问题的客户端

服务器端:客户无法访问的服务器?打印机或其它的网络资源(如互联网)等?

其间的网络:线缆(如果不是无线的话)?集线器?交换机?路由器?防火墙?代理服务器,以及客户端和服务器之间的其它网络架构?

环境:可能会影响你的网络的外部情况,如电源的波动?建筑物的维护等等?

范围:一个或多个有关的客户端/服务器端?

期间:连续的?间断的,还是偶尔的,何时开始等?

出现问题的连接类型:物理层?网络层?传输层还是应用层?身份验证还是访问控制?等等?

标志性信息:客户端机器上的出错消息,登录对话框等等?

2.决定需要应用哪些故障诊断措施

这些措施包括:

验证有关客户端?服务器和网络架构硬件的物理媒体?也就是说检查电缆,确保网络适配器正确安装,并进一步查找?验证可以显示媒体断开状态的网络连接?

验证有关客户端?服务器?网络架构硬件的TCPIP协议配置?在客户端上这意味着检查IP地址?子网掩码?默认网关?DNS设置等等?对于网络架构硬件而言,也就是指路由器上的路由表和Internet网关?

验证有关客户端和服务器端的路由选择的连通性?也就是说要使用ping,pathping,tracert,或其它类似的工具,便于在网络层上验证端到端的TCPIP的连接性;采用数据包嗅探以监视传输层会话;使用nslookup,telnet和其它的工具来诊断包括域名解析问题?身份验证等应用层问题?

3.理解之?询问之?测试之

理解协议如何工作,数据包如何由路由表转发,netdiag.exe等工具能够告诉你什么是非常关键的?成功的TCPIP协议网络故障诊断是建立在理解TCPIP如何工作和有关测试工具的基础之上的?如果你从来没有努力理解网络监视器的跟踪模式,那么你在诊断某些问题时就会遇到困难?

问一些恰当的问题对于成功的故障诊断也很关键?要学会何时按部就班,何时以跳跃性思维直奔主题是故障诊断艺术的本质所在,这还括充分使用你的左右脑,即要有充分的想象和缜密的思维?

最后,踏踏实实地测试,并隔离问题是很关键的,为此你需要故障诊断的工具箱?而且没有什么比丰富的经验更能帮助你解决复杂问题了?

4.小结

对tcp/ip协议新认识 篇4

(1)从应用层上来看,攻击者每次攻击时,与8300端口都有建立最多两、三百个tcp连接,

(2)从防火墙监控来看,攻击的流量非常微小,以至于防火墙的流量报警都未触发。

(3)每次攻击产生时,原先的玩家的tcp连接并未断开(应用程序未抛出TCP连接断开的异常),但服务端的再也接收不到来自客户端的任何消息。服务端进程的CPU飙到100%,而内存使用未发现异常。

(4)而且服务端也从未接收到来自攻击者的tcp连接的任何消息。

(5)我们对tcp半连接进行了监控,排除了基于tcp的半连接攻击。

(6)重启服务端程序后,一切恢复正常。

我们的动作以及思考:

(1)最开始,我们以为是服务端程序出现问题,导致CPU 100%,后来通过详细检查程序代码,并使用文本日志定时记录程序每个线程的状态(每5秒钟一次),排除了这一可能性。也就是说,在攻击的过程中,服务端内的各个线程的运行都是正常的。(后来,我们进一步确认了这一点 -- 我们在游戏服务器前加了一个简单的tcp代理服务器,游戏服务器不再对外暴露,所有客户端都与代理服务器连接,由代理服务器在游戏服务器和客户端之间转发所有的数据,结果代理服务器被攻击,代理服务器的代理程序进程的cpu达到100%(也是重启代理程序即恢复正常),而游戏服务器进程一直正常),

(2)排除程序的问题后,我们开始怀疑攻击者攻击的是TCP/IP协议栈(也许是根据TCP/IP的一些漏洞进行攻击),而导致操作系统在处理底层的TCP/IP数据报时,陷入忙碌的状态,而导致CPU 100%,而当底层陷入忙碌的时候,来自客户端的正常消息就来不及接收或者来不及提交到应用层(即我们的服务端程序)了。

我们还未确定,攻击的方式究竟是什么?以前我们碰到的大多是流量攻击,而针对这种低带宽的攻击或TCP/IP漏洞攻击,没有任何经验。不知哪位大侠碰到过类似的情况,能够指点一二,感激不尽了,呵呵

附:我在网上找到了一些可能与我们的攻击有关系的TCP/IP攻击相关的资料,与大家共享一下:

(1)TCP协议堵塞窗口算法攻击技术 :sec.chinabyte.com/207/8816207.shtml

(2)TCP RST攻击 :baike.baidu.com/view/1044719.htm

(3)低速率拒绝服务攻击原理 :blog.chinaunix.com/u/12592/showart_2058363.html

(4)TCP漏洞可导致致命DoS攻击 :sec.chinabyte.com/279/8339279.shtml

(5)泪滴攻击 :baike.soso.com/v4492311.htm

对tcp/ip协议新认识 篇5

1.1.一个简单的路由表

选路是IP层最重要的一个功能之一,前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由。这里就不重复了。首先来看看一个简单的系统路由表。

DestinationGatewayGenmaskFlags Metric RefUse Iface

192.168.11.0*255.255.255.0U000 eth0

169.254.0.0*255.255.0.0U000 eth0

default192.168.11.10.0.0.0UG000 eth0

对于一个给定的路由器,可以打印出五种不同的flag。

U表明该路由可用。

G表明该路由是到一个网关。如果没有这个标志,说明和Destination是直连的,而相应的Gateway应该直接给出Destination的地址。

H表明该路由是到一个主机,如果没有该标志,说明Destination是一个网络,换句话说Destination就应该写成一个网络号和子网号的组合,而不包括主机号(主机号码处为0),例如 192.168.11.0

D表明该路由是为重定向报文创建的

M该路由已经被重定向报文修改

U没啥可说的,G说明这是一个网关,如果你要发数据给Destination,IP头应该写Destination的IP地址,而数据链路层的MAC地址就应该是GateWay的Mac地址了;反之,如果没有G标志,那么数据链路层和IP层的地址应该是对应的。H说明了Destination的性质,如果是H的,则说明该地址是一个完整的地址,既有网络号又有主机号,那么再匹配的时候就既要匹配网络号,又要匹配主机号;反之,Destination就代表一个网络,在匹配的时候只要匹配一下网络号就可以了。

这样,IP选路的方式就可以更加具体化了。如下

首先用IP地址来匹配那些带H标志的DestinationIP地址。

如果1失败就匹配那些网络地址。

如果2失败就发送到Default网关

顺便提一下那个GenMask(还记得子网掩码么),它指定了目的地址的子网号,例如第一条的子网就是11。

1.2.其他有关路由表的知识

一般,我们在配置好一个网络接口的时候,一个路由就被直接创建好了。当然我们也可以手动添加路由。用route add命令就可以了。

而当一个IP包在某一个路由器的时候发现没有路由可走,那么该路由器就会给源主机发送“主机不可达”或者“网络不可达”的ICMP包来报错,

注意,一般的操作系统默认是没有路由功能的,这需要自己配置。这些历史原因就不细说了,

1.3.ICMP的IP重定向报文和路由发现报文

当IP包在某一个地方转向的时候,都回给发送IP报的源主机一个ICMP重定向报文,而源主机就可以利用这个信息来更新自己的路由表,这样,随着网络通信的逐渐增多,路由表也就越来越完备,数据转发的速度也会越来越快。我们需要注意的是:

重定向报文只能由路由器发出。

重定向报文为主机所用,而不是为路由器所用。

在主机引导的时候,一般会发送在网内广播一个路由请求的ICMP报文,而多个路由器则会回应一个路由通告报文。而且,路由其本身不定期的在网络内发布路由通告报文,这样,根据这些报文,每一个主机都会有机会建立自己的路由表而实现网络通信。路由器在一份通告报文中可以通告多个地址,并且给出每一个地址的优先等级,这个优先等级是该IP作为默认路由的等级,至于怎么算的就不深究了。

路由器一般会在450-600秒的时间间隔内发布一次通告,而一个给定的通告报文的寿命是30分钟。而主机在引导的时候会每三秒发送一次请求报文,一旦接受到一个有效的通告报文,就停止发送请求报文。

在TCP/IP详解编写的时候,只有Solaris2.x支持这两种报文,大多数系统还不支持这两种报文。(后面还会讲到一些有用的路由报文)

动态选路协议

前面的选路方法叫做静态选路,简要地说就是在配置接口的时候,以默认的方式生成路由表项。并通过route来增加表项,或者通过ICMP报文来更新表项(通常在默认方式出错的情况下)。 而如果上诉三种方法都不能满足,那么我们就使用动态选路。

动态选路协议是用于动态选路的重要组成部分,但是他们只是使用在路由器之间,相邻路由器之间互相通信。系统(路有选择程序)选择比较合适的路有放到核心路由表中,然后系统就可以根据这个核心路有表找到最合适的网路。也就是说,动态选路是在系统核心网络外部进行的,它只是用一些选路的策略影响路由表,而不会影响到最后通过路由表选择路由的那一部分。选路协议有一大类常用的叫做内部网关协议(IGP),而在IGP中,RIP就是其中最重要的协议。一种新的IGP协议叫做开放最短路经优先(OSPF)协议,其意在取代RIP。另一种最早用在网路骨干网上的IGP协议--HELLO,现在已经不用了。

如今,任何支持动态选路的路由器都必须同时支持OSPF和RIP,还可以选择性的支持其他的IGP协议。

2.1.Unix选路程序

Unix系统上面通常都有路由守护程序--routed。还有一个叫做gate。gate所支持的协议要比routed多,routed只是支持RIPv1版本。而gate则支持RIPv1、v2,BGPv1 等等。

2.1.RIP:选路信息协议

它的定义可以在RFC1058内找到,这种协议使用UDP作为载体(也就是UDP的上层协议)。我们最关心的就是RIP其中的一个段,叫做度量的段,这是一个以hop作为计数器(就是以走过多少路由为计数器)的段(IP协议里面也有一个TTL不是么)。这个度量段将最终影响到路由表的建立。参考图:

一般说来routed要承担如下的工作:

给每一个已知的路由器发送rip请求报文,要求其他路由器给出完整的路由表。这种报文的命令字段为1,地址字段为0,度量地段为16(相当于无穷大)。

接受请求,如果接收到刚才的那个请求,就把自己的完整的路由表交给请求者。如果没有,就处理IP请求表项,把表项中自己有的部分添上跳数,没有的部分添上16。然后发给请求者。

接受回应。更新自己的路由表。使用hop数小的规则。

定期更新路由表,一般是30s(真频繁)给相邻的路有启发一次自己的路由表。这种形式可以使广播形式的。

这个协议看起来会工作的很好,但是,这里面其实有很多隐藏的忧患,比如说RIP没有子网的概念,比如说环路的危险。而且hop数的上限也限制了网络的大小。

因此,出现了很多RIPv1的替代品,比如说RIPv2,比如说OSPF。他们都是通过某种策略来影响路由表,所以就不说了

对tcp/ip协议新认识 篇6

(1)OSI七层模型

OSI中的层 功能 TCP/IP协议族

应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet

表示层 数据格式化,代码转换,数据加密 没有协议

会话层 解除或建立与别的接点的联系 没有协议

传输层 提供端对端的接口 TCP,UDP

网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP

数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU

物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2

(2)TCP/IP五层模型的协议

应用层

传输层

网络层

数据链路层

物理层

物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层

数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层)

网络层:路由器、三层交换机

传输层:四层交换机、也有工作在四层的路由器

二、TCP/UDP协议

TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议)等.

TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点

三、OSI的基本概念

OSI是Open System Interconnect的缩写,意为开放式系统互联。

OSI七层参考模型的各个层次的划分遵循下列原则:

1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。

2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。

3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。

4、不同节点的同等层按照协议实现对等层之间的通信。

第一层:物理层(PhysicalLayer),

规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械 特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率 距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组 操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等,

第二层:数据链路层(DataLinkLayer):

在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。在这一层,数据的单位称为帧(frame)。数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。

第三层是网络层

在 计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。如 果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地 址解析协议(ARP)。有关路由的一切事情都在这第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。在这一层,数据的单位称为数据包(packet)。网络层协议的代表包括:IP、IPX、RIP、OSPF等。

第 四层是处理信息的传输层

第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段 (segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的 数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中 传输层对上层屏蔽了通信传输系统的具体细节。传输层协议的代表包括:TCP、UDP、SPX等。

第五层是会话层

这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,而是统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。

第六层是表示层

这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩,加密和解密等工作都由表示层负责。

第七层应用层

应用层为操作系统或网络应用程序提供访问网络服务的接口。应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。

除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别?

www.dnzg.cn

开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:

TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。

TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。

TCP/UDP协议

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。

TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。

上一篇:胸腔穿刺术操作规范下一篇:节约型校园建设制度