本博客已整理成pdf文件,文件资源链接:哈尔滨工业大学-计算机网络期末
知识点部分
1.传输层服务
传输层协议为运行在不同Host上的进程提供了一种逻辑通信机制,两个进程之间仿佛是直接连接的,也是一种端到端的连接。
端系统运行传输协议,①发送方传输层:将应用递交的消息分成一个或多个的Segment,并向下传给网络层②接收方传输层:将接收到的segment组装成消息,并向上交给应用层。传输层可为应用提供多种协议:Internet上的TCP,UDP。
网络层VS传输层——区分
网络层提供主机(IP地址)之间的逻辑通信机制
传输层提供应用进程之间的逻辑通信机制
网络层VS传输层——联系
传输层位于网络层之上
传输层依赖于网络层服务
传输层对网络层服务进行增强
传输层协议——TCP服务(可靠,按序的交付服务)
面向连接
可靠的传输
流量控制
拥塞控制
不提供时间/延迟保障
不提供最小带宽保障
传输层协议——UDP协议(不可靠的交付服务)
无连接
不可靠的数据传输
以上两种均不保证延迟,带宽。
2.多路复用与分用
接收端多路分用,发送端多路复用。
多路分用:主机收到IP数据报(报文段)[每个数据报(数据报格式详见下面7)携带源IP地址、目的IP地址;每个数据报携带一个传输层的段Segment;每个段携带源端口号和目的端口号];主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket(TCP做更多的处理),网络层不关心端口号。
无连接分用(UDP):利用端口号创建Socket→UDP报文段中的目的Socket用二元组标识(目的IP地址,目的端口号)→主机收到UDP段(检查报文段中的端口号,将UDP导向绑定在该端口号的Socket)→来自不同源IP地址和/源端口号的IP数据包被导向同一个Socket(SP:源;DP:目的)
面向连接的分用(TCP):TCP的Socket用四元组标识(源IP地址,源端口号,目的IP地址,目的端口号)→接收端利用所有的四个值将Segment导向合适的Socket→服务器可能支持多个TCP Socket(每个Socket用自己的四元组标识)→Web服务器为每个客户端开不同的Socket
3.UDP协议
提供功能:①基于Internet IP协议(复用/分用,简单的错误校验)
②“Best effort”服务(UDP段可能丢失,非按序到达)
③无连接(发送方和接收方不需要握手,每个UDP段的处理独立于其他段)
应用场景:①流媒体应用(容忍丢失,速率敏感)②DNS,SNMP
在UDP上实现可靠传输:①在应用层上增加可靠机制
②应用特定的错误恢复机制
报文格式如图。
UDP校验和(checksum):检测UDP段在传输中是否发生错误(比如位翻转).