1、在协议栈层间的抽象的协议端口是软件端口。路由器或交换机上的端口是硬件端口。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。11、端口用一个 16 位端口号进行标志。12、端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。13、端口的分类:熟知端口和登记端口号合称为服务器端使用的端口号n 熟知端口,数值一般为 01023。n 登记端口号,数值为102449151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。n 客户端口号或短暂端口号
2、,数值为4915265535,留给客户进程选择暂时使用。二、用户数据报协议 UDP1、UDP只是在 IP 的数据报服务之上增加了端口的功能和差错检测的功能。2、UDP 的主要特点n UDP 是无连接的,即发送数据之前不需要建立连接。n UDP 使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制。n UDP 是面向报文的。 n UDP 支持一对一、一对多、多对一和多对多的交互通信。n UDP 的首部开销小,只有 8 个字节。n UDP没有拥塞控制,很适合多媒体通信的要求3、发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也
3、不拆分,而是保留这些报文的边界。4、UDP 的首部格式(每个部分各两个字节)源端口(不需要回送时可填0),目的端口,长度(包括数据部分,最小为8字节),检验和(检查用户数据报是否有差错)5、IP数据报首部检验和与UDP数据报检验和的区别:IP数据报只检验首部,UDP则把首部和数据报部分一起检验了。6、伪首部与检验和:为了计算检验和在UDP首部之前再加入12字节的伪首部。伪首部不能向上递交也不用向下传送。接收方将UDP数据报与伪首部按二进制反码求和,正确的结果应为全0,否则丢弃这个数据报。7、伪首部包括源IP,目的IP,一个全0字节,一个协议字段,2字节的UDP长度三、传输控制协议 TCP 1、
4、TCP 最主要的特点n TCP 是面向连接的运输层协议。n 每一条 TCP 连接只能有两个端点,每一条 TCP 连接只能是点对点的(一对一)。n TCP 提供可靠交付的服务。n TCP 提供全双工通信。n 面向字节流。2、TCP 连接是一条虚连接而不是一条真正的物理连接。3、TCP 连接的端点:不是主机,不是主机的IP 地址,不是应用进程,也不是运输层的协议端口,而是套接字(socket)或插口,是端口号拼接到IP 地址后面构成的。 套接字 socket = (IP地址: 端口号) 192.168.1.1:80TCP 连接 := socket1, socket2 = (IP1: port1),
5、 (IP2: port2) 4、同一个IP地址可以有多个不同的TCP连接,而同一个端口号也可以出现在多个不同的TCP连接中。四、可靠传输的工作原理1、理想传输条件的两个特点:传输信道不产生差错,无论发送发以多快的速度发送,接送方总来的及接受数据。在这种条件下不需要采取何种措施就可以实现可靠传输。2、停止等待协议:每发送完一个分组就停止发送,等待对方确认。确认后再发下一个分组3、为了在出现差错时能够继续通信:在发送完一个分组后,必须暂时保留已发送的分组的副本;分组和确认分组都必须进行编号;超时重传,超时计时器的重传时间应当比数据在分组传输的平均往返时间更长一些。4、确认丢失和确认迟到5、使用确认
6、和重传机制,我们就可以在不可靠的传输网络上实现可靠的通信。6、可靠传输协议又称为自动重传请求ARQ7、信道利用率: TD:分组发送时间;RTT:分组往返时间;TA:发送确认分组所需的时间8、停止等待协议的优点是简单,但缺点是信道利用率太低。9、提高信道利用率的措施:采用流水线传输:发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认10、连续 ARQ 协议:TCP 连接的每一端都必须设有两个窗口一个发送窗口和一个接收窗口。发送窗口内的数据可以连续发送出去,不需要等待对方的确认,接收方采用累积确认,对按序到达的最后一个分组确认,表示:到这个分组为止的所有分组都已正确收到了。发送方
7、每接收到一个确认,就把发送窗口向前滑动一个分组单位。五、TCP 报文段的首部格式1、源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。2、序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。3、确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。4、数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远,以四个字节为单位,其实就是首部长度,最大60字节。5、确认 ACK 只有
8、当 ACK = 1 时确认号字段才有效。6、复位 RST (ReSeT) 当 RST = 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。7、同步 SYN 同步 SYN = 1 表示这是一个连接请求或连接接受报文8、终止 FIN (FINis) 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。9、窗口字段 占 2 字节,用来让对方设置发送窗口的依据,单位为字节。10、检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。检验规则和UDP检验和一样。11、紧急指针字段 占 16 位
9、,指出在本报文段中紧急数据共有多少个字节12、MSS 是 TCP 报文段中的数据字段的最大长度13、选项字段 长度可变。包括:n 窗口扩大选项 占 3 字节, n 时间戳选项占10 字节,其中最主要的字段时间戳值字段(4 字节)和时间戳回送回答字段(4 字节)。用来计算往返时间,处理TCP序号超过2的32次方的情况,防止序号绕回,时间戳可以做个标记n 选择确认选项14、填充字段,填0,这是为了使整个首部长度是 4 字节的整数倍。六、TCP 可靠传输的实现1、TCP的滑动窗口以字节为单位2、窗口越大,发送方就可以在收到确认之前发送更多的数据,传输效率高,但是接收方必须来的及接收。3、 窗口的分类
10、:发送窗口,可用窗口,未确认窗口4、 A 的发送窗口并不总是和 B 的接收窗口一样大(因为有一定的时间滞后)。5、TCP 要求接收方必须有累积确认的功能,这样可以减小传输开销。6、缓存和窗口的关系:缓存一般大于窗口7、发送缓存与接收缓存的作用发送缓存用来暂时存放:发送应用程序传送给发送方 TCP 准备发送的数据;TCP 已发送出但尚未收到确认的数据。 接收缓存用来暂时存放:按序到达的、但尚未被接收应用程序读取的数据; 不按序到达的数据。8、超时重传时间的选择: RTO = RTTS + 4 RTTD 平均往返时间 新的 RTTS = (1 - a) (旧的 RTTS) + a (新的 RTT 样本) 0 a 可用资源2、拥塞控制与流量控制
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1