王道考研计算机网络——传输层

一、传输层概述 

王道考研计算机网络——传输层_第1张图片

复用:发送方不同的应用进程都可以使用同一个传输层的协议来传送数据

分用:接收方的传输层在去除报文段的首部之后能把数据交给正确的应用进程

王道考研计算机网络——传输层_第2张图片

熟知端口号就是知名端口号0-1023

客户端使用的端口号是动态变化的,不是唯一确定的

端口号是16位65536

王道考研计算机网络——传输层_第3张图片

套接字可以标识一个端点:具体主机的具体进程

ftp:21 telnet:23 smtp:25 dns:53 http:80

王道考研计算机网络——传输层_第4张图片

二、UDP用户数据报

链路层有一个MTU的要求

UDP不确保数据的可靠交付,只提供了复用分用和差错检测的功能,出现问题应用层自己去解决

udp首部8个字节(源端口、目的端口、UDP的整个长度、校验和),tcp首部20个字节

王道考研计算机网络——传输层_第5张图片

源端口号可以不填(如果不需要对方回复的话) ,目的端口肯定要填

分用的时候,如果没有对应的端口号,就丢弃报文,返回给发送方一个ICMP“端口不可达”差错报告报文

王道考研计算机网络——传输层_第6张图片

伪首部只有在计算校验和的时候才出现,既不上传也不下发

伪首部的udp长度字段指的是udp的首部8B+udp数据部分的长度(不包含伪首部的长度) 

王道考研计算机网络——传输层_第7张图片

我猜它不考: 

王道考研计算机网络——传输层_第8张图片

三、TCP可靠数据传输 

每一条TCP连接只能是点对点/一对一的,无法用于广播/多播的通信方式

TCP提供可靠的数据传输:可靠有序,不重不丢

TCP提供全双工通信:发送缓存和接收缓存可以同时工作

TCP提供的是面向字节流的服务:把应用程序交付下来的数据看成一串没有结构的字节流

王道考研计算机网络——传输层_第9张图片

王道考研计算机网络——传输层_第10张图片

填充字段的作用:保证TCP的段按4字节对齐

面向连接:收到一个报文段就要回复一个确认,回复的是下一个希望收到的序号,同时向发送方表面在这个序号之前的报文段我都收到了

为什么要通过数据偏移来获取数据部分从哪开始的?

》因为除了20字节的固定首部,还有可能加了选项字段

王道考研计算机网络——传输层_第11张图片

王道考研计算机网络——传输层_第12张图片

SYN和SIN用于连接的建立和释放

王道考研计算机网络——传输层_第13张图片

王道考研计算机网络——传输层_第14张图片

紧急指针的目的是为了标识紧急数据所在的位置

王道考研计算机网络——传输层_第15张图片

四、三次握手四次挥手

服务/客户端都有发送和接收缓冲区

ACK=1,ack的编号才有意义

王道考研计算机网络——传输层_第16张图片

王道考研计算机网络——传输层_第17张图片

为什么要等待2MSL:如果最后一个ACK=1,seq=u+1,ack=w+1丢失了,服务端没有收到,就会一直给客户端发送一个FIN=1,ACK=1,seq=w,ack=u+1,无法进入最后的CLOSED状态

王道考研计算机网络——传输层_第18张图片

王道考研计算机网络——传输层_第19张图片

一个字节占一个序号,序号字段指的是报文段的第一个字节的序号

TCP采用累计确认

王道考研计算机网络——传输层_第20张图片

王道考研计算机网络——传输层_第21张图片

3个冗余ack之后,直接启动快速重传 

王道考研计算机网络——传输层_第22张图片

五、TCP流量控制与拥塞控制 

TCP重点考察拥塞控制和流量控制 

王道考研计算机网络——传输层_第23张图片

王道考研计算机网络——传输层_第24张图片

如何打破互相等待的死锁局面? 

收到对方的零窗口通知就启动一个持续计时器,然后,每隔一段时间发送一个探测报文段

王道考研计算机网络——传输层_第25张图片

流量控制是一个点对点的问题,而拥塞控制是一个全局性的问题

王道考研计算机网络——传输层_第26张图片

王道考研计算机网络——传输层_第27张图片

王道考研计算机网络——传输层_第28张图片

快恢复:降到一半开始线性增加 

王道考研计算机网络——传输层_第29张图片

你可能感兴趣的:(考研,计算机网络,c语言,c++)