传输层有哪些协议?
传输层协议:1、传输控制协议TCP2、用户数据报协议UDPTCP协议:面向连接的可靠传输协议。利用TCP进行通信时,首先要通过三步握手,以建立通信双方的连接。TCP提供了数据的确认和数据重传的机制,保证发送的数据一定能到达通信的对方。UDP协议:是无连接的,不可靠的传输协议。采用UDP进行通信时不用建立连接,可以直接向一个IP地址发送数据,但是不能保证对方是否能收到。扩展资料:OSI模型(OSI model),一种概念模型,由国际标准化组织提出,一个试图使各种计算机在世界范围内互连为网络的标准框架。定义于ISO/IEC 7498-1。OSI将计算机网络体系结构(architecture)划分为以下七层:1、物理层: 将数据转换为可通过物理介质传送的电子信号 相当于邮局中的搬运工人。2、数据链路层: 决定访问网络介质的方式。3、网络层: 使用权数据路由经过大型网络 相当于邮局中的排序工人。4、传输层: 提供终端到终端的可靠连接 相当于公司中跑邮局的送信职员。5、会话层: 允许用户使用简单易记的名称建立连接 相当于公司中收寄信、写信封与拆信封的秘书。6、表示层: 协商数据交换格式 相当公司中简报老板、替老板写信的助理。7、应用层: 用户的应用程序和网络之间的接口老板。参考资料来源:百度百科-传输层参考资料来源:百度百科-OSI模型
传输层:Internet在传输层有两种主要的协议:一种是面向连接的协议TCP,一种是无连接的协议UDP,在TCP/IP协议簇中,IP提供在主机之间传送数据报的能力,每个数据报根据其目的主机的IP地址进行在Internet中的路由选择。传输层协议为应用层提供的是进程之间的通信服务。为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收,TCP/UDP提供了应用程序之间传送数据报的基本机制,它们提供的协议端口能够区分一台机器上运行的多个程序。也就是说,TCP/UDP使用IP地址标识网上主机,使用端口号来标识应用进程,即TCP/UDP用主机IP地址和为应用进程分配的端口号来标识应用进程。端口号是16位的无符号整数,TCP的端口号和UDP的端口号是两个独立的序列。尽管相互独立,如果TCP和UDP同时提供某种知名服务,两个协议通常选择相同的端口号。这纯粹是为了使用方便,而不是协议本身的要求。利用端口号,一台主机上多个进程可以同时使用TCP/UDP提供的传输服务,并且这种通信是端到端的,它的数据由IP传递,但与IP数据报的传递路径无关。具有传输层功能的协议TCPUDPSPXNetBIOSNetBEUI
传输层协议除了有TCP 、UDP ,还有 TLS(安全运输协议) · DCCP(数据报拥塞控制协议) · SCTP(流控制传输协议) ·RSVP(资源预留协议) · PPTP(点对点隧道协议)。
传输层(Transport Layer)是OSI中最重要, 最关键的一层,是唯一负责总体的数据传输和数据控制的一层.传输层提供端到端的交换数据的机制,检查分组编号与次序。传输层对其上三层如会话层等,提供可靠的传输服务,对网络层提供可靠的目的地站点信息. 主要功能为端到端连接提供传输服务.这种传输服务分为可靠和不可靠的,其中Tcp是典型的可靠传输,而Udp则是不可靠传输.为端到端连接提供流量控制,差错控制,服务质量(Quality of Service,QoS)等管理服务.[编辑] 具有传输层功能的协议TCPUDPSPXNetBIOSNetBEUI更详细的在这里http://book.51cto.com/art/200807/81191.htm
tcp udp

