3. 拥塞控制
物理上传送数据包的下层网络可能发生交通拥塞。这个可能引起网络丢弃(失去)一些数据包。
有些协议为每隔进程使用缓冲区,消息在发送前存储在缓冲区中。如果传输层检测到网络上有拥塞,就暂缓发送。
4. 流量控制
发送端的传输层能监控接收端的传输层,检查接收者接收到的数据包是否过量。
5. 差错控制
消息的传输过程中,它有可能被损坏、丢失、重复或乱序。传输层的发送负责确保消息被目的传输层正确接收。
传输层可以在缓冲区(临时存储)中保留消息的副本,直到它从接收者那里接收到包无损坏到达和次序正确的确认。
如果在预期时间内没有确认,那么发送者就重新发送数据包。
6. 传输层协议 UDP(用户数据报协议)
完成多路复用和解多路复用。
通过给包增加校验和来进行差错控制。接收者会重新计算校验和,如果接收者得出结论这个包被损坏,它会丢掉这个包,而不通知发送者重新发送。
UDP速度快,效率高,并且会自己完成流量控制或差错控制。
DNS服务器,处理视频都使用的是UDP
UDP被称为无连接协议,因为UDP不提供属于单个消息的数据包间的逻辑连接。换句话说,UDP中的每个包都是一个单独的实体,没有序号。好比需要发送一组有次序的包裹到目的地,邮局不能保证这些包裹按次序分发。
TCP(传输控制协议)
支持传输层所有职责的协议。
没有UPD快速和高效。
TCP使用序号、确认号和检验和。
发送方还使用缓冲区,这种配置提供了多路复用、解多路复用、流量控制、拥塞控制和差错控制
TCP被称为面向连接的协议,因为它在两个传输层间提供逻辑连接。如果数据包到达的顺序错了或丢失了,将被重新发送。接收端的传输层不把次序错的数据包发送给应用程序,但保留消息中的所有数据包,知道他们以正确的次序被接受。
SCTP(流控制传输协议)
结合了UDP和TCP的优点。适用于音频和视频的实时传输,同时也提供差错控制和流量控制。
6.3.3 网络层:负责单个数据包从源主机到目的主机的发送
保证每个数据包从源点到最终目的地,它可能跨多个网络。
1. 网络层地址
从客户端到服务器的数据包和从服务器返回的数据包需要网络层地址。服务器的地址由服务器提供,而客户端地址是客户端计算机所知道的。
网络层使用它的路由表找到下一条(路由器)的逻辑地址,把这个地址传递给数据链路层。使用数据链路层需要的这个逻辑地址来找到下一个路由器的数据链路层地址。
2. 路由选择:指雪顶数据包的部分或全部路径
因为因特网是网络(LAN、WAN和MAN)的集合,因此从源到目的地的数据包发送可能是几个发送的组合:
源到路由器的发送、几个路由器到路由器的发送、路由器到目的地的发送。
当一个路由器接收到一个数据包时,它检查路由表,决定这个数据包到最终目的地的最佳路线。路由表提供了下一个路由器的IP地址,当数据包到达下一个路由器时,下一个路由器再做出新的决定。
注意:路由器只是用TCP/IP的前三层
路由器是根据路由选择协议来更新路由表的。此协议向网上的所有路由器发送自己的消息,更新它们关于路由的信息。
路由选择协议有:RIP、OSPF和BGP
3. 网络层协议
TCP/IP支持一个主协议(IP)和几个辅助协议,帮助IP完成职责 IP(因特网协议)
IPv4负责从源计算机到目的地计算机的数据包发送。全球的计算机和路由器都用32位的IP地址标识,使用点分十进制记法表示。
在消息的源头,IPv4把源和目的地IP地址加到从应用层传送来的数据包中。
辅助协议
ICMP(因特网控制消息协议):用来报告一定数目的差错给源计算机。例如,由于拥堵,路由器丢失一个数据包,ICMP可以发送一个数据包给源计算机,警告它拥堵。
IGMP(因特网小组管理协议):用来增加IP的多播能力。IP本质上是单播传输的协议,一个源,一个目的地。多播传输是指一个源、多个目的地。
还有别的辅助协议,如ARP(地址解析协议)和RARP(反向地址解析协议)