从网络包初探网络协议

什么是网络协议

协议可以看作是沟通桥梁,形象如语言,通过语言可以知道对方表达的意思。人与机器也通过语言沟通,这种语言就是一种协议。

机器与机器通过网络协议沟通协作,共同达成目的。

常见网络协议

HTTP、TCP、IP、MAC等

网络分层

自上而下分为应用层、传输层、网络层、链路层、物理层

你一定听过 HTTP是应用层协议、TCP是传输层协议、IP是网络层协议等。那么网络为什么要分层呢?
因为复杂,复杂的程序都要分层,这是程序设计的要求。保证将复杂工作拆分,每层专注于做本层事情。例如二层设备摘下MAC头。三层设备摘下MAC头还有IP头。

网络包

机器与机器之间传输的是网络包,它是网络协议的产物,将要表达内容按照协议规则组织数据。
一个网络包可能包含各层不同协议的数据,它反映了层与层之间的关系:可以有下层没上层,绝对不可能有上层没下层。例如TCP在三次握手时,每发送一个消息都要带上IP和MAC层。

常见网络包:

  • 应用层:HTTP(URL、请求方式、正文内容)
  • 传输层:TCP(应用监听的端口,以此判断此包发给谁的)
  • 网络层:IP(双方IP地址)
  • 链路层:MAC(客户端和网关的MAC地址)

网络世界

到这里我们知道了机器之间交流建立在网络协议上,交流的内容是网络包,那么你能想象国内的一台机器传输一个网络包到国外的某台机器上,需要经过怎样的艰难险阻吗?

就像我们发货一样,货从海关出去,我不知道到达目的地的详细路线,但海关一定知道,我只需要知道怎么到海关即可,海关怎样走哪里发出去我不关心。
主机发送网络包也一样发到网关,只要目标IP地址不是同一网段的包(不同局域网),都会发送到网关,由网关决定发到哪里。同一局域网内通过MAC通信;网关之间可以看作是局域网,通过MAC通信。
网关常常是一个路由器,根据路由表决策。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值