TCP粘包问题,屡屡受挫之后终于搞明白了
本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。计算机网络分层模型主要有OSI七层模型,TCP/IP五层模型,也有一种四层模型,四层模型会把网卡层和物理层统称为网络接口层。OSI七层模型存在于教科书了,TCP/IP五层模型是日常运用最为广泛的一种网络架构模型。在学习网络知识时也要把握住重点去学,七层模型了解即可。由上面的分层可以看出,TCP是存在于运输层的概念。但是TCP有两种含义的,一种指的是TCP协议,一种是TCP协议族的统称。具体来说,IP或ICMP、TCP或UDP、TELNET或FTP、以及HTTP等都属于TCP/IP的协议。TCP是属于传输层的协议,我说的TCP层指的是传输层,这点要统一。传输层最主要的功能就是能够让应用程序之间实现通信。一句话就说清楚了TCP层是干嘛的。TCP的定义,TCP是面向连接的、可靠的流式传输协议。概念往往是高度浓缩的经典货,就比如这句,涵盖了TCP传输建立方式,传输方式,特点。面向连接指的是两个应用程序的传输是需要提前建立一个链接,这个链接就是我们的VIP通道,保证两个应用程序之间的通行是点对点的传输。建立链接的过程就是面试常考的三次握手过程。流式传输说的数据传输方式,TCP层数据交互是流式的,什么是流式?流你可以理解为水流,水流是没有边界的。从定义我们很清楚的知道TCP的数据是字节流的方式存在的。TCP发送数据单位准确叫法是数据段。应用程序和TCP的交互是一次一个数据段(大小不等),TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。TCP并不知道所传送的字节流的含义。TCP不保证接收方应用程序所收到的数据段和发送方应用程序所发出的数据段具有对应大小的关系(例如,发送方应用程序交给发送方的TCP共10个数据段,但接收方的TCP可能只用了4个数据段就把收到的字节流交付上层的应用程序)。接收方应用程序收到的字节流必须和发送方应用程序发出的字节流完全一样。元素通常用于异步传输模式(ATM)和交换多兆位数据服务(SMDS)网络等交换环境。数据单元(data unit)指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)。SDU是在同一机器上的两层之间传送信息。PDU是发送机器上每层的信息发送到接收机器上的相应层(同等层间交流用的)。Packet(数据包):封装的基本单元,它穿越网络层和数据链路层的分解面。通常一个Packet映射成一个Frame,但也有例外:即当数据链路层执行拆分或将几个Packet合成一个Frame的时候。数据链路层的PDU叫做Frame(帧), 网络层的PDU叫做Packet(数据包), TCP的叫做Segment(数据段), UDP的叫做Datagram。一个Datagram可能被封装成一个或几个Packets,在数据链路层中传输帧和数据包都是数据的传输形式。帧,工作在二层,数据链路层传输的是数据帧,包含数据包,并且增加相应MAC地址与二层信息;数据包,工作在三层,网络层传输的是数据包,包含数据报文,并且增加传输使用的IP地址等三层信息。从上面很容易的出,第一、TCP层传输是流式传输,不会发送数据包。第二、数据包是存在于网络层的概念。那为啥还说TCP粘包问题呢?自顶而下学习网络的同学都知道应用程序首先要将自己的数据通过套接字发送。应用层交付给TCP的是结构化的数据,结构化的数据到了TCP层做流式传输。流,最大的问题是没有边界,没有边界就会造成数据粘在一起,这种粘在一起就叫做粘包。当然有同学就要问了,那咋不叫粘段呢?这个。。。具体描述下什么叫粘包。TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾。TCP是端到端传输的,同时TCP连接是可复用的。什么叫复用呢?复用就是一条连接可以供一台主机上的多个进程使用。1.由TCP连接复用造成的粘包问题。如果没有复用一个连接只提供给端到端的两个进程使用,这是数据的传输方和发送方都是约定好了数据的格式的,但是多个进程使用一个TCP连接,此时多种不同结构的数据进到TCP的流式传输,边界分割肯定会出这样或者那样的问题。如果利用tcp每次发送数据,就与对方建立连接,然后双方发送完一段数据后,就关闭连接,这样就不会出现粘包问题2.因为TCP默认会使用Nagle算法,此算法会导致粘包问题。而Nagle算法主要做两件事,1)只有上一个分组得到确认,才会发送下一个分组;2)收集多个小分组,在一个确认到来时一起发送。多个分组拼装为一个数据段发送出去,如果没有好的边界处理,在解包的时候会发生粘包问题。3.数据包过大造成的粘包问题。比如应用进程缓冲区的一条消息的字节的大小超过了发送缓冲区的大小,就有可能产生粘包问题。因为消息已经被分割了,有可能一部分已经被发送出去了,对方已经接受了,但是另外一部分可能刚放入套接口发送缓冲区里准备进一步发送,就直接导致接受的后一部分,直接导致了粘包问题的出现。4.流量控制,拥塞控制也可能导致粘包。5.接收方不及时接收缓冲区的包,造成多个包接收。大多数人都是知道Nagle算法、接收方不及时处理两种情况造成的粘包问题,但是龙叔必须提醒你,其他几种情况也是非常常见的,面试官也是超爱问,如果你能把其他三种也答出来,面试通过概率大很多。1.Nagle算法问题导致的,需要结合应用场景适当关闭该算法。2.其他几种情况的处理方法主要分两种:

