【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

Internet原理与技术1(IP地址、IP数据报、ARP协议、ICMP协议、子网编址、无分类编址与CIDR、IP分组的转发)

Internet原理与技术2(因特网的路由协议RIP、OSPF、BGP,网络地址转换NAT,网络协议IPv6)

传输层的作用是在通信子网提供的服务的基础上,为上层应

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

用层提供有效的、合理的传输服务。使高层用户在相互通信时不必关心通信子网的实现细节和具体服务质量

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

知识要点:

  • 掌握端口的基本概念和应用

  • 理解无连接的传输层协议UDP

UDP特点、UDP格式和校验方法

  • 掌握面向连接的传输层协议TCP

TCP特点、首部格式、连接管理、可靠传输、流量控制和拥塞控制机制

一、端口及套接字

===========================================================================

1、传输层编址


(1)传输层的复用和分用

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

(2)常用应用进程默认的端口

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

(3)端口:应用层进程的标识

端口指网络设备内部与外界通交流的出口。

端口作用:

  • 数据发送时向下交付给传输层

  • 接收数据时向上交付给应用层

端口分类:

  • 熟知端口

其数值一般为 0~1023。这些端口号是 TCP/IP 体系确定并公布的。

  • 一般端口

数值范围是 1024~ 65535。用来随时分配给请求通信的客户进程。

2、套接字(socket)


【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

3、无连接服务和面向连接服务


【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

二、用户数据报协议UDP

===============================================================================

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

UDP协议格式


【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【例】校验UDP报文


【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

  • f0 1f af 67 52 a7:目的MAC地址

  • e4 d3 32 0e 41 66:源MAC地址

  • 08 00:类型

  • 45:IPv4数据报首部,IP首部20个字节

00

  • 00 30:IP数据报总长度48个字节(包括IP数据报首部20个字节)

这里开始是 UDP 协议格式

  • 11:传输层UDP协议

  • 27 a8 d4 d4:源IP地址

  • c0 a8 01 65:目的IP地址

  • 73 a6 11 72 00 1c:UDP首部(8字节)

  • 73 a6:源端口是29606

  • 11 72:目的端口是4466

  • 00 1c:UDP长度

  • 4a 73:校验和

  • 4b 55 00 01 24 00 00 08 00 00 00 08 00 00 01 1a 00 00 01 20:UDP数据(20字节)

计算校验和:

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

UDP小结


  • UDP 不保证可靠交付

  • UDP 比 TCP 的开销要小很多

  • 实时应用(如IP电话、实时视频会议等),以及广播或者多播,则必须使用 UDP 协议。

UDP实例:

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

三、传输控制协议TCP

==============================================================================

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

TCP报文格式


【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

标志位的含义:

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

Wireshark 软件中查看 TCP 报文:

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

TCP 连接管理


建立连接 - 三次握手

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

释放连接 - 四次握手

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

TCP可靠传输


序号确认机制

若收到的报文段无差错,只是未按序号,那么应如何处理?

  1. 将不按序的报文段丢弃;

  2. 先将其暂存于接收缓冲区内,待所缺序号的报文段收齐后再一起上交应用层。

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

超时重传机制

超时重传时间RTO公式:RTO = RTT + 4 × RTTD

往返时延RTT公式:

  • RTTnew = RTTsample (第一次测量得到的RTT样本值)

  • RTTnew = α × RTTold + (l - α) × RTTsample(第二次以后的测量)

【例题】RTT 估算

如果 TCP 来回路程时间 RTT 的当前值是 32ms,随后应答在 40ms 时候到来,如果取 α=7/8,那么新的 RTT 估算值是多少。

答:根据上面的公式,RTTnew = α × RTTold + (l - α) × RTTsample,可以计算出 RTTnew = 40 * 7/8 + 32 * 1/8 = 33。

定时器

  1. 重传定时器

  2. 持续定时器、

  3. 保活定时器

  4. 时间等待计时器

TCP流量控制(大小可变滑动窗口)


采用大小可变滑动窗口的方式进行流量控制;

【计算机网络】Internet原理与技术3 ,linux网络技术基础马军pdf

TCP拥塞控制


拥塞控制的基本功能是避免网络发生拥塞,或者缓解已经发生的拥塞

  • 为了进行有效的拥塞控制,需要通过拥塞窗口cwnd(congestion window)来进行衡量网络的拥塞程度

  • 发送窗口的取值依据拥塞窗口和接收窗口中的较小的值,即 Min[rwnd,cwnd]

  • rwnd 在流量控制中已阐述,在下文中将只关注 cwnd。

拥塞控制的四种方式:

上一篇:TCP/IP协议栈模型分析


下一篇:Linux编程获取本机IP地址