- 1. 运输层为应用进程之间提供端到端的逻辑通信。
- 2. TCP/IP 的运输层主要有两个协议:
- 用户数据报协议 UDP
- 传输控制协议 TCP
- 3. 两个对等的运输层实体在通信时传送的数据单位:
- TCP 传送的协议数据单元是 TCP 报文段(segment)。
- UDP 传送的协议数据单元是 UDP 报文或 UDP 用户数据报。
- UDP 在传送数据之前不需要先建立连接;对方的运输层在收到 UDP 报文后,不需要给出任何确认。而 TCP 则提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接;接收方收到 TCP 报文段后要给出确认。
4.
5.端口位于运输层和应用层之间,复用和分用
- 6. 计算机中的进程是用进程标识符(PID)来标志的。
- 但是在互联网环境下,用进程标识符来标志各应用进程则是不行的。这是因为不同的操作系统使用不同格式的进程标识符,且进程标识符的分配是动态进行的。
- 为了使不同计算机的应用进程能够互相通信,就必须使用与操作系统无关的方法对应用进程进行标志。
- 7. 解决这个问题的方法就是在运输层使用协议端口号(protocol port number),或通常简称为端口(port)。只要把所传送的报文交到目的主机的运输层,剩下的工作就由运输层协议依据端口号来完成。
- 运输层用一个 16 位端口号来标志一个端口,故可表示 65536 个不同的端口(端口号为 0~65535)。
- 8. 服务器端使用的端口号。这里又分为两类,其中最重要的一类是熟知端口号或全球通用端口号,数值为 0~1023。这些端口号被指派给了互联网中最重要的一些应用:
- FTP:20,21、TELNET:23、SMTP:25、DNS:53、HTTP:80、HTTPS:443 DHCP 67:服务器端;68:客户端。
- FTP 21:控制端口;20:数据传送端口。这两个端口都是服务器端的端口。
另一类叫做登记端口号,数值为 1024~49151。
9. 客户端使用的端口号9ds,数值为 49152~65535。这类端口号仅在客户进程运行时动态分配,由客户进程临时使用
10.UDP和TCP:
11.实现可靠传输:
12.
- 流水线传输时,需要使用连续 ARQ 协议、滑动窗口协议和GBN 协议。
13. TCP 报文段的首部格式
1.源端口和目的端口 —— 各占 2 个字节。端口是运输层与应用层之间的服务接口。运输层的复用和分用功能都要通过端口才能实现。
2. 序号 —— 占 4 字节。TCP 连接中传送的字节流中的每一个字节都按顺序编号,序号字段的值指的是本报文段所发送的数据的第一个字节的序号。整个字节流的起始序号在连接建立时设置。
3.确认号 —— 占 4 字节,是期望收到对方的下一个报文段的数据部分的第一个字节的序号。若确认号 = N,则表明:到序号 N - 1 为止的所有数据都已正确收到。ack
4. 数据偏移(即首部长度)—— 占 4 位,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 4 字节。TCP 首部的最大长度是 60 字节,因此选项长度不超过 40 字节。
5. 紧急 URG —— 当 URG = 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送。
6. 确认 ACK —— 只有当 ACK = 1 时确认号字段才有效;当 ACK = 0 时,确认号无效。TCP 规定:在连接建立后, 所有传送的报文段都必须把 ACK 置 1 。
7. 推送 PSH —— 接收方 TCP 收到 PSH = 1 的报文段,就尽快地交付接收应用进程,而不再等到整个缓存都填满后再向上交付。
8. 复位 RST —— 当 RST = 1 时,表明 TCP 连接中出现严重差错(如主机崩溃或其他原因),必须释放连接,然后再重新建立连接。
9. 同步 SYN —— 在连接建立时用来同步序号。SYN = 1 表示这是一个连接请求或连接接受报文段。
当 SYN = 1,ACK = 0 时,表明这是连接请求报文段。
当 SYN = 1,ACK = 1 时,表明这是连接接受报文段。
10. 终止 FIN —— 用来释放一个连接。FIN = 1 表明此报文段的发送方的数据已发送完毕,并要求释放此连接。
11. 窗口 —— 占 2 字节,它是发送本报文段的一方的接收窗口。窗口值告诉对方,从本报文段首部中的确认号算起,自己还可以接收(对方还可以发送)多少字节的数据。窗口值是接收方让发送方设置其发送窗口的依据。
12. 检验和 —— 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。
13. 紧急指针 —— 占 2 字节,仅在 URG = 1 时才有意义。它指出本报文段中的紧急数据的字节数(紧急数据结束后就是普通数据),因此紧急指针指出了紧急数据的末尾在报文段中的位置。
14. 选项 —— 长度可变,最长可达 40 字节。
15. 填充 —— 使整个 TCP 首部长度是 4 字节的整数倍。
14.
15.流量控制:
16.
17.
18.