计算与网络
互联网数据包如何传输
互联网传递消息,就像一个专送小信封的邮政系统。
一幅大画剪成带编号的小块后更容易寄送:把每块装进写好地址的信封,再到目的地重新拼起来。
步骤 1
消息变成小块
对于TCP连接,数据会被分成便于处理的小块。TCP会标记各个分段,让接收方能跟踪字节流。
步骤 2
每个包都有地址
IP会给每个小块包上含有源地址和目的地址的包头,就像在信封上写地址。
步骤 3
你的路由器转发
你的设备先通过本地网络把数据包发给能连接其他网络的路由器。
步骤 4
路由器选择下一跳
每台路由器都会读取目的地址,再把数据包转发给另一台合适的路由器或目标网络。
步骤 5
数据包各自传输
IP会分别处理每个数据包。同一条消息的数据包可能走不同路线,或在不同时间到达。
步骤 6
接收方重组消息
对于TCP流量,接收方会整理数据顺序。若有字节缺失,TCP会让发送方重新传输。
常见误区
每个数据包都走同一条固定路线。
IP会独立转发每个数据包。相关的数据包可能经由不同的可用路径,最后到达目的地。
快速检查
路由器查看什么来选择数据包的下一跳?
- 目的IP地址
- 数据包的颜色
- 发送方的屏幕尺寸
查看答案
目的IP地址会告诉路由器,数据包正试图到达哪个网络。
资料来源
- Internet Protocol — RFC 791RFC Editor
- Requirements for Internet Hosts — RFC 1122RFC Editor
- Transmission Control Protocol — RFC 9293RFC Editor