美文网首页
传输层tcp/udp

传输层tcp/udp

作者: 机器不能学习 | 来源:发表于2018-09-02 18:18 被阅读0次

tcp

tcp有相当多的控制,包括次序丢包重发等等。

确认应答(ack):发送方的数据到达接收方后,为了让发送方知道数据没有丢失,所以接收方要将情况反馈,一来告诉发送方已经收到数据类,二来告诉发送方自己期待的下一组数据是什么。                                  如果发送方在一定时间内没有收到确认应答,那么它会重新发送数据(没有收到的情况有两个:1.发送的时候丢包,接收方根本没收到也就没办法应答 2.接受方作出的应答丢包了)

连接管理:接受方和的建立和断开都要经过多次交流                                                                                   比如连接(三次握手):发送方先发送一个链接请求(syn),接收方收到后进行确认应答和链接请求,发送方收到该请求后再做一次确认应答。这便是著名的三次握手                                                                            切断连接:把连接请求(syn)变为断开请求(fin)就行了

以段为单位发送:在建立连接(三次握手)的同时,双方计算机交换自家的最大消息长度(MSS),然后取两者中最小值最为单位长度进行发送

窗口控制:因为以段作为单位发送还是显得效率底下,所以引用的窗口概念,窗口像一个更大确认的单位,以前是每发一个段,要等到收到这个段的确认信息后才发送下一个段。有了窗口后,发送完一个段后不必等待这个段的确认应答,而是继续发送,直到发送的单位是窗口的单位。                                                       重发:发送端可以以最大的确认应答为准(如发送了1-4000,收到了1000,3000的确认应答,就认为3000以前都被接受)。如果是发送时丢失,每次发送端接受到数据后,都会发送该丢失的请求。如果请求三次。发送端才会重新发送数据。

控制流:也就是窗口大小,接受端主机向发送端主机通知自己可以接受数据的大小,于是发送端发送的数据小于这个大小。接受能力其实与缓冲层有关,发送端缓冲层的数据只有收到该数据的确认应答后才会删除,这个控制流的大小就取决于接受缓冲层的大小。

拥塞控制:为了防止网络堵塞,用算法对数据量进行控制。这就要求实时的改变这个窗口的大小。

tcp首部:1.原端口和目标端口号。2.序列号(发送数据的位置如发送1-2000)3.确认应答号 4.数据偏移(数据部分应从tcp包的哪个位开始算) 5.空置位(相当于标志 在哪一位上设置为1 这个包就是哪类包 如ack,syn) 6.窗口大小 7.校验和


udp

udp是不面向连接的,它不会在意接受方有没有接受数据,更不会在意是否丢包,是否阻塞,是否重发。

它的首部信息比较简单,有用于识别的远端口号和目标端口号,还有包长度和校验和(用于验证是否被破坏)

用处:视频,音频等多媒体实时通信,广播通信



相同与区别

tcp和UDP都是传输层协议,他们通过识别ip和端口号送到相应的应用程序中

而他们又是大不相同的,tcp是面向连接的,具备顺序控制,重发控制等,属于可靠传输。而udp是面向无连接的,它有实时性和高速性。



端口号

端口号是为了区分在同一主机上的不同程序。数据通过传输到达主机,要通过端口号才能找到处理这些数据的真正程序。

如http,ftp这些广泛使用的应用程序的端口号叫做知名端口号,在每台计算机都相同。

除了知名端口号还有些端口号被注册。

如果只有服务端有必要确定端口号,但是接受的客户端没必要确定的话,这时计算机会在不冲突的情况下为该程序分配一个端口号。

相关文章

  • iOS面试:网络通信概念

    TCP与UDP TCP和UDP都是传输层的协议: TCP是传输控制层协议,是面向连接、可靠的,点对点的;UDP是用...

  • 传输层

    传输层的功能:传输层寻址和端口;无连接服务和面向连接服务 UDP协议:UDP数据报,UDP校验 TCP段:TCP连...

  • iOS 网络相关面试题

    问题:TCP、UDP TCP/UDP 传输层协议 ||—— UDP:用户数据报协议 TCP与UDP的区别: 问题...

  • Unity高级-Socket

    传输层协议 TCP协议 和 UDP协议 属于传输层协议 TCP(Transmission Control Prot...

  • TCP/UDP

    1.TCP和UDP的区别? TCP:传输控制协议 UDP: 用户数据报协议 TCP/UDP 都是面向传输层协议 1...

  • tcp、http和socket的区别

    一:tcp协议 tcp协议属于传输层协议(UDP也属于传输层协议,但是UDP协议是无状态的)。建立一个TCP连接需...

  • TCP/IP 网络模型,对应协议举例

    应用层 HTTP,FTP传输层 TCP,UDP网络层 ...

  • TCP和UDP

    TCP协议为TCP/IP协议;UDP为UDP/IP协议。TCP和UDP都是对应网络七层协议上的传输层。IP属于网络...

  • 2020-03-25【网络基础知识】

    HTTPS 建立连接流程 TCP&UDP 传输层协议TCP 传输控制协议UDP 用户数据报协议 一、UDP 1.特...

  • note_19.1_DNS

    DNS and Bind 传输层协议: TCP, UDP, SCTP TCP: Transmission Cont...

网友评论

      本文标题:传输层tcp/udp

      本文链接:https://www.haomeiwen.com/subject/uhbmwftx.html