网络编程(五)TCP详解
考虑最简单的情况:两台主机之间的通信。这个时候只需要一条网线把两者连起来,规定好彼此的硬件接口,如都用 USB、电压 10v、频率 2.4GHz 等,这一层就是物理层,这些规定就是物理层协议。我们当然不满足于只有两台电脑连接,因此我们可以使用交换机把多个电脑连接起来,如下图:这样连接起来的网络,称为局域网,也可以称为以太网(以太网是局域网的一种)。在这个网络中,我们需要标识每个机器,这样才可以指定要和哪个机器通信。这个标识就是硬件地址 MAC。硬件地址随机器的生产就被确定,永久性唯一。在局域网中,我们需要和另外的机器通信时,只需要知道他的硬件地址,交换机就会把我们的消息发送到对应的机器。这里我们可以不管底层的网线接口如何发送,把物理层抽离,在他之上创建一个新的层次,这就是数据链路层。我们依然不满足于局域网的规模,需要把所有的局域网联系起来,这个时候就需要用到路由器来连接两个局域网:但是如果我们还是使用硬件地址来作为通信对象的唯一标识,那么当网络规模越来越大,需要记住所有机器的硬件地址是不现实的;同时,一个网络对象可能会频繁更换设备,这个时候硬件地址表维护起来更加复杂。这里使用了一个新的地址来标记一个网络对象:IP 地址。通过一个简单的寄信例子来理解 IP 地址。我住在北京市,我朋友 A 住在上海市,我要给朋友 A 写信:因此,这里 IP 地址就是一个网络接入地址(朋友 A 的住址),我只需要知道目标 IP 地址,路由器就可以把消息给我带到。在局域网中,就可以动态维护一个 MAC 地址与 IP 地址的映射关系,根据目的 IP 地址就可以寻找到机器的 MAC 地址进行发送。这样我们不需管理底层如何去选择机器,我们只需要知道 IP 地址,就可以和我们的目标进行通信。这一层就是网络层。网络层的核心作用就是提供主机之间的逻辑通信。这样,在网络中的所有主机,在逻辑上都连接起来了,上层只需要提供目标 IP 地址和数据,网络层就可以把消息发送到对应的主机。一个主机有多个进程,进程之间进行不同的网络通信,如边和朋友开黑边和女朋友聊微信。我的手机同时和两个不同机器进行通信。那么当我的手机收到数据时,如何区分是微信的数据,还是王者的数据?那么就必须在网络层之上再添加一层:运输层:运输层通过 socket(套接字),将网络信息进行进一步的拆分,不同的应用进程可以独立进行网络请求,互不干扰。这就是运输层的最本质特点:提供进程之间的逻辑通信。这里的进程可以是主机之间,也可以是同个主机,所以在 android 中,socket 通信也是进程通信的一种方式。现在不同的机器上的应用进程之间可以独立通信了,那么我们就可以在计算机网络上开发出形形式式的应用:如 web 网页的 http,文件传输 ftp 等等。这一层称为应用层。应用层还可以进一步拆分出表示层、会话层,但他们的本质特点都没有改变:完成具体的业务需求。和下面的四层相比,他们并不是必须的,可以归属到应用层中。最后对计网分层进行小结:这里需要注意的是,分层并不是在物理上的分层,而是逻辑上的分层。通过对底层逻辑的封装,使得上层的开发可以直接依赖底层的功能而无需理会具体的实现,简便了开发。这种分层的思路,也就是责任链设计模式,通过层层封装,把不同的职责独立起来,更加方便开发、维护等等。TCP 并不是把应用层传输过来的数据直接加上首部然后发送给目标,而是把数据看成一个字节 流,给他们标上序号之后分部分发送。这就是 TCP 的面向字节流特性:面向字节流的好处是无需一次存储过大的数据占用太多内存,坏处是无法知道这些字节代表的意义,例如应用层发送一个音频文件和一个文本文件,对于 TCP 来说就是一串字节流,没有意义可言,这会导致粘包以及拆包问题,后面讲。前面讲到,TCP 是可靠传输协议,也就是,一个数据交给他,他肯定可以完整无误地发送到目标地址,除非网络炸了。他实现的网络模型如下:对于应用层来说,他就是一个可靠传输的底层支持服务;而运输层底层采用了网络层的不可靠传输。虽然在网络层甚至数据链路层就可以使用协议来保证数据传输的可靠性,但这样网络的设计会更加复杂、效率会随之降低。把数据传输的可靠性保证放在运输层,会更加合适。可靠传输原理的重点总结一下有:滑动窗口、超时重传、累积确认、选择确认、连续 ARQ。停止等待协议要实现可靠传输,最简便的方法就是:我发送一个数据包给你,然后你跟我回复收到,我继续发送下一个数据包。传输模型如下:这种“一来一去”的方法来保证传输可靠就是停止等待协议(stop-and-wait)。不知道还记不记得前面 TCP 首部有一个 ack 字段,当他设置为 1 的时候,表示这个报文是一个确认收到报文。然后再来考虑另一种情况:丢包。网络环境不可靠,导致每一次发送的数据包可能会丢失,如果机器 A 发送了数据包丢失了,那么机器 B 永远接收不到数据,机器 A 永远在等待。解决这个问题的方法是:超时重传。当机器 A 发出一个数据包时便开始计时,时间到还没收到确认回复,就可以认为是发生了丢包,便再次发送,也就是重传。但重传会导致另一种问题:如果原先的数据包并没有丢失,只是在网络中待的时间比较久,这个时候机器 B 会受到两个数据包,那么机器 B 是如何辨别这两个数据包是属于同一份数据还是不同的数据?这就需要前面讲过的方法:给数据字节进行编号。这样接收方就可以根据数据的字节编号,得出这些数据是接下来的数据,还是重传的数据。在 TCP 首部有两个字段:序号和确认号,他们表示发送方数据第一个字节的编号,和接收方期待的下一份数据的第一个字节的编号。停止等待协议的优点是简单,但缺点是信道利用率太低。假定AB之间有一条直通的信道来传送分组这里的TD是A发送分组所需要的时间(显然TD = 分组长度 / 数据速率)再假定TA是B发送确认分组所需要的时间(A和B处理分组的时间都忽略不计)那么A在经过TD+RTT+TA时间后才能发送下一个分组,这里的RTT是往返时间,因为只有TD是采用来传输有用的数据(这个数据包括了分组首部,如果可以知道传输更精确的数据的时间,可以计算的更精确),所有信道利用率为为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输:就是发送方可以连续的发送多个分组,不必每发完一个分组就停下来等待对方的确认。这样可使信道上一直有数据不间断地在传送。显然这种传输方式可以获得很高的信道利用率停止等待协议已经可以满足可靠传输了,但有一个致命缺点:效率太低。发送方发送一个数据包之后便进入等待,这个期间并没有干任何事,浪费了资源。解决的方法是:连续发送数据包。也就是下面介绍的连续ARQ协议和滑动窗口协议连续 ARQ 协议模型如下:和停止等待最大的不同就是,他会源源不断地发送,接收方源源不断收到数据之后,逐一进行确认回复。这样便极大地提高了效率。但同样,带来了一些额外的问题:发送是否可以无限发送直到把缓冲区所有数据发送完?不可以。因为需要考虑接收方缓冲区以及读取数据的能力。如果发送太快导致接收方无法接受,那么只是会频繁进行重传,浪费了网络资源。所以发送方发送数据的范围,需要考虑到接收方缓冲区的情况。这就是 TCP 的流量控制。解决方法是:滑动窗口。基本模型如下:在 TCP 的首部有一个窗口大小字段,他表示接收方的剩余缓冲区大小,让发送方可以调整自己的发送窗口大小。通过滑动窗口,就可以实现 TCP 的流量控制,不至于发送太快,导致太多的数据丢失。连续 ARQ 带来的第二个问题是:网络中充斥着和发送数据包一样数据量的确认回复报文,因为每一个发送数据包,必须得有一个确认回复。提高网络效率的方法是:累积确认。接收方不需要逐个进行回复,而是累积到一定量的数据包之后,告诉发送方,在此数据包之前的数据全都收到。例如,收到 1234,接收方只需要告诉发送方我收到 4 了,那么发送方就知道 1234 都收到了。第三个问题是:如何处理丢包情况。在停止等待协议中很简单,直接一个超时重传就解决了。但,连续 ARQ 中不太一样。例如:接收方收到了 123 567,六个字节,编号为 4 的字节丢失了。按照累积确认的思路,只能发送 3 的确认回复,567 都必须丢掉,因为发送方会进行重传。这就是GBN(go-back-n)思路。但是我们会发现,只需要重传 4 即可,这样不是很浪费资源,所以就有了:选择确认 SACK。在 TCP 报文的选项字段,可以设置已经收到的报文段,每一个报文段需要两个边界来进行确定。这样发送方,就可以根据这个选项字段只重传丢失的数据了。第四个问题是:拥塞控制的问题也是通过窗口的大小来控制的,但是检测网络满不满是个挺难的事情,所以 TCP 发送包经常被比喻成往谁管理灌水,所以拥塞控制就是在不堵塞,不丢包的情况下尽可能的发挥带宽。水管有粗细,网络有带宽,即每秒钟能发送多少数据;水管有长度,端到端有时延。理想状态下,水管里面的水 = 水管粗细 * 水管长度。对于网络上,通道的容量 = 带宽 * 往返时延。如果我们设置发送窗口,使得发送但未确认的包为通道的容量,就能撑满整个管道。如图所示,假设往返时间为 8 秒,去 4 秒,回 4 秒,每秒发送一个包,已经过去了 8 秒,则 8 个包都发出去了,其中前四个已经到达接收端,但是 ACK 还没返回,不能算发送成功,5-8 后四个包还在路上,还没被接收,这个时候,管道正好撑满,在发送端,已发送未确认的 8 个包,正好等于带宽,也即每秒发送一个包,也即每秒发送一个包,乘以来回时间 8 秒。如果在这个基础上调大窗口,使得单位时间可以发送更多的包,那么会出现接收端处理不过来,多出来的包会被丢弃,这个时候,我们可以增加一个缓存,但是缓存里面的包 4 秒内肯定达不到接收端课,它的缺点会增加时延,如果时延达到一定程度就会超时重传TCP 拥塞控制主要来避免两种现象,包丢失和超时重传,一旦出现了这些现象说明发送的太快了,要慢一点。具体的方法就是发送端慢启动,比如倒水,刚开始倒的很慢,渐渐变快。然后设置一个阈值,当超过这个值的时候就要慢下来慢下来还是在增长,这时候就可能水满则溢,出现拥塞,需要降低倒水的速度,等水慢慢渗下去。拥塞的一种表现是丢包,需要超时重传,这个时候,采用快速重传算法,将当前速度变为一半。所以速度还是在比较高的值,也没有一夜回到解放前。到这里关于 TCP 的可靠传输原理就已经介绍得差不多。最后进行一个小结:当然,这只是可靠传输的冰山一角,感兴趣可以再深入去研究

