计算机网络--->7. 传输层(2)

7. UDP用户数据包协议

7.1 UDP主要特点

  • 很适合多媒体通信的要求是指:广播屏幕
  • TCP只是1对1

7.2 UDP首部

UDP首部具体格式如下

  • 首部中两个字节的长度标识的是首部加数据部分的总长度
  • 检验和:计算“伪首部”+“首部”+“数据”来进行检验和的计算
  • 伪首部:就是为了与首部一起凑够20个字节再加上数据,方便检验和运算。说明:在传输层的检验和这里,需要使用网络层首部的一些信息来进行计算。伪首部的17表示协议号
  • UDP检验和计算过程如下

8. TCP传输控制协议

8.1 概述

  • TCP是面向连接的传输协议(计算机A和B在传数据前,要确保网络是通的,然后才可以传数据,AB在进行通信之前要进行3次握手)
  • 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的(一对一)。
  • TCP提供全双工通信(必须是全双工,B从A那里下载500M文件,用的是TCP,就算是A一直给B传数据,B也要每隔一段时间给A一个反馈(告知A已经收到、或让A传快、传慢一点等),让A知道文件已经被B正确接收)
  • 面向字节流(图中的每个小格子代表一个字节【8位二进制】,计算机键盘上的一个字母或者特殊符号代表一个字节,一个字符等于一个字节)
    如图应用程序在发送文件的时候是一部分一部分的传,每次将要传的部分放在一个缓存中,这个缓存是TCP协议用到的缓存(这里叫做TCP缓存),同样接收端的计算机中也有一个TCP缓存。(1)发送方的应用程序往缓存中放数据块:每次选取的数据块包含的字节数是随机的,如:1~5//6~8//9~10等。(2)根据TCP协议传缓存区里面的字节:将数据块加上头部地址等信息构成数据包,在网上传输,每次选取的数据库占多少个自己也是随机的,如1~3//4~5等。(3)到达接收端的缓存后,就会将数据包的头部去掉,将来到的字节流按照顺序组装起来。(4)接收端的应用程序从缓冲区读这些字节,每次读一个数据块(数据块里包含的字节也是随机的)

TCP解决以下3个问题

  • TCP提供可靠交付的服务
  • TCP提供流量控制
  • TCP提供拥塞控制(当网络中的很多计算机都在使用某一条链路进行通信的时候,网络堵塞,导致该链路上的路由器处理不过来到达的数据包,导致数据包丢失,TCP协议必须有一种机制来避免网络拥塞)

8.2 TCP的连接

TCP协议是点到点的通信,每一条TCP连接有两个端点,TCP连接的端点不是主机、不是主机的ip地址、不是应用进行、也不是传输层的协议端口,而是“套字节”。对应用程序而言从一个点到另一个点是通过TCP+端口号来表示的。端口号拼接到IP地址即构成了套字节

猜你喜欢

转载自www.cnblogs.com/deer-cen/p/12324860.html