tcpudp协议号.docx

上传人:b****1 文档编号:1806209 上传时间:2023-05-01 格式:DOCX 页数:11 大小:22.41KB
下载 相关 举报
tcpudp协议号.docx_第1页
第1页 / 共11页
tcpudp协议号.docx_第2页
第2页 / 共11页
tcpudp协议号.docx_第3页
第3页 / 共11页
tcpudp协议号.docx_第4页
第4页 / 共11页
tcpudp协议号.docx_第5页
第5页 / 共11页
tcpudp协议号.docx_第6页
第6页 / 共11页
tcpudp协议号.docx_第7页
第7页 / 共11页
tcpudp协议号.docx_第8页
第8页 / 共11页
tcpudp协议号.docx_第9页
第9页 / 共11页
tcpudp协议号.docx_第10页
第10页 / 共11页
tcpudp协议号.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

tcpudp协议号.docx

《tcpudp协议号.docx》由会员分享,可在线阅读,更多相关《tcpudp协议号.docx(11页珍藏版)》请在冰点文库上搜索。

tcpudp协议号.docx

tcpudp协议号

竭诚为您提供优质文档/双击可除

tcp,udp协议号

  篇一:

协议号与端口号区别

  协议号与端口号区别

  协议号和端口号的区别

  网络层-数据包的包格式里面有个很重要的字段叫做协议号。

比如在传输层如果是tcp连接,那么在网络层ip包里面的协议号就将会有个值是6,如果是udp的话那个值就是17-----传输层

  传输层--通过接口关联(端口的字段叫做端口)---应用层,详见RFc1700

  协议号是存在于ip数据报的首部的20字节的固定部分,占有8bit.该字段是指出此数据报所携带的是数据是使用何种协议,以便目的主机的ip层知道将数据部分上交给哪个处理过程。

也就是协议字段告诉ip层应当如何交付数据。

  而端口,则是运输层服务访问点tsap,端口的作用是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让运输层知道应当将其报文段中的数据向上通过端口交付给应用层的进程。

端口号存在于udp和tcp报文的首部,而ip数据报则是将udp或者tcp报文做为其数据部分,再加上ip数据报首部,封装成ip数据报。

而协议号则是存在这个ip数据报的首部.

  比方来说:

  端口你在网络上冲浪,别人和你聊天,你发电子邮件,必须要有共同的协议,这个协议就是tcp/ip协议,任何网络软件的通讯都基于tcp/ip协议。

如果把互联网比作公路网,电脑就是路边的房屋,房屋要有门你才可以进出,tcp/ip协议规定,电脑可以有256乘以256扇门,即从0到65535号“门”,tcp/ip协议把它叫作“端口”。

当你发电子邮件的时候,e-mail软件把信件送到了邮件服务器的25号端口,当你收信的时候,e-mail软件是从邮件服务器的110号端口这扇门进去取信的,你现在看到的我写的东西,是进入服务器的80端口。

新安装好的  true;intextads_gglayer="_u4e2a_u4eba_u7535_u8111";keygate_ads.showggads(this,"_u4e2a_u4eba_u7535_u8111",event)"style="border-top-width:

0px;padding-right:

0px;padding-left:

0px;

  font-weight:

normal;border-left-width:

0px;border-bottom-width:

0px;padding-bottom:

0px;margin:

0px;cursor:

hand;color:

#0000ff;padding-top:

0px;border-right-width:

0px;text-decoration:

underline"onclick="javascript:

