精华内容
下载资源
问答
  • 传输层作用概述

    万次阅读 2018-01-16 10:15:46
    我们知道传输层位于网络层之上,网络层提供了主机之间的逻辑通道。那既然已经把一个数据包从一个主机发到另...这就需要靠传输层作用了。  传输层协议能提供应用的多路复用/分用服务、可靠数据传送、带宽保证及延迟

            我们知道传输层位于网络层之上,网络层提供了主机之间的逻辑通道。那既然已经把一个数据包从一个主机发到另一个主机上面了,为什么还需要传输层呢?这是因为传输层提供了应用进程之间的端-端连接。我们知道一个电脑可能有多个进程同时在使用网络连接,那么网络包达到主机之后,怎么区分自己属于那个进程?这就需要靠传输层的作用了。

            传输层协议能提供应用的多路复用/分用服务、可靠数据传送、带宽保证及延迟保证等。网络层提供的是“best effort”尽力而为的服务,网络层提供的无连接服务不可靠(丢包、重复),并且路由器可能崩溃,或者传输线路中断,所以传输层必须足够健壮来解决网络层不可靠,不稳定的问题,比如说传输层可检测到包丢失、损坏、乱序等差错情况,采取相应措施;或者当数据传输过程中网络连接中断,传输层可与远程传输实体建立一新的网络连接,在中断处继续数据的传输。


    传输层(TL)和网络层的关系如上图所示

            那么具体解释一下传输层的作用:第一,多路复用和分用。复用:当传输层从应用程序接收报文后要封装在传输层的段中再交给网络层发送。分用:当传输层从网络层接收数据后,必须将数据正确递交给某个应用程序。也就是传输层曾能够区分不同进程的数据并且加以区分处理。可靠数据传输,比如传输层的TCP协议,提供了面向连接的,可靠的,具有拥塞控制的协议,这是为了弥补网络层不足所建立的。

           此外,传输层还有寻址的功能,定位应用程序在哪里。以及流量的控制,防止接收端速度太慢造成溢出和丢包的现象。流量控制和拥塞控制的区别是:流量控制只是端端之间,只需要管理两个端之间的流量传输即可,也就是局部的。但是拥塞控制是全局的,是整个网络所做的事情,需要所有的路由器主机一起努力完成的事情。在传输层,既有流量控制也有拥塞控制。

            传输协议要解决的问题取决于网络底层所能提供的服务质量。我们能看出来,传输层除了分用复用以外,好多功能都是针对性的弥补网络层的不足而产生的。两者对应来理解,会对于传输层和网络层有更深的理解。

            拓展阅读

            网络层的作用

    展开全文
  • 传输层作用 传输层定义 通信处理 两种传输层协议TCP和UDP TCP UDP TCP与UDP区分 套接字(Socket) 端口号 端口号定义 根据端口号识别应用 通过IP地址、端口号、协议号进行通信识别 端口号如何确定 标准...

    目录

    传输层的作用

    传输层定义

    通信处理

    两种传输层协议TCP和UDP

    TCP

    UDP

    TCP与UDP区分

    套接字(Socket)

    端口号

    端口号定义

    根据端口号识别应用

    通过IP地址、端口号、协议号进行通信识别

    端口号如何确定

    标准既定的端口号

    时序分配法

    端口号与协议

    UDP

    UDP的特点及其目的

    用户与程序员

    其他传输层协议

    UDP-Lite

    SCTP

    DCCP


    传输层的作用

    传输层定义

    IP首部中有一个协议字段,用来标识网络层(IP)的 上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传 输的数据部分究竟是TCP的内容,还是UDP的内容。

    同样,传输层的TCP和UDP, 为了识别自己所传输的数据部分究竟应该发给 哪个应用,也设定了这样一个编号。

    以包裹为例,邮递员(IP)根据收件人地址(目标IP地址)向目的地(计 算机)投递包裹(IP数据报)。包裹到达目的地以后由对方(传输层协议)根据 包裹信息判断最终的接收人(接收端应用程序)。

    如果快递单上只写了家庭地址和姓氏,那该如何是好呢?你根本无法判断快 递究竟应该投递给哪一位家庭成员。同样,如果收件人地址是学校或公司,而 且也只写了一个姓氏,会给投递工作带来麻烦。因此,在日本的投递业务中都会 要求寄件人写清楚接收人的全名。其实在中国,一个人的姓氏不像日本那样复姓 居多,人们也通常不会仅以姓氏称呼一个人。但是也有一种特殊情况,那就是 如果一个收件地址中有多个同名同姓的接收者该怎么办?此时,往往会通过追加 电话号码来加以区分。

    在TCP/IP的通信当中也是如此,需要指定“姓氏”,即“应用程序"。而传 输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别 码。根据端口号就可以识别在传输层上一层的应用层中所要进行处理的具体 程序。

    通信处理

    再以邮递包裹为例,详细分析一下传输层的协议工作机制。

    前面提到的“应用程序”其实就是用来进行TCP/IP应用协议的处理。因此, TCP/IP中所要识别的"姓氏”就可以被理解为应用协议。

    TCP/IP的众多应用协议大多以客户端/服务端的形式运行。客户端,类似于 客户的意思,是请求的发起端。而服务端,则表示提供服务的意思,是请求的处 理端。另外,作为服务端的程序有必要提前启动,准备接收客户端的请求。否则 即使有客户端的请求发过来,也无法做到相应的处理。

    这些服务端程序在UNIX系统当中叫做守护进程。例如HTTP的服务端程序是 httpd (HTP守护进程),而ssh的服务端程序是sshd (SSH守护进程)。在UNIX中并不需要将这些守护进程逐个启动,而是启动一个可以代表它们接收客户端请求的inetd (互联网守护进程)服务程序即可。它是一种超级守护进程。该超级守护进程收到客户端请求以后会创建(fork)新的进程并转换(exec)为sshd等各个守护进程。

    确认一个请求究竟发给的是哪个服务端(守护进程),可以通过所收到数据包的目标端口号轻松识别。当收到TCP的建立连接请求时,如果目标端口为22,则转给sshd,如果是80则转给httpd,然后,这些守护进程会继续对该连接上的通信传输进行处理。

    传输协议TCP,UDP通过接收数据中的目标端口号识别目标处理程序。传输协议的数据将被传递给HTTP, TELNET以及FTP等应用层协议。

    两种传输层协议TCP和UDP

    在TCP/IP中能够实现传输层功能的、具有代表性的协议是TCP和UDP。

    TCP

    TCP是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把 它想象成排水管道中的水流。当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。

    TCP为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具 备“流控制(流量控制)”、"拥塞控制”、提高网络利用率等众多功能。

    UDP

    UDP是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完 成。在UDP的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会 到达。因此,应用有时会根据自己的需要进行重发处理。

    TCP与UDP的区别

    可能有人会认为,鉴于TCP是可靠的传输协议,那么它一定优于UDP。其实不然。TCP与UDP的优缺点无法简单地、绝对地去做比较。那么,对这两种协议 应该如何加以区分使用呢?下面,我就对此问题做一简单说明。

    TCP 提供面向连接的服务。在传送数据之前必须先建立连接,数据传送结束后要释放连接。 TCP 不提供广播或多播服务。由于 TCP 要提供可靠的,面向连接的传输服务(TCP 的可靠体现在 TCP 在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源),这一难以避免增加了许多开销,如确认,流量控制,计时器以及连接管理等。这不仅使协议数据单元的首部增大很多,还要占用许多处理机资源。

    TCP用于在传输层有必要实现可靠传输的情况。由于它是面向有连接并具备顺序控制、重发控制等机制的,所以它可以为应用提供可靠传输。

    而在一方面,UDP 在传送数据之前不需要先建立连接,远地主机在收到 UDP 报文后,不需要给出任何确认。UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。我们举一个通过IP电话进行通话的例子。如果使用TCP, 数据在传送途 中如果丢失会被重发,但这样无法流畅地传输通话人的声音,会导致无法进行正 常交流。而采用UDP, 它不会进行重发处理。从而也就不会有声音大幅度延迟到 达的问题。即使有部分数据丢失,也只是会影响某一小部分的通话。此外,在 多播与广播通信中也使用UDP而不是TCP。RIP、DHCP等 基于广播的协议也要依赖于UDP。

    因此,TCP和UDP应该根据应用的目的按需使用。

     

    套接字(Socket)

    应用在使用TCP或UDP时,会用到操作系统提供的类库。这种类库 一般被称为API (Application Programming Interlace , 应用编程接口)。

    使用TCP或UDP通信时,又会广泛使用到套接字(socket)的API。

    套接字原本是由BSD UNIX开发的,但是后被移植到了Windows的Winsock 以及嵌入式操作系统中。

    应用程序利用套接字,可以设置对端的IP地址、端口号,并实现数 据的发送与接收。

    端口号

    端口号定义

    数据链路和IP中的地址,分别指的是MAC地址和IP地址。前者用来识别同 一链路中不同的计算机,后者用来识别TCP/IP网络中互连的主机和路由器。在 传输层中也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计 算机中进行通信的不同应用程序。因此,它也被称为程序地址。

    根据端口号识别应用

    一台计算机上同时可以运行多个程序。例如接受WWW服务的Web浏览器、 电邮客户端、远程登录用的ssh客户端等程序都可同时运行。传输层协议正是利 用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。

    通过IP地址、端口号、协议号进行通信识别

    仅凭目标端口识别某一个通信是远远不够的。①和②的通信是在两台计算机上进行的。它们的目标端口号相同,都是80,例如打开两个Web浏览器,同时访问两个服务器上不同的页面,就会在这个浏览器跟服务器之间产生类似前面的两个通信。在这种情况下也必须严格区分这两个通信。因此可以根据源端口号加以区分。

    下图中③跟①的目标端口号和源端口号完全相同,但是它们各自的源IP地址不同。此外,还有一种情况上图中并未列出,那就是IP地址和端口全都一样,只是协议号(表示上层是TCP或UDP的一种编号)不同。这种情况下,也会认为是两个不同的通信。

    因此, TCP/IP或UDP/IP通信中通常采用5个信息来识别"一个通信。它们是“源IP地址”、“目标IP地址”、“协议号”、“源端口号”、“目标端口号”。只要其中某一项不同,则被认为是其他通信。

    端口号如何确定

    在实际进行通信时,要事先确定端口号。确定端口号的方法分为两种:

    标准既定的端口号

    这种方法也叫静态方法。它是指每个应用程序都有其指定的端口号。但并不 是说可以随意使用任何一个端口号。每个端口号都有其对应的使用目的。

    例如,HTTP、TELNET、F1,P等广为使用的应用协议中所使用的端口号就是 固定的。这些端口号也被称之为知名端口号(Well-Known Port Number)。知名端口号一般由0 到1023的数字分配而成。应用程序应该避免使用知名端口号进行既定目的之外的 通信,以免产生冲突。

    除知名端口号之外,还有一些端口号也被正式注册。它们分布在1024到 49151的数字之间。不过,这些端口号可用于任何通信用途。

    时序分配法

    第二种方法也叫时序(或动态的)分配法。此时,服务端有必要确定监听端 口号,但是接受服务的客户端没必要确定端口号。

    在这种方法下,客户端应用程序可以完全不用自己设置端口号,而全权交给 操作系统进行分配。操作系统可以为每个应用程序分配互不冲突的端口号。例如, 每需要一个新的端口号时,就在之前分配号码的基础上加l。这样,操作系统就 可以动态地管理端口号了。

    根据这种动态分配端口号的机制,即使是同一个客户端程序发起的多个TCP 连接,识别这些通信连接的5部分数字也不会全部相同。

    动态分配的端口号取值范围在49152到65535之间。

    端口号与协议

    端口号由其使用的传输层协议决定。因此,不同的传输协议可以使用相同的端口号。

    例如, TCP与UDP使用同一个端口号,但使用目的各不相同。这是因为端口号上的处理是根据每个传输协议的不同而进行的。

    数据到达IP层后,会先检查IP首部中的协议号,再传给相应协议的模块。如果是TCP则传给TCP模块、如果是UDP则传给UDP模块去做端口号的处理。即使是同一个端口号,由于传输协议是各自独立地进行处理,因此相互之间不会受到影响。

    此外,那些知名端口号与传输层协议并无关系,只要端口一致都将分配同一种程序进行处理。例如, 53号端口在TCP与UDP中都用于DNS服务,而80端口用于HTTP通信。从目前来看,由于HTTP通信必须使用TCP,因此UDP的80端口并未投入使用。但是将来,如果HTTP协议的实现也开始应对UDP协议以及应用协议被相应扩展的情况下,就可以原样使用与TCP保持相同的80端口号了。

    UDP

    UDP的特点及其目的

    UDP是User Datagram Protocol的缩写。

    UDP不提供复杂的控制机制,利用IP提供面向无连接的通信服务。并且它是 将应用程序发来的数据在收到的那一刻,立即按照原样发送到网络上的一种机制。

    即使是出现网络拥堵的情况下,UDP也无法进行流量控制等避免网络拥塞的 行为。此外,传输途中即使出现丢包,UDP也不负责重发。甚至当出现包的到达 顺序乱掉时也没有纠正的功能。如果需要这些细节控制,那么不得不交由采用 UDP的应用程序去处理"

    UDP有点类似于用户说什么听什么的机制,但是需要 用户充分考虑好上层协议类型并制作相应的应用程序。因此,也可以说,UDP按 照“制作程序的那些用户的指示行事”

    由于UDP面向无连接,它可以随时发送数据。再加上UDP本身的处理既简单又高效,因此经常用于以下几个方面:

    • 包总量较少的通信(DNS、SNMP等)
    • 视频、音频等多媒体通信(即时通信)
    • 限定于LAN等特定网络中的应用通信
    • 广播通信(广播、多播)

    用户与程序员

    此处所使用的“用户”并不单单指“互联网的使用者”。曾经它也表 示为那些编写程序的程序员。因此,UDP的“用户" (User)在现在看来 其实就相当于程序员。也就是说,认为UDP是按照程序员的编程思路在 传送数据报也情有可原。

    其他传输层协议

    UDP-Lite

    UDP-Lite (Lightweight User Datagram Protocol , 轻量级用户数据报协议)是扩 展UDP机能的一种传输层协议。在基于UDP的通信当中如果校验和出现错误, 所收到的包将被全部丢弃。然而,现实操作中,有些应用,在面对这种情况时并 不希望把已经收到的所有包丢弃。

    如果将UDP中校验和设置为无效,那么即使数据的一部分发生错误也不会将 整个包废弃。不过,这不是一个很好的方法。因为如果发生的错误有可能是UDP 首部中的端口号被破坏或是IP首部中的IP地址被破坏,就会产生严重后果。因 此,不建议将校验和关闭。为了解决这些问题,UDP的修正版UDP-Lite协议就 出现了。

    UDP-Lite提供与UDP几乎相同的功能,不过计算校验和的范围可以由应用 自行决定。这个范围可以是包加上伪首部的校验和计算,可以是首部与伪首部的 校验和计算,也可以是首部、伪首部与数据从起始到中间某个位置的校验和计 算

    有了这样的机制,就可以只针对不允许发生错误的部分进行校验和的检查。 对于其他部分,即使发生了错误,也会被忽略不计。而这个包也不会被丢弃,而 是直接传给应用继续处理。

    SCTP

    SCTP (Stream Control Transmission Protocol , 流控制传输协议), 与TCP­样,都是对一种提供数据到达与否相关可靠性检查的传输层协议。其主要特点 如下:

    以消息为单位收发

    TCP中接收端并不知道发送端应用所决定的消息大小。在SCTP中却可以。

    支持多重宿主

    在有多个NIC的主机中,即使其中能够使用的NIC发生变化,也仍然可以 继续通信。

    支持多数据流通信

    TCP中建立多个连接以后才能进行通信的效果,在SCTP中一个连接就 可以。

    可以定义消息的生存期限

    超过生存期限的消息,不会被重发。

    SCTP主要用于进行通信的应用之间发送众多较小消息的情况。这些较小的应用消息被称作数据块(Chunk), 多个数据块组成一个数据包。

    此外,SCTP具有支持多重宿主以及设定多个IP地址的特点。多重宿主是指 同一台主机具备多种网络的接口。例如,笔记本电脑既可以连接以太网又可以连 接无线LAN。

    同时使用以太网和无线LAN时,各自的NIC会获取到不同的IP地址。进行 TCP通信,如果开始时使用的是以太网,而后又切换为无线LAN, 那么连接将会 被断开。因为从SYN到FIN包必须使用同一个IP地址。

    然而在SCTP的情况下,由于可以管理多个IP地址使其同时进行通信,因此 即使出现通信过程当中以太网与无线LAN之间的切换,也能够保持通信不中断。

    DCCP

    DCCP (Datagram Congestion Control Protocol , 数据报拥塞控制协议)是一个 辅助UDP的崭新的传输层协议。UDP没有拥塞控制机制。为此,当应用使用 UDP发送大量数据包时极容易出现问题。互联网中的通信,即使使用UDP也应该 控制拥塞。而这个机制开发人员很难将其融合至协议中,于是便出现了DCCP这 样的规范。

    DCCP具有如下几个特点:

    • 与UDP一样,不能提供发送数据的可靠性传输。
    • 它面向连接,具备建立连接与断开连接的处理。在建立和断开连接上是具 有可靠性。
    • 能够根据网络拥堵情况进行拥塞控制。使用DCCP (RFC4340)应用可以根 据自身特点选择两种方法进行拥塞控制。它们分别是"类似TCP (TCP­Like)拥塞控制”和"TCP友好升级控制" (TCP-Friendly Rate Control) "' (RFC4341)。
    • 为了进行拥塞控制,接收端收到包以后返回确认应答(ACK)。该确认应 答将被用于重发与否的判断。
    展开全文
  • OSI第四层:传输层功能及作用

    万次阅读 2019-01-16 18:16:06
    OSI七层模型第四层:传输层,Transport Layer OSI传输层功能:主要提供端到端的连接方式,传输层主要功能...OSI传输层作用 端到端通信 端到端:end-to-end,指的就是数据传输路径中最两端的两台网络设备之间的通...

    原文:http://www.hcie.me/206
    OSI七层模型第四层:传输层,Transport Layer

    OSI传输层功能:主要提供端到端的连接方式,传输层主要功能如下:

    可靠的传输方式(TCP)
    不可靠的传输方式(UDP)
    数据包分段
    数据段重组
    流量控制
    数据确认和重传
    

    在这里插入图片描述
    OSI传输层的作用

    端到端通信

    端到端:end-to-end,指的就是数据传输路径中最两端的两台网络设备之间的通信。

    端到端的概念不仅仅是一根网线两端的两台电脑,它是逻辑的,可能是跨地域的。

    比如:你家在北京,你给你上海的一个朋友传一个文件,这时候你们俩之间需要建立一个连接,可能是通过qq,可能是通过FTP……虽然中间经过了电信、网通等ISP,但是对于通讯的两端来说,北京的你和你上海的朋友之间,这就是一个端到端的连接。

    可靠的传输方式

    传输层使用TCP来提供通信数据的可靠传输。

    TCP:传输控制协议(Transmission Control Protocol)

    TCP之所以称为可靠的传输方式,是因为TCP有很多机制能保证可靠,比如TCP提供了三次握手建立连接、确认机制、数据重传、分段重组、滑动窗口流控等机制。

    在使用TCP传递数据之前,会双方各自建立一条相互信任的通道,用来传递数据。

    以三次握手举例:
    三次握手表示数据在传递前,TCP会先通过3个数据包确认通信双方都是正常的。

    A、B使用TCP作为传输层传输方式传递数据,流程大致概括如下:

    A向B打一个招呼,说:你好,我想跟你建立一个tcp的连接,可以吗?
    B接收到A的招呼,如果愿意建立连接,会说:你好,可以的。
    A给B发的连接就建立成功了。

    B在向A回答的时候,也会同时向A提出建立连接的申请(因为TCP是全双工的,双向的):
    B会向A说:你好,我也想跟你建立一个TCP的连接,可以吗?
    A除了之前接收到B给自己的确认,还会接收到B发过来的申请,A收到这个申请后,会向B发出一个确认。
    这时,B与A的连接也建立成功了。

    这个过程叫做“TCP三次握手”,当双方都确认建立这个连接之后,就开始传递数据了。。
    这就是可靠的传输方式。

    不可靠的传输方式

    传输层中不可靠的传输方式使用的是UDP协议

    UDP:用户数据报协议(User Datagram Protocol)
    如果选择UDP来传递数据,不会向TCP一样先建立一个连接,而是直接传递,不管对方是否存在,也不管对方是否正常。

    比如A、B使用UDP传递数据,流程如下:
    A直接将数据传递给B,之前不会打任何的招呼。
    不管B能否接收到这个数据。

    这样的传输方式并不可靠。

    数据包分段

    这是TCP的功能,当用户发送数据前的3次握手时,会协商出两端之间的MSS大小(Maximum Segement Size,最大报文段长度),然后数据发出去时会根据这个值进行分开。

    MSS的作用主要是避免数据在传输过程中遇到链路带宽瓶颈,造成数据二次分段或分片。

    比如用户A向用户B三次握手时,协商的MSS是200Byte,这时要发送一个1000Byte的数据,那么TCP会将这个数据分为5个200Byte的数据段,并进行数据范围标记,再一个一个的进行封装再发送给对方。

    数据段重组

    这个也是TCP的功能,对于接收方收到了上面例子发送过来的5个分段后的数据,就会将这5个数据按照数据范围的标记进行解封然后排序,重组为一个1000Byte的完整数据。

    流量控制

    TCP也有流量控制机制,主要是依靠TCP数据头部中的Windows Size参数进行调整。

    用户的发送方和接收方都有一个缓存数据的buffer,用户发出数据前会将数据缓存到这个TCP buffer中,用户接收数据时也会将数据先缓存到这个TCP Buffer中。

    当用户A只向用户B一个用户发送数据,而用户B也只从用户A接收数据,这时两者的TCP Buffer应该是一样大的,那么相同速率发送、接收即可。

    如果用户B同时从多个用户接收数据,这时它会通过TCP数据包里的Windows Size参数通知用户A,自己能从用户A这里接收多大的数据包。

    这就是TCP的流控手段。

    数据确认和重传

    TCP中还有一个确认机制,当用户A向用户B发送一个数据段时,会将这份数据在Buffer中备份一个,用户B如果收到了这个数据,就需要向A发送一个确认,告诉A自己收到了这个数据,这时A就会将上一个数据缓存清掉,再发送下一个数据。

    如果用户B没有收到这个数据,用户A在等待一个传输超时的时间后没有收到确认,就会将Buffer的数据复制一份再发一次,直到对方发过来确认后用户A才会发送下一个数据。如果用户B一直没有发过来确认,那么用户A重传次数达到程序设置的上限了,可能会断开这个TCP连接。

    OSI传输层的PDU为:Segement(数据段)

    展开全文
  • 计算机网络(二十)传输层作用

    千次阅读 2019-06-13 10:32:54
    计算机网络(二十)传输层作用1.传输层的定义2.通信处理3.两种传输层协议TCP和UDPa.TCPb.UDP4.TCP与UDP区分5.套接字(Socket) 1.传输层的定义 IP首部中有一个协议字段,用来标识网络层的上一层所采用的是哪一种...

    1.传输层的定义

    IP首部中有一个协议字段,用来标识网络层的上一层所采用的是哪一种传输层协议。根据这个字段的协议号,就可以识别IP传输的数据部分究竟是TCP的内容,还是UDP的内容。
    传输层的TCP和UDP, 为了识别自己所传输的数据部分究竟应该发给哪个应用,也设定了这样一个编号。
    在TCP/IP的通信当中也是如此,需要指定 “姓氏",即应用程序。而传输层必须指出这个具体的程序,为了实现这一功能,使用端口号这样一种识别码。
    根据端口号就可以识别在传输层上一层的应用层中所要进行处理的具体程序。

    2.通信处理

    一台计算机运行着众多应用程序
    “应用程序”其实就是用来进行TCP/IP应用协议的处理。
    TCP/IP中所要识别的"姓氏”就可以被理解为应用协议。
    TCP/IP的众多应用协议大多以客户端/服务端的形式运行。
    客户端类似于客户的意思,是请求的发起端,在计算机网络中是提供服务和使用服务的一方。
    服务端则表示提供服务的意思,是请求的处理端,在计算机网络中则意味着提供服务的程序或计算机。
    作为服务端的程序有必要提前启动,准备接收客户端的请求。否则即使有客户端的请求发过来,也无法做到相应的处理。

    HTTP连接请求
    这些服务端程序在UNIX系统当中叫做守护进程。
    在UNIX中并不需要将这些守护进程逐个启动,而是启动一个可以代表它们接收客户端请求的inetd(互联网守护进程)服务程序即可。
    它是一种超级守护进程。该超级守护进程收到客户端请求以后会创建(fork)新的进程并转换(exec)为sshd等各个守护进程。
    确认一个请求究竟发给的是哪个服务端(守护进程),可以通过所收到数据包的目标端口号轻松识别。
    传输协议TCP、UDP通过接收数据中的目标端口号识别目标处理程序。

    3.两种传输层协议TCP和UDP

    a.TCP

    TCP是面向连接的、可靠的流协议。
    流就是指不间断的数据结构,当应用程序采用TCP发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。
    TCP为提供可靠性传输,实行 “顺序控制 ” 或 “重发控制 “ 机制 。还具备流控制(流量控制)、"拥塞控制” 、提高网络利用率等众多功能。

    b.UDP

    UDP是不具有可靠性的数据报协议。
    细微的处理它会交给上层的应用去完成。
    在UDP的情况下,虽然可以确保发送消息的大小却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。

    4.TCP与UDP区分

    TCP与UDP的优缺点无法简单地、绝对地去做比较。
    TCP用于在传输层有必要实现可靠传输的情况。
    UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。
    在多播与广播通信中也使用UDP而不是TCP。
    TCP和UDP应该根据应用的目的按需使用 。

    5.套接字(Socket)

    应用在使用TCP或UDP时,会用到操作系统提供的类库。这种类库一般被称为API。
    使用TCP或UDP通信时,又会广泛使用到套接宇(socket)的API。
    应用程序利用套接字,可以设置对端的IP地址、端口号,并实现数据的发送与接收。
    套接字

    展开全文
  • #传输层的主要作用 1.跟踪每个会话:可将不同应用程序的数据转发到正确的应用程序(通过端口号识别) 2.数据分段和重组:保证所传输数据的大小符合传输介质的限制要求数据段,确保不同应用程序发出的数据能在介质中...
  • 传输层作用

    千次阅读 2019-01-09 09:53:53
    那既然已经把一个数据包从一个主机发到另一个主机上面了,为什么还需要传输层呢?这是因为传输层提供了应用进程之间的端-端连接。我们知道一个电脑可能有多个进程同时在使用网络连接,那么网络包达到主机之后,怎么...
  • 一、设备层级、 二、传输层 功能、 三、传输层 协议、 四、复用与分用、 五、端口号、 六、套接字、
  • OSI模型的各层功能之传输层

    千次阅读 2014-05-24 12:30:18
    传输层(transport layer) 负责整个报文的进程到进程传递(process-to-process delivery) , 进程是主机上运行的应用程序。尽管网络层监管各个分组的源端到目的端传递( source-todestination delivery) ,但是它并不...
  • 传输层总结

    千次阅读 2018-06-08 16:05:25
    传输层作用 传输层实现应用进程间的端到端(end-to-end)通信 向应用层提供通信服务 多路分解与复用 定义 所有应用进程的数据通过传输层传输到IP层,即多路复用; 传输层收到的数据交付给相应的应用进程,即多...
  • 传输层协议、应用层协议

    千次阅读 2018-05-10 00:17:10
    传输层协议、应用层协议一、传输层协议1、传输层概述 (1)传输层作用 IP层提供点到点的连接 传输层提供端到端的连接 (2)传输层的协议 TCP(Transmission Control Protocol)传输控制协议 可靠的、面向...
  • 传输层概述以及传输层端口

    万次阅读 2017-06-14 22:33:24
    一、运输协议概述两个主机进行通信实际上就是两个主机中的应用进程互相通信,应用进程之间的通信又称为端到端的通信。“运输提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输之间的通信好像是沿水平...
  • 五.传输层和应用层的协议和作用

    千次阅读 2017-11-20 13:02:13
    一.路由和交换对比 列表 路由 交换 OSI模型的位置 ...二.TCP/IP传输层概述TCP/IP是指一整套数据通信协议,传输层完成端到端的连接和传输. TCP/IP传输层包含两个协议: 传输控制协议 Transmission Co
  • 传输层 概述

    千次阅读 2020-10-30 17:09:14
    目录 ... 传输层地位 整个网络体系结构,自下而上分为物理层,数据链路层...传输层,上承应用层,下启网络层,主要作用是将上层(应用层)的数据进行处理封装后,递交给下层(网络层),并在此过程中实现一定的网络收发控制(比
  • 传输层详解

    万次阅读 2016-01-06 19:08:05
    传输层作用是什么?传输层实现端到端的连接,端到端是什么概念呢?打个比方说,一个人用QQ与朋友聊天,网络层识别IP地址,能够将信息送到正确的主机,而主机应该使用什么应用协议接收这个信息呢? 这个功能就需要传输...
  • OSI七层模型及各层作用

    千次阅读 2018-09-19 09:12:34
    整个模型分为七层,物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。 物理层:建立、维护、断开物理连接 数据链路层:该层的作用包括了物理地址寻址,数据的成帧,流量控制,数据的检错,重发等。...
  • 网络中传输层协议

    千次阅读 2020-10-26 11:37:00
    网络传输层协议传输层:UDP:无连接:不可靠:面向数据报:TCP:面向连接:可靠:字节流:常见面试题: 传输层传输层主要是负责应用程序之间的数据传输,传输层主要的协议有TCP和UDP UDP: UDP:无连接、不可靠、...
  • 那么今天接着说传输层的另一个协议,TCP协议。 TCP是传输层中比较重要的一种协议,它运用的地方很多,比如在FTP协议、http协议中就是运用了TCP的协议,因为它的可靠性,所以很大程度解决了文件传输丢失,或者错误...
  • 传输层 | TCP协议详解

    千次阅读 2021-11-11 19:21:14
    文章目录传输层传输层的两个主要协议UDPTCP可靠传输的实现TCP报文段的首部格式 传输层 网络层的任务是提供网络中的两个主机提供逻辑通信。从IP层上来看,通信的是两个主机。 而传输层在网络中负责是两个主机上的应用...
  • 传输层协议的端口号

    千次阅读 2020-10-11 22:27:51
    端口号是就是传输层的地址,用来识别同一主机中的应用程序,别称为程序地址。 那木我们就知道两个主机之间的通信就是通过IP地址(目的IP和源IP),协议号,和端口号(目的端口和源端口)来进行通信识别。 端口号是...
  • 传输层协议:Bill和Ann 网络层协议:邮政服务 链路层协议:邮政传输使用的工具(汽车?飞机?) 有两个家庭,一个位于美国东海岸,一个位于美国西海岸,每家有12个孩子,东海岸家庭的孩子们是西海岸孩子们的堂兄...
  • 【计算机网络】传输层知识点总结

    万次阅读 多人点赞 2020-07-04 16:22:47
    定义:是一种面向连接的、可靠的、基于字节流的传输层通信协议 应用层次:传输层 数据格式:字节流 基本概念 1. TCP 三次握手 基本思想:“让我知道你已经知道了” 第一次握手:服务器 B 处于 **监听(LISTEN)**...
  • 传输层

    千次阅读 2017-12-02 18:58:51
    传输层概述:传输层向上面的应用层提供通信服务,属于面向通信部分的最高层,也是用户功能中的最底层。传输层位相互通信的应用进程提供了逻辑通信。 应用进程之间的通信:两个主机进行通信实际上就是两个主机中的...
  • 传输层的简述与协议介绍

    千次阅读 2019-08-06 15:24:03
    传输层是整个网络体系结构中的关键层次之一,间于网络层和应用层之间; 主要负责向两个主机中进程之间的通信提供服务。由于一个主机同时运行多个进程,因此运输层具有有复用和分用功能。传输层在终端用户之间提供...
  • 网络工程师课程---5、传输层传输层常用协议有哪些) 一、总结 一句话总结: TCP/IP协议:端口80:传输控制协议:Transmission Control Protocol-TCP UDP协议:用户数据报协议:User Dategram Protocol-UDP ...
  • ISO15765-2中定义了网络层和传输层的内容,下面就对这两部分分别进行介绍。 一、网络层 所有网络层的服务都有统一的结构,为了定义服务,有三种服务原语: 服务请求原语:服务用户向服务提供方请求服务 服务...
  • 计算机网络必看之·你确定了解传输层吗?

    万次阅读 多人点赞 2021-12-11 18:37:21
    1.TCP是面向连接的传输层协议 2.每条TCP连接只能有两个端点,每条TCP连接只能是点对点的(一对一) 3.TCP提供可靠的交付服务,保证传送的数据无差错、不丢失、不重要且有序 4.TCP是面向字节流的 5.TCP提供全双工...
  • 传输层之UDP协议

    千次阅读 2017-01-10 15:52:00
    本文介绍了传输层UDP协议的相关知识
  • 一、会话 提供的服务可使应用建立和维持会话,...主要作用是为异种机通信提供异种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示方法不同。 例如,IBM主机...
  • 传输层的主要功能和协议

    万次阅读 2018-04-12 19:56:53
    传输层的主要功能和协议:-传输层位于OSI参考模型正中间,具有承上启下的核心作用,它是OSI中最重要的,最关键的一层,是唯一负责总体的数据传输和数据控制的一层。传输层提供端到端的交换数据的机制,传输层对会话...
  • 传输层的寻址与端口(1)端口的作用(2)端口号的分类(3)套接字3.无连接UDP和面向连接TCP服务 1.传输层提供的服务及功能概述 传输层的功能如下: 1)传输层提供应用进程之间的逻辑通信(即端到端的通信)。 与网络...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 282,520
精华内容 113,008
关键字:

传输层的作用

友情链接: secondmark.rar