【网络基础理解笔记之三】网络数据包通信小结

数据的传输:

数据要想进行传输必须进行封装:应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部。
封装过程: 首先由用户处理,给数据加上应用层(如:用户封装ftp协议)。之后就交给内核处理通信细节:(1)加上传输层,打上报头(如:给数据加上TCP协议);(2)加上网络层,加上IP段的段首。(3)到网络接口层(链路层),以太网帧协议加上帧头和帧尾。然后就由以太网驱动程序,将我们封装好的数据经网卡加入到以太网环境中,经网线传输到对方接收端。
接收端收到数据封装后,要进行解包,解包的过程和封装相反。

路由: 路由就是指数据包从源地址到目的地址所经过的路径,由一系列路由节点组成。
路由表: 每个路由器都有一个路由表,路由表存储着指向特定网络地址的路径。路由器通过查询路由表来决定向哪个接口发送数据包。
举个例子: A有数据要传输到B,则A中记录则B的IP地址,且这个要传输的数据要经过几个路由器后到达目标IP地址(B)。如果数据是TCP协议,则它的要走的路径是稳定的(要进过的那几个路由器是确定好的);如果是UDP协议,则它是不稳定的,同样的数据传输到B,有可能走两条不一样的路径。

作个网络数据包通信的小结:

第一步:数据从主机A传输到主机B,先进行层层封装(由内到外就是应用层—>传输层->网络层->以太网帧头),然后把数据放到网络中(如:网线)。
第二步:在网络传输中,每经过一个路由器就进行一次不完全的拆包和解包的过程,主要是对最外层(帧头帧尾)进行处理。具体是路由器1拆掉帧头帧尾,在网络层中找到最终目的的IP地址,然后通过路由器自身的路由表去查找下一跳路由器2的目的IP地址,然后路由器2的收到路由器1发来的ARP请求,填充目的MAC和源MAC地址后回发,这样路由器1就可以知道路由器2的MAC地址,然后就可以把数据包发到路由2中。
第三步:送达目的主机后,将数据包进行逐层拆解,拆解和封装的顺序相反。
下面画了个小图来说明:
在这里插入图片描述
封装的具体过程
在这里插入图片描述
注意事项: ARP数据报格式中,目的IP地址指的是下一跳(即下一个要经过的路由)的,而最终目的端的IP地址是被封装在网络层的IP协议中。目的IP地址会一直改变,随着经过的每一个路由器自己的路由表决定下一跳。

TTL: 以一跳为单位,表示数据包的传输生命周期。不如:如果一个数据包的生命周期为40,每经过一个路由会将TTL减1,到最后一个减为0的路由器会将这个数据包丢掉。

下图是IP数据报格式
在这里插入图片描述

TCP和UDP数据报协议中的端口号,指的是进程,比如:A发送给B,用的是QQ还是还是微信。下图是数据报格式:
UPD数据段
TCP数据段

公网IP访问公网IP:直接访问。
公网IP和私网IP之间的访问:NAT映射。
私网IP和私网IP之间的访问:NAT映射,打洞机制。
如果是两个局域网的私有IP之间的访问,和公网和公网之间的访问一致。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值