ssh协议是udp还是tcp
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载
ssh协议是udp还是tcp
甲方:___________________
乙方:___________________
日期:___________________
ssh协议是udp还是tcp
篇一:tcp、udp及socket 的关系
1.4tcp、udp 及socket 的关系
《更安全的linux网络》第1章防火墙的基本概念,在
本书的开始将详尽讲解与防火墙相关的tcp/ip技术。此外,
对于防火墙的原理、种类、架构及其优、缺点,在本章中也都有详尽的介绍。本节为大家介绍tcp、udp及socket的关
系。
1.4tcp、udp 及socket 的关系
在了解了信息在网络上是如何传递之后,接下来,我们
要认识传输层中另一个重要的标记-- port。port在传输层
中是一个很重要的概念,我们之所以能够在一台主机上同时
执行多个服务,都得归功于port的概念。在开始谈port之
前,我们先来了解什么是socket o
socket是指一个上面有很多“洞”的东西,比如说,计
算机主机板上cpu的插座,我们称其为socket478或
socket939等,而socket上面这些洞在传输层中则称为port ,
在os的网络系统中会有两个socket ,分另U为tcpsocket 及
第i页共ii页
udpsocket , socket上各有65536个洞,我们把它称为port0、portl、port2port65535。
我们以图1-11为例来说明port的用途,图的左边为client 端、图的右边则为server 端,在server 端主机上,我们假设执行了web、ssh及dns这3项服务,在tcp/ip 的网络规范中,每一个网络应用程序执行时都会占用一个port ,如server 端的webservice 启动时,就会占用在tcpsocket 中的port80,简称为tcpport80,而sshservice 是tcpport22、dnsservice 则为udpport53,因此我们可以说,tcpport80 代表webservice 程序,tcpport22 代表sshservice 程序,而udpport53 即代表dnsservice 程序。
另外,在client部分,我们假设client端启动了browser > sshclient 及dnsclient 这3个网络应用程序,在tcp/ip 的规范中,客户端的网络应用程序启动时,一样也会
占用一个port。如图1-11所示,我们假设browser使用tcpport2099、sshclient 使用tcpport2088 ,以及dnsclient 使用udpport5555,因此,我们也可以说,tcpport2099 代
表browser 程序、tcpport2088 代表sshclient 程序、而udpport5555则代表dnsclient 程序。接下来看port的用途。假设client 端主机上的browser 欲与server 端的webservice来传递数据,因此,client 端主机随即产生一个数据封包送至server端。我们假设client 端的ip为
10.0.1.219、server 端的ip 为202.43.195.52 ,这个封包的内容就如图1-12所示。首先,封包内必然会记录封包的来源及目的,在图1-12中所标记的部分即为封包的来源及目的地址,但光是这两项信息只能代表client 端及server
端在传送数据,并无法说明client端主机上哪一个应用程序在访问,所标记的
部分就说明了client 端以port2099来
连接server端的port80,但另U忘了刚才说过的,port可以
代表主机上目前正在执行的某一个应用程序。
从以上说明我们可以了解,系统在接到一个封包之后,它是如何来辨别这个数据封包是要送给哪一个应用程序的。
当webservice 接至V这个请求封包之后,webservice 也
会回应client 端主机一个封包,而这个封包的内容就如图1-13所示,图中③所标记的位置为来源及接收端主机的ip ,
标记④的位置则表示来源端的webservice (port80 )及响应
给client 端主机的浏览器(port2099 )。由以上例子相信你已经了解了port的用途。
在了解port的用途之后,我们要了解65536个port是
如何被分配使用的。其实,不管是tcpport或udpport的运用,在RFc1700文档中都有完整的规范,我们可以从iana
的网站(/assignments/port-numbers ) 中取得port的使用列表,或是从linux系统中的/etc/services 文件中取得这些信息,笔者将其整理
如下。
公认的port : 0〜1023
注册的port : 1024〜49151。
动态的port : 49152〜65535。
1. 公认的port
会使用tcpport80 ,因为它是一个“规范”、是大家都知道的事,所以client 端在webserver 上访问webservice 时,client 端就会预设将封包送至
webserver的tcpport80。也
因为有规范的存在,所以我们要访问远程的某个服务时,就无须特另U打电话去询问:“你们家的webservice是使用在哪个port时',换句话说,每个service 都会有一个固定的port , 而这些port我们就称为公认的port ,其范围为0~1023。
2. 注册的port
由于在同一时间内,相同的port只能给一个程序使用,因此,程序设计师在编写网络应用程序时,就得特别注意自己开发的应用程序是使用哪一个p ort ,而这个port是否已
经被其他的应用程序占用了,但问题是程序设计师如何得知该port已被其他应用程序占用了呢?所幸的是iana组织定了一个规范,为了避免不必要的port 冲突,在指定port之
前,凡是需要用到固定port的网络应用程序可先在iana的网站上选用一个没有其他应用程序在使用的port ,并且可以
将其注册下来,以告诉其他的程序设计师,某个port已被
你所选用且已被注册,通过iana机制即可避免port冲突的