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

网站域名空间怎么买雅虎搜索引擎中文版

网站域名空间怎么买,雅虎搜索引擎中文版,变更网站备案信息,wordpress百度统计代码复杂的程序都要分层,这是程序设计的要求。比如,复杂的电商还会分数据库层、缓存层、Compose 层、Controller 层和接入层,每一层专注做本层的事情。 当一个网络包从一个网口经过的时候,你看到了,首先先看看要不要请进来…

复杂的程序都要分层,这是程序设计的要求。比如,复杂的电商还会分数据库层、缓存层、Compose 层、Controller 层和接入层,每一层专注做本层的事情。

当一个网络包从一个网口经过的时候,你看到了,首先先看看要不要请进来,处理一把。有的网口配置了混杂模式,凡是经过的,全部拿进来。

拿进来以后,就要交给一段程序来处理。于是,你调用 process_layer2(buffer)。当然,这是一个假的函数。但是你明白其中的意思,知道肯定是有这么个函数的。那这个函数是干什么的呢?从 Buffer 中,摘掉二层的头,看一看,应该根据头里面的内容做什么操作。

假设你发现这个包的 MAC 地址和你的相符,那说明就是发给你的,于是需要调用 process_layer3(buffer)。这个时候,Buffer 里面往往就没有二层的头了,因为已经在上一个函数的处理过程中拿掉了,或者将开始的偏移量移动了一下。在这个函数里面,摘掉三层的头,看看到底是发送给自己的,还是希望自己转发出去的。

如何判断呢?如果 IP 地址不是自己的,那就应该转发出去;如果 IP 地址是自己的,那就是发给自己的。根据 IP 头里面的标示,拿掉三层的头,进行下一层的处理,到底是调用 process_tcp(buffer) 呢,还是调用 process_udp(buffer) 呢?

假设这个地址是 TCP 的,则会调用 process_tcp(buffer)。这时候,Buffer 里面没有三层的头,就需要查看四层的头,看这是一个发起,还是一个应答,又或者是一个正常的数据包,然后分别由不同的逻辑进行处理。如果是发起或者应答,接下来可能要发送一个回复包;如果是一个正常的数据包,就需要交给上层了。交给谁呢?是不是有 process_http(buffer) 函数呢?

没有的,如果你是一个网络包处理程序,你不需要有 process_http(buffer),而是应该交给应用去处理。交给哪个应用呢?在四层的头里面有端口号,不同的应用监听不同的端口号。如果发现浏览器应用在监听这个端口,那你发给浏览器就行了。至于浏览器怎么处理,和你没有关系。

浏览器自然是解析 HTML,显示出页面来。电脑的主人看到页面很开心,就点了鼠标。点击鼠标的动作被浏览器捕获。浏览器知道,又要发起另一个 HTTP 请求了,于是使用端口号,将请求发给了你。

你应该调用 send_tcp(buffer)。不用说,Buffer 里面就是 HTTP 请求的内容。这个函数里面加一个 TCP 的头,记录下源端口号。浏览器会给你目的端口号,一般为 80 端口。

然后调用 send_layer3(buffer)。Buffer 里面已经有了 HTTP 的头和内容,以及 TCP 的头。在这个函数里面加一个 IP 的头,记录下源 IP 的地址和目标 IP 的地址。

然后调用 send_layer2(buffer)。Buffer 里面已经有了 HTTP 的头和内容、TCP 的头,以及 IP 的头。这个函数里面要加一下 MAC 的头,记录下源 MAC 地址,得到的就是本机器的 MAC 地址和目标的 MAC 地址。不过,这个还要看当前知道不知道,知道就直接加上;不知道的话,就要通过一定的协议处理过程,找到 MAC 地址。反正要填一个,不能空着。

万事俱备,只要 Buffer 里面的内容完整,就可以从网口发出去了,你作为一个程序的任务就算告一段落了。

只要是在网络上跑的包,都是完整的。可以有下层没上层,绝对不可能有上层没下层。所以,对 TCP 协议来说,三次握手也好,重试也好,只要想发出去包,就要有 IP 层和 MAC 层,不然是发不出去的

什么叫二层设备呀,就是只把 MAC 头摘下来,看看到底是丢弃、转发,还是自己留着。那什么叫三层设备呢?就是把 MAC 头摘下来之后,再把 IP 头摘下来,看看到底是丢弃、转发,还是自己留着。

此文章为9月Day2学习笔记,内容来源于极客时间《趣谈网络协议》,推荐该课程。

http://www.shuangfujiaoyu.com/news/45547.html

相关文章:

  • 沈阳网站建设-中国互联宁波营销型网站建设优化建站
  • 网站建设设计风格如何与色彩搭配网络公司是做什么的
  • 网站源码带采集什么网站都能打开的浏览器
  • 难道做网站的工资都不高吗济南做seo排名
  • 关于建筑设计的网站百度如何收录网站
  • wordpress sakura营销推广seo
  • 文明网站建设情况报告磁力宅在线搜种子
  • b2c网站开发公司绍兴seo推广
  • 网站注册免费qq分销平台
  • 如何新建自己的网站怎么做一个属于自己的网站
  • 网站优化建设山东广告软文范例
  • 广告设计图案关键词优化多少钱
  • 网站建设 html百度公司推广电话
  • 苏州市网站建设seo范畴
  • 河北邯郸做wap网站百度网盘网址是多少
  • 网站免费做招生宣传百度官方客服平台
  • 做垃圾网站赚钱石家庄seo
  • 政府网站模板贴吧做百度推广
  • 宁波做网站优化价格seo外包服务项目
  • thinkphp大型网站开发天津百度关键词seo
  • 网站建设驻地开发合同爱上链外链购买交易
  • 1000个免费货源网站入口网站seo推广哪家值得信赖
  • 自己做的网页加在网站文章上为什么打不开站长工具 seo查询
  • 成都建设二维码网站每日新闻简报
  • 建设网站的模板下载企业新网站seo推广
  • 链家准备做贝壳网站成都网站推广公司
  • 做别墅花园绿化的网站搜索引擎优化的方式
  • 现在什么网站做推广比较好百度官网首页登录
  • 自己做网站下载怎么珠海做网站的公司
  • 工业园企业建设网站公司百度搜索引擎优化详解