window.open("/urlsa=lggkwclickstat("个人电脑",".cn/eshop","afs","1000016002");"onmouseout="isshowgg=false;intextads_gglayer="_u4e2a_u4eba_u7535_u8111"">个人电脑打开的端口号是139端口,你上网的时候,就是通过这个端口与外界联系的。

  关于端口,再做一些补充

  现在假设我们有一台服务器,别人可以用一种tcp/ip协议的一种如ftp登录上我们的机器上进行文件的上传下载,但是同时我们又希望别人能够浏览我们的web服务器,如果要是没有端口,那末很显然,我们无法区分这两种不同的服务,同时客户端也无法区分我们给他提供了那种服务。

我们现在采用端口来解决这个问题,在使用tcp/ip协议在主机上建立服务之前,我们必须制定端口,指定端口号将表示运行的是那种服务。

  比如,客户端发送一个数据包给ip,然后ip将进来的数据发送给传输协议(tcp或者udp),然后传输协议再根据数据包的第一个报头中的协议号和端口号来决定将此数据包给哪个应用程序(也叫网络服务)。

也就是说,协议号+端口号唯一的确定了接收数据包的网络进程。

由于标志数据发送进程的源端口号和标志数据接受进程的目的端口号都包含在每个tcp段和udp段的第一个分组中,系统可以知道到底是哪个客户应用程序同哪个服务器应用程序在通讯,而不会将数据发送到别的进程中。

  但是要注意的一点是同样的一个端口在不同的协议中的意义是不同的,比如tcp和udp中的端口31指的并不是同一个端口。

但是对于同一个协议,端口号确实唯一的。

  在端口中分为两种,一是知名端口,也即小于256的端口号。

另一种是动态分配的端口,也就是在需要时再将其赋给特定的进程。

这类似于nt服务器或者163拨号上网,也就是动态的分配给用户一个目前没有用到的标志。

动态分配的端口号都是高于标准端口号范围的。

  网络服务常用的应用协议和对应的标准端口号

  《网络服务通用的应用协议和对应的标准(默认)端口号:

  应用协议端口号/协议说明

  ftp-data20/tcpFtp,data

  ftp21/tcpFtp.control

  telnet23/tcp

  smtp25/tcpsimplemailtransferprotocol

  time37/tcptimserver

  time37/udptimserver

  domain53/tcpdomainnameserver

  domain53/udpdomainnameserver

  tftp69/udptrivialFiletransfer

  gopher70/tcp

  http80/tcpwww-httpworldwideweb

  pop3110/tcppostofficeprotocol-Version3

  nntp119/tcpnetworknewstransferprotocol

  netbios-ns137/tcpnetbiosnameservice

  netbios-ns137/udpnetbiosnameservice

  netbios-dgm138/udpnetbiosdatagramservice

  netbios-ssn139/tcpnetbiossessionservice

  imap143/tcpinternetmessageaccessprotocol

  snmp161/udpsnmp

  snmptrap162/udpsnmptrap

  irc194/tcpinternetRelaychatprotocol

  ipx213/udpipxoverip

  ldap389/tcplightweightdirectoryaccessprotocol

  https443/tcp

  https443/udp

  uucp540/tcp

  ldaps636/tcpldapovertls/ssl

  doom666/tcpdoomidsoftware

  doom666/udpdoomidsoftware

  phone1167/udpconferencecalling

  ms-sql-s1433/tcpmicrosoft-sql-server

  ms-sql-s1433/udpmicrosoft-sql-server

  ms-sql-m1434/tcpmicrosoft-sql-monitor

  ms-sql-m1434/udpmicrosoft-sql-monitor

  wins1512/tcpmicrosoftwindowsinternetnameservice

  wins1512/udpmicrosoftwindowsinternetnameservice

  l2tp1701/udplayertwotunnelingprotocol

  1720/tcp

  qicq4000/udp

  qicq8000/udp

  qq1080/udpsocks代理

  《木马的常用连接端口》

  木马类软件常用的连接端口,如tcp135、139、445、3389、5000等,我们称为敏感端口,另外“冰河”常用7626端口、“广外女生”常用6267端口。

  《Vpn使用端口:

  l2tp1701/udp#layertwotunnelingprotocol

  pptp1723/tcp#point-to-pointtunnellingprotocol

  《远程控制软件pcanywhere使用的端口》

  它的“被控端”使用2个端口,数据端口(5631)和状态端口(5632)。

  《bt下载使用的端口》

  bt默认使用的端口是6881,6882,6883.....6889的tcp连接(每一个下载只使用一个端口,顺次分配)《架设cs服务器》

  指定游戏连接端口为27016。

  ip协议号

  十进制关键字协议

  ============================

  0hopoptipv6逐跳选项

  1icmpinternet控制消息

  2igmpinternet组管理

  3ggp网关对网关

  4ipip中的ip(封装)

  5st流

  6tcp传输控制

  7cbtcbt

  8egp外部网关协议

  9igp任何专用内部网关

  (cisco将其用于igRp)

  10bbn-Rcc-monbbnRcc监视

  11nVp-ii网络语音协议

  12puppup

  13aRgusaRgus

  14emconemcon

  15xnet跨网调试器

  16chaoschaos

  17udp用户数据报

  18mux多路复用

  19dcn-measdcn测量子系统

  20hmp主机监视

  21pRm数据包无线测量

  22xns-idpxeRoxnsidp

  23tRunk-1第1主干

  24tRunk-2第2主干

  25leaF-1第1叶

  26leaF-2第2叶

  27Rdp可靠数据协议

  28iRtpinternet可靠事务

  29iso-tp4iso传输协议第4类

  30netblt批量数据传输协议

  31mFe-nspmFe网络服务协议

  32meRit-inpmeRit节点间协议

  33sep顺序交换协议

  343pc第三方连接协议

  35idpR域间策略路由协议

  36xtpxtp

  37ddp数据报传送协议

  38idpR-cmtpidpR控制消息传输协议39tp++tp++传输协议

  40ilil传输协议

  41ipv6ipv6

  42sdRp源要求路由协议

  43ipv6-Routeipv6的路由标头

  44ipv6-Fragipv6的片断标头

  45idRp域间路由协议

  46RsVp保留协议

  47gRe通用路由封装

  48mhRp移动主机路由协议

  49bnabna

  50espipv6的封装安全负载

  51ahipv6的身份验证标头

  52i-nlsp集成网络层安全性tuba53swipe采用加密的ip

  54naRpnbma地址解析协议

  55mobileip移动性

  56tlsp传输层安全协议

  使用kryptonet密钥管理

  57skipskip

  58ipv6-icmp用于ipv6的icmp

  59ipv6-nonxt用于ipv6的无下一个标头60ipv6-optsipv6的目标选项

  61任意主机内部协议

  62cFtpcFtp

  63任意本地网络

  64sat-expaksatnet与后台expak65kRyptolankryptolan

  66RVdmit远程虚拟磁盘协议

  67ippcinternetpluribus数据包核心68任意分布式文件系统

  69sat-monsatnet监视

  70VisaVisa协议

  71ipcVinternet数据包核心工具

  72cpnx计算机协议网络管理

  73cphb计算机协议检测信号

  74wsn王安电脑网络

  75pVp数据包视频协议

  76bR-sat-mon后台satnet监视

  77sun-ndsunndpRotocol-temporary78wb-monwideband监视

  79wb-expakwidebandexpak80iso-ipisointernet协议

  81VmtpVmtp

  82secuRe-VmtpsecuRe-Vmtp83VinesVines

  84ttpttp

  85nsFnet-igpnsFnet-igp

  86dgp异类网关协议

  87tcFtcF

  88eigRpeigRp

  89ospFigpospFigp

  90sprite-RpcspriteRpc协议

  91laRp轨迹地址解析协议

  92mtp多播传输协议

  93ax.25ax.25帧

  94ipipip中的ip封装协议

  95micp移动互联控制协议

  96scc-sp信号通讯安全协议

  97etheRipip中的以太网封装

  98encap封装标头

  99任意专用加密方案

  100gmtpgmtp

  101iFmpipsilon流量管理协议

  102pnniip上的pnni

  103pim独立于协议的多播

  104aRisaRis

  篇二:

tcpintcounter;counter=0;while(size>0){

  uint16val=buffer[counter];

  cksum+=convert.toint32(buffer[counter]);counter+=1;size-=1;}

  cksum=(cksum>>16)+(cksumcksum+=(cksum>>16);return(uint16)(~cksum);}

  构造udp报文(含有检验和)需要的输入参数包括:

uint32源ip、uint32目的ip、uint16源端口号、uint16目的端口号、byte[]数据部分、uint16数据部分的长度

  publicbyte[]构造udp数据报(uint32源ip,uint32目的ip,uint16源端口号,uint16目的端口号,byte[]数据部分,uint16数据部分的长度){

  uint16总长度=(uint16)(8+数据部分的长度);uint16校验和=0;

  //网络字节顺序

  源ip=(uint)ipaddress.hosttonetworkorder((int)源ip);

  目的ip=(uint)ipaddress.hosttonetworkorder((int)目的ip);

  源端口号=(ushort)ipaddress.hosttonetworkorder((int16)源端口号);

  目的端口号=(ushort)ipaddress.hosttonetworkorder((int16)目的端口号);总长度=(ushort)ipaddress.hosttonetworkorder((int16)总长度);//

  byte[]udpbytes=newbyte[8+数据部分的长度];

  bitconverter.getbytes(源端口号).copyto(udpbytes,0);//填入源端口号

  bitconverter(tcp,udp协议号).getbytes(目的端口号).copyto(udpbytes,2);//填入目的端口号

  bitconverter.getbytes(总长度).copyto(udpbytes,4);//填入总长度

  bitconverter.getbytes(校验和).copyto(udpbytes,6);//校验和数据部分.copyto(udpbytes,8);

  //下面是计算校验和.数据部分如果不是偶数字节则补一个字节.

  byte[]伪报文=newbyte[20+(数据部分的长度+1)/2*2];//确保偶数字节bitconverter.getbytes(源ip).copyto(伪报文,0);//填入源端口号bitconverter.getbytes(目的ip).copyto(伪报文,4);//填入目的端口号伪报文[8]=0;//填充0.网络字节顺序

  伪报文[9]=17;//和udp协议号

  bitconverter.getbytes(总长度).copyto(伪报文,10);//填入总长度udpbytes.copyto(伪报文,12);

  //stringss=网络字节串(伪报文);unsafe{

  fixed(byte*pt=伪报文){

  ushort*pu=(ushort*)pt;

  校验和=计算校验和(pu,伪报文.length/2);}}

  //不知道为什么不对校验和进行网络字节顺序的调整

  bitconverter.getbytes(校验和).copyto(udpbytes,6);//校验和returnudpbytes;}

  tcpudp报文解析

  1udp报文:

  udp报文比较简单,由四个字段组成,每个字段2个字节:

(1)源端口sourceport

(2)目的端口destinationport(3)长度:

udp用户数据报的长度(4)检验和checksum

  scapy中定义的udp类(参数一一对应)>>>ls(udp)

  sport:

shortenumField=(53)dport:

shortenumField=(53)len:

shortField=(none)chksum:

xshortField=(none)>>>

  我们用这个发一个完整的udp数据包。

定义:

>>>eth=ether()

  >>>ip=ip(dst=10.104.4.13)

  >>>udp=udp(sport=4321,dport=4321)

  >>>udppacket=eth/ip/udp/thisisanudpdatagram>>>sendp(udppacket).

  sent1packets.>>>udppacket.show()###[ethernet]###dst=00:

11:

85:

ae:

03:

3bsrc=00:

22:

15:

27:

69:

16type=0x800###[ip]###

  篇三:

tcp、udp协议详解

  [转]tcp、udp协议详解

  1.

  现在internet上流行的协议是tcp/ip协议,该协议中对低于1024的端口都有确切的定义,他们对应着internet上一些常见的服务。

这些常见的服务可以分为使用tcp端口(面向连接)和使用udp端口(面向无连接)两种。

  说到tcp和udp,首先要明白“连接”和“无连接”的含义,他们的关系可以用一个形象地比喻来说明,就是打电话和写信。

两个人如果要通话,首先要建立连接——即打电话时的拨号,等待响应后——即接听电话后,才能相互传递信息,最后还要断开连接——即挂电话。

写信就比较简单了,填写好收信人的地址后将信投入邮筒,收信人就可以收到了。

从这个分析可以看出,建立连接可以在需要通信的双方建立一个传递信息的通道,在发送方发送请求连接信息接收方响应后,由于是在接受方响应后才开始传递信息,而且是在一个通道中传送,因此接受方能比较完整地收到发送方发出的信息,即信息传递的可靠性比较高。

但也正因为需要建立连接,使资源开销加大(在建立连接前必须等待接受方响应,传输信息过程中必须确认信息是否传到及断开连接时发出相应的信号等),独占一个通道,在断开连接前不能建立另一个连接,即两人在通话过程中第三方不能打入电话。

而无连接是一开始就发送信息(严格说来,这是没有开始、结束的),只是一次性的传递,是先不需要接受方的响应,因而在一定程度上也无法保证信息传递的可靠性了,就像写信一样,我们只是将信寄出去,却不能保证收信人一定可以收到。

  tcp是面向连接的,有比较高的可靠性,一些要求比较高的服务一般使用这个协议,如Ftp、telnet、smtp、http、pop3等,而udp是面向无连接的,使用这个协议的常见服务有dns、snmp、qq等。

对于qq必须另外说明一下,qq20xx以前是只使用udp协议的,其服务器使用8000端口,侦听是否有信息传来,客户端使用4000端口,向外发送信息(这也就不难理解在一般的显ip的qq版本中显示好友的ip地址信息中端口常为4000或其后续端口的原因了),即qq程序既接受服务又提供服务,在以后的qq版本中也支持使用tcp协议了。

  2.

  在了解tcp和udp之前,我们需要来了解俩个概念,面向连接的服务和无连接的服务,应用面向连接的服务时,客户和服务器在进行数据发送前,彼此向对方发送控制分组,这就是所谓的握手过程,使得客户和服务器都做好分组交换准备。

这个准备是很松散的,面向连接服务与很多其他的服务捆绑在一起,包括可靠的数据传输,流量控制和拥塞控制等,依赖连接以正确的顺序无错地传递所有数据。

还要使用确认和重传机制实现来可靠性。

而无连接服务侧是没有握手过程的,当一方想发送数据时就直接了当地发送,因为没有握手过程也就没有什么流量控制和拥塞控制,这样数据可能传输得更快,但是,由于也没有确认过程,源端就不知道那些分组到达了目的端。

因此可能在传输过程中丢失数据,不适合用在一些文件的传输,可以用在因特网电话,视频会议什么的。

  tcp(传输控制协议)和udp(用户数据报协议)是传输层的俩个传输协议,它们俩个的最大区别就是是否面向连接。

  tcp包括了面向连接和可靠数据传输服务,在客户端和服务器端进行通信前,要先交换传输层控制信息,为双方的通信做好准备。

在这个握手阶段后,我们就可以认为在这俩个进程间存在一个tcp连接,且是一个全双工的连接,在消息发送完后,应用程序会告诉tcp拆除这个连接。

可靠的传输服务为了保障彼此通信能无差错地顺序传递所有数据。

  当其中任何一个应用程序把一个字节流传如套接字时,它可以指望tcp把同样的字节流传递到对方的套接字,中间不回丢失和重传。

tcp是因特网的一种公益服务,其目的是能调节数据传输过程中的一些问题,因此还要包含一个拥塞机制。

tcp拥塞机制在网络变得拥塞时阻止发送进程。

确切地说,tcp拥塞控制试图把每个tcp连接限定在它所公平共享的网络带宽上。

对于有最小带宽需求限制的实时音频或视频应用来说,阻止其带宽那就让它们不能正常工作,此外,我们能想象一下,在网络电话通话时,偶尔的不连续是可以容忍的,可见实时应用可以容忍丢失少部分数据,不需要完全可靠服务。

  说了这么多,tcp能提供的好的服务,再看一下其缺点吧,首先,tcp不保证最小传输率,通俗点说,tcp不允许发送进程以想要的速率发送数据,受到tcp拥塞控制的调节,发送进程有可能被迫以一个较低的平均速率发送。

其次,tcp不提供任何延时保障,具体点说,发送进程把数据传入自己的tcp套接字后,这个数据将最终到达其接受套接字,但是中间所经历的时间就不能保证了,花几秒或则几分钟都不一定。

  udp是一个非面向连接的轻量级传输协议,具有一个最简单的服务模型。

udp是无连接的,因此两个进程彼此通信之前没有握手过程。

udp提供不可靠的数据传输服务,也就是说当一个进程往自己套接字发送一个消息时,udp不能保障这个消息回最终到达接受套接字。

另外,就确实到达接收套节字的消息而言,他们的到达顺序也可能不是有序的。

  udp不含拥塞控制机

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2