简述TCP/IP的体系结构,并简要说明各层的功能?
第五层——应用层:应用层是体系结构中最高的。直接为用户的应用进程提供服务。在因特网中的应用层协议很多,如支持万维网应用的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。第四层——运输层:运输层负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用,就是多个应用层进程可同时使用下面运输层的服务。分用,就是把收到的信息分别交付给上面应用层中相应的进程。运输层主要使用以下两种协议:1、传输控制协议TCP面向连接的,数据传输的单位是报文段,能够提供可靠的交付。2、用户数据包协议UDP无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。第三层——网络层:网络层主要包括以下两个任务:1、负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层残生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报。2、选中合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。第二层——数据链路层:数据链路层常简称为链路层,我们知道,两个主机之间的数据传输,总是在一段一段的链路上传送的,也就是说,在两个相邻结点之间传送数据是直接传送的(点对点),这时就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点之间的链路上“透明”地传送帧中的数据。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。典型的帧长是几百字节到一千多字节。注:”透明”是一个很重要的术语。它表示,某一个实际存在的事物看起来却好像不存在一样。”在数据链路层透明传送数据”表示无轮什么样的比特组合的数据都能够通过这个数据链路层。因此,对所传送的数据来说,这些数据就“看不见”数据链路层。或者说,数据链路层对这些数据来说是透明的。在接收数据时,控制信息使接收端能知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。控制信息还使接收端能检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续传送下去白白浪费网络资源。如需改正错误,就由运输层的TCP协议来完成。第一层——物理层:物理层在物理层上所传数据的单位是比特。物理层的任务就是透明地传送比特流。
从协议分层模型方面来讲,tcp/ip 由四个层次组成:网络接口层、网间网层、传输层、应用层。其中:网络接口层这是tcp/ip软件的最低层,负责接收ip数据报并通过网络发送之,或者从网络上接收物理帧,抽出ip数据报,交给ip层。网间网层负责相邻计算机之间的通信。传输层提供应用程序间的通信。应用层向用户提供一组常用的应用程序,比如电子邮件、文件传输 访问、远程登录等。
分7层 应用层/表示层/会话层/传输层/网络层/数据链路层/网络接口层/物理层

