一.运输层协议概述
1、TCP三个重要问题:滑动窗口、流量控制、拥塞控制机制
2、为什么需要运输层?
因为真正通信的实体是在主机中进行的,是一台主机中的一个进程和另一台主机中的一个进程在交换数据,为进程间提供逻辑通信。而网络层是为主机之间提供逻辑通信。
3、运输层的复用和分用功能描述:复用:发送方把不同进程用同一个运输层协议传输,(加上不同的首部),就像好多人乘坐公交车。分用:接收方的运输层在去掉报文首部后把数据交付进程,就像到站下车。
4、运输层有两种不同的协议:传输控制协议TCP(面向连接,因此会增加很多开销);用户数据报协议UDP(无连接)。
5、协议端口号,简称端口;属于软件端口,和硬件端口是完全不同的概念。
6、两个计算机中的进程要相互通信,要知道对方的IP地址(找到对方的计算机),也要知道对方的端口号(找到对方计算机中的应用进程)。
7、运输层的端口号分为两类:服务器端使用的端口号、客户端使用的端口号。
二.用户数据报协议UDP
1、应用层交给UDP多长的报文,UDP就照样转发。无非是加个首部。
2、计算检验和:IP数据报的检验和只检验首部,但UDP的检验和是把首部和数据部分一起都检验。
三.TCP概述
1、TCP是面向连接的运输层协议。就像打电话,先拨号建立连接,挂电话后释放连接。
2、在报文长度这块,TCP是根据对方给出的窗口值和当前网络的拥塞程度来决定一个报文段中应该包含多少字节。(UDP报文的长度是应用程序给出的)
3、TCP的连接有两个端点,这两个端点是什么嘞?不是主机,不是IP地址,不是应用进程,不是协议端口。而是==>>套接字。套接字是什么玩意?
举例:IP地址是192.2.3.4,端口号是80。那么套接字就是(192.2.3.4:80)
4、