当在Windows XP中一起运转多个网络运用程序时,每个运用程序都会发生自己的
数据流,传输层是用什么办法差异不同运用程序的数据流呢?
在数据流被分段(分组)今后,传输层依托什么来从头拼装这些数据流呢?
假设某个数据段在传输过冲中丢掉了或重复了,牢靠的传输协议依据什么去要求
重传这些数据或丢掉剩余的数据呢?
带着这些问题,下面来议论传输层所供给的服务。
传输层的主要功能是切割并从头拼装上层供给的数据流,为数据流供给端对端的
传输服务。
在TCP/IP协议中,有两个传输层协议:传输操控协议(TCP)和用户数据包协议(UDP)
TCP是一个牢靠的面向衔接的协议,UDP是不牢靠的或非衔接的协议。这种面向衔接和
非衔接的通讯方法的差异,就像打电话和寄明信片相同。打电话的两边在正式通话之
前都会说“喂”,承认对方在线今后才开端通话,会话结束时都要说“再会”,然后
才挂下电话。而寄明信片却没有这种机制,寄出去了但不论对方是否收到。
端口号
每个运用程序都会发生自己的数据流,这些数据流能够把方针主机上相应的服务程序
看作自己的意图地,关于传输层来说,它只需要知道方针主机上的哪个服务程序来响
应这运用程序,而不需要知道这个服务程序详细是干什么的。因而,传输层运用一个
笼统的端口号来标识这些运用程序和服务程序。
端口号的功能及运用特色
端口号用来盯梢网络间一起发生的不同会话。TCP和UDP能够一起接纳多个运用程序送
来的数据流,用端口号来差异他们,然后送给恰当的运用程序处理。这时多路分化技
术的表现,它能够确保正确的用户程序收到正确的数据。因而,每个运用程序发送数
据前都会与操作体系进行洽谈,取得呼应的源端口号和方针端口号。
在主机发送运用程序的数据之前,都必须承认端口号,怎么分配这些端口号呢?一般
有两种状况,运用中心办理机构一致分配的端口号和运用动态绑定。
运用中心办理机构一致分贝的端口号。运用程序的开发者们都默许在RFC1700中界说的
特别端口号,在进行软件设计时,都要遵照RFC1700中界说的规矩,不能随意运用现已
界说的端口号,那么体系将在一个特定的取值规模随机地为运用程序分配一个端口号。
例如,任何Telnet运用中的会话都运用规范端口号23。
运用动态绑定。假设一个运用程序的会话没有涉及到特别的端口号,那么体系将在一个
特定的取值方位内随机地为运用程序分配一个端口号。在运用程序进行通讯曾经,假设
不知道对方的端口号,就必须发送恳求以取得对方的端口号。
RFC(Request for Comments,征求意见材料)是一个材料系列,始创于1969年,其间描绘
了关于Internet的协议试验,并不是一切RFC材料都是描绘Internet规范的,但一切
Internet规范都是作为RFC材料编写的。RFC材料中提交的协议都是Internet研究人员和
开发人员依据自己的状况树立、修正和扩大的,因而不同于CCITT(世界电报电话咨询委
员会)和ANSI(美国国家规范协会)等安排所倡议的并通过正式评定和规范化处理的协议
Internet RFC有3种状况:Proposed(提案)、Draft(草案)和Full(规范)。
TCP/IP的设计者们选用一种混合方法完成端口号地址的办理,终端体系运用源体系端口
号来挑选适宜的运用程序,可是源体系的源端口号由源体系动态分配。
常用的端口号介绍
现在的端口号的分配状况大致如下:
小于255的端口号用于公共运用
255~1023是特定供货商运用程序的注册端口号
高于1023的端口号未作规则。
常用运用层协议或运用程序 | 端口号 |
UPP
|
TCP
|
|
FTP
|
–
|
21
|
Telnet
|
–
|
23
|
SMTP
|
–
|
25
|
DNS
|
53
|
–
|
TFTP
|
69
|
–
|
SNMP
|
161
|
–
|
HTTP
|
–
|
80
|
DHCP
|
–
|
67
|
RPC(长途调用)
|
–
|
135
|
下面举例说明端口号的运用进程。
主机A要Telnet到主机B。主机A首先向TCP恳求一个可用端口,假设TCP分配一个为1088
的端口,主机A将方针端口号置为23。A和B通讯今后,B看到A过来的端口号为23,就知
道这时Telnet运用,它就会为此创立一个Telnet会话。
假设同一体系中有多个Telnet用户,会发生什么状况呢?当主机A上第二个用户要Telne到
主机B时(其实是在主机A与主机B之间树立第二个Telnet进程),主机A的第二个用户向TCP
TCP会选出别的一个可运用的端口号,假设为10099,给第二个用户。主机B上便会创立
第二个Telnet会话。
所以在一致IP地址上具有不同端口号的两个衔接是不同的。IP地址和端口号被用来仅有地
承认数据衔接的途径。
UDP
UDP是TCP/IP的另一个十分重要的协议。
UDP数据域的头部共占用了8个字节
UDP数据域的头格局描绘
称号
|
描绘
|
源端口
|
调用的端口号
|
意图端口
|
被调用的端口号
|
报文长度
|
记载UDP数据包中的8位组数目包含UDP数据的长度
最小值为8(数据部分为0时)
|
校验和
|
头标和数据域核算的校验和,这一项是可选的,为的
是在高牢靠性的网路上尽量削减开支
|
数据
|
上层协议的数据
|
UDP为运用程序供给的是一种不牢靠的、非衔接的分组交给服务,UDP报文或许呈现
丢掉、重复、时延、乱序、衔接失效的问题。可是正式由于它不供给这种牢靠性,所
以它的开支很小。换句话说,UDP供给了一种在高效牢靠的网络上传输数据而不必消
耗不必要的网络资源和处理时刻的通讯方法。运用UDP的协议包含TFTP、SNMP、DNS
DHCP。UDP很合适这种客户机像服务器发送简略服务恳求的环境,由于这种服务的开
销原本就很小,假设在喀什或许结束时参加相似TCP三次握手的进程,网络的实践运用
将会变得很低。
UDP还能够用于操作信息的登录。例如,像日志服务器 syslog发送日志信息,选用UDP
不会导致多台设备向一台服务器发送日志信息而引起过载。
UDP依托上层协议供给牢靠性,包含处理报文的丢掉、重复、时延、乱序、衔接失效
等问题。如Real流格局媒体便是运用运用程序协议来确保数据的正确传输。
TCP
在上文中现已说到UDP为运用程序供给的是一种不牢靠的、非衔接的分组的交给服务。当网络硬件失效
或许担负太重时,数据段或许会发生丢掉、重复、时延、乱序等现象,这些都会导致通讯不正常。假设
让运用程序来担负过失检测和康复的作业,将给程序员带来许多杂乱的作业,所以运用独立的通讯协议
来确保通讯的牢靠性是十分必要的。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/dianlu/318769.html