<返回更多

网络是怎样连接的--用电信号传输TCP/IP 数据

2022-06-20    杭漂周星星
加入收藏
网络是怎样连接的--用电信号传输TCP/IP 数据

 

一、TCP 三次握手

网络是怎样连接的--用电信号传输TCP/IP 数据

 

connect是一个抽象概念,不是实际存在的。

三次握手就是connect的过程,目的是为了交换序号初始值。

二、发送数据

网络是怎样连接的--用电信号传输TCP/IP 数据

 

发送方的数据如果比较大,就需要进行拆包发送。为了能让接收方还原包的顺序,每个包都有一个序列号,第一包的数列号就是在connect过程初始化的(第一包的序列号不是1的原因是为了安全性)。

ACK机制保证接收方一定能收到发送方的数据,如果发送的包有丢失,超时未确认,发送方会重新发送没确认的包的数据。接收方可能收到重复的数据,但是因为我们有序列号,所以接收方可以知道包是否是重复,如果是重复的就会自动丢弃掉。

TCP的头部就是存放这些控制数据的(序列号、ACK号等)。

三、数据路由

网络是怎样连接的--用电信号传输TCP/IP 数据

 

IP头部存放了目标的IP地址,但是通常目标服务在比较远的地方,和发送方不是直连的,这就需要进行路由,通过多个路由节点,接力传输,把数据送达目标服务。就像发快递一样 ,IP就是快递的收货地址。

路由节点收数据的时候是不认IP地址的,只认mac地址,所以为了把数据路由到下一个节点,需要添加MAC头部,路由过程中MAC地址会被频繁的修改。

整体过程是通过路由表,知道下一个路由节点的IP,然后通过ARP协议获取这个路由节点的MAC地址,把目标MAC地址写到MAC头部中,直到数据包到达目的地。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>