传输层的协议有哪些?
传输层位于OSI七层网络模型中的第四层,协议有TCP · UDP · TLS · DCCP · SCTP ·RSVP · PPTP。OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特。【2】数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输。【3】网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择,Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。【4】传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的), 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,常常把这一层数据叫做段。【5】会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路,主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。【6】表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。【7】应用层: 是最靠近用户的OSI层,这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。
传输层:Internet 在传输层有两种主要的协议:一种是面向连接的协议 TCP ,一种是无连接的协议 UDP,在TCP/IP 协议簇中, IP 提供在主机之间传送数据报的能力,每个数据报根据其目的主机的 IP 地址进行在 Internet 中的路由选择。传输层协议为应用层提供的是进程之间的通信服务。为了在给定的主机上能识别多个目的地址,同时允许多个应用程序在同一台主机上工作并能独立地进行数据报的发送和接收, TCP/UDP 提供了应用程序之间传送数据报的基本机制,它们提供的协议端口能够区分一台机器上运行的多个程序。 也就是说, TCP/UDP 使用 IP 地址标识网上主机,使用端口号来标识应用进程,即 TCP/UDP 用主机 IP 地址和为应用进程分配的端口号来标识应用进程。端口号是 16 位的无符号整数, TCP 的端口号和 UDP 的端口号是两个独立的序列。尽管相互独立,如果 TCP 和 UDP 同时提供某种知名服务,两个协议通常选择相同的端口号。这纯粹是为了使用方便,而不是协议本身的要求。利用端口号,一台主机上多个进程可以同时使用 TCP/UDP 提供的传输服务,并且这种通信是端到端的,它的数据由 IP 传递,但与 IP 数据报的传递路径无关。具有传输层功能的协议TCPUDPSPXNetBIOS NetBEUI
典型的传输层协议有:☆ SPX:顺序包交换协议,是Novell NetWare网络的传输层协议。☆ TCP:传输控制协议,是TCP/IP参考模型的传输层协议。传输层的协议标准有以下几种.ISO8072:称为"面向连接的传输服务定义"。ISO8072:称为"面向连接的传输协议规范 。下边总结一下网络中常用端口号:
典型的传输层协议 ☆ SPX:顺序包交换协议,是Novell NetWare网络的传输层协议。☆ TCP:传输控制协议,是TCP/IP参考模型的传输层协议。传输层的协议标准有以下几种.ISO8072:称为"面向连接的传输服务定义". ISO8072:称为"面向连接的传输协议规范

本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/61139.html。