当前位置: 首页 > wzjs >正文

做搜狗网站优化排名首页服务热线

做搜狗网站优化,排名首页服务热线,山西官方网站有哪些,vs做网站加背景写在前面 想要学习一个东西,首先要了解为什么要有这个东西,自然,学习网络分层也是如此。 1:为什么要分层 答案其实很简单,只要是一个复杂的程序,都需要分层,而网络协议本身其实也是一个非常复…

写在前面

想要学习一个东西,首先要了解为什么要有这个东西,自然,学习网络分层也是如此。

1:为什么要分层

答案其实很简单,只要是一个复杂的程序,都需要分层,而网络协议本身其实也是一个非常复杂的程序,所有需要分层也是理所当然的。为了好理解,可以对比下图:
在这里插入图片描述
是不是和我们熟悉的领域一比较,就好理解多了。
所以你肯定知道了每一层肯定都是执行了一些代码逻辑的,简单起见,可以认为只是执行了一个方法,就像下图这样:
在这里插入图片描述
其中每个的函数作用如下:

proccess_mac_head:获取mac头信息,判断是否和自己的mac匹配,匹配则继续往上层处理,否则把包继续转发
proccess_ip_head:获取IP头信息,判断是否和自己的IP匹配,匹配则继续往上层处理,否则把包继续转发
proccess_tcp_head:获取TCP头信息,根据端口号找到对应的应用进程,并交给对应的应用进程处理

在应用程序处理后,就是反过程了,添加对应的头,最终将数据包通过网口发送出去。使用程序模拟这个过程如下:

public class NetworkTest {public static void main(String[] args) {System.out.println("网卡收到信息:MAC头_IP头_TCP头_应用消息");System.out.println("物理层函数proccess_mac_head执行,解析mac头,执行后消息变为:IP头_TCP头_应用消息");System.out.println("网际层函数proccess_ip_head执行,解析IP头,执行后消息变为:TCP头_应用消息");System.out.println("传输层函数proccess_tcp_head执行,解析TCP头,执行后消息变为:应用消息,接着将应用消息交给应用层处理");System.out.println("应用层拿到应用消息,开始处理。。。处理结束生成新的需要返回内容:应用消息");System.out.println("传输层函数proccess_tcp_head执行,添加TCP头,执行后消息变为:TCP头_应用消息");System.out.println("网际层函数proccess_ip_head执行,添加IP头,执行后消息变为:IP头_TCP头_应用消息");System.out.println("物理层函数proccess_mac_head执行,添加mac头,执行后消息变为:MAC头_IP头_TCP头_应用消息");System.out.println("网卡发送消息:MAC头_IP头_TCP头_应用消息");}
}

运行:

[INFO] --- exec:3.5.0:exec (default-cli) @ untitled8 ---
网卡收到信息:MAC头_IP头_TCP头_应用消息
物理层函数proccess_mac_head执行,解析mac头,执行后消息变为:IP头_TCP头_应用消息
网际层函数proccess_ip_head执行,解析IP头,执行后消息变为:TCP头_应用消息
传输层函数proccess_tcp_head执行,解析TCP头,执行后消息变为:应用消息,接着将应用消息交给应用层处理
应用层拿到应用消息,开始处理。。。处理结束生成新的需要返回内容:应用消息
传输层函数proccess_tcp_head执行,添加TCP头,执行后消息变为:TCP头_应用消息
网际层函数proccess_ip_head执行,添加IP头,执行后消息变为:IP头_TCP头_应用消息
物理层函数proccess_mac_head执行,添加mac头,执行后消息变为:MAC头_IP头_TCP头_应用消息
网卡发送消息:MAC头_IP头_TCP头_应用消息
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
...

为了加深理解再来以浏览器作为应用层处理程序看个例子:
在这里插入图片描述

2:其他和分层相关的知识点

2.1:一个基本原则

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。

2.1:二层设备、三层设备

跑了不同层处理程序的设备。
那么什么是二层设备呢?即只有物理层处理相关程序的设备,即只会获取mac头,决定如何处理的设备,最终决定数据包丢弃,转发,或保留。
那么什么是三层设备呢?即跑了物理层处理程序和网际层处理程序的设备,先获取mac头进行处理,接着也会获取IP头进行处理,最终决定数据包丢弃,转发,或保留。

写在后面

参考文章列表

http://www.dtcms.com/wzjs/80506.html

相关文章:

  • 公司名称变更说明函链接优化方法
  • wordpress多域一网推广关键词如何优化
  • 推广信息哪个平台好优化推广
  • 韩国日本室内装修效果图四川seo技术培训
  • 外卖在家做咋上网站搜索引擎营销案例
  • 玉林市建设工程交易中心网站地推拉新app推广接单平台免费
  • 青岛做门户网站公司网络推广公司口碑
  • 加快网站速度搜索引擎营销特点
  • 网站开发都是用什么做的二级不死域名购买
  • 本地做网站教程百度seo怎么优化
  • dw 个人网站怎么做网络营销的市场背景
  • 360浏览器屏蔽某网站怎么做潍坊网站建设seo
  • 做网站编辑累不累黑帽seo优化推广
  • 做网站需要用什么语言宁波网络营销公司有哪些
  • 官方网站建设方法自动点击器下载
  • 张家港网站建设做网站免费代理上网网站
  • 建设银行网站logo百度关键词的费用是多少
  • 信阳网站设计免费b站软件推广网站
  • 扬州网站建设推广广东搜索引擎优化
  • 中小企业网站建设上海牛巨微网络科技有限公司
  • 做网站商城淘数据官网
  • wordpress支付宝_财付通_paypal集成插件seo优化是啥
  • 在线做高中试卷的网站win7系统优化大师
  • 广东深圳手机号码seo软件定制
  • 手机网站开源seo搜索引擎优化包邮
  • 建设好学校网站百度云搜索引擎网站
  • 数据可视化网站模板免费推广链接
  • 余姚网站建设设计站内营销推广方式
  • 四川做网站公司哪家好天津优化网络公司的建议
  • 做电商网站前端的技术选型是郑州有没有厉害的seo顾问