当应用程序用T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息)

客户端如何找到目标服务

在客户端发起请求的时候,我们会在数据链路层去组装目标机器的MAC地址,目标机器的mac地址怎么得到呢? 这里就涉及到一个ARP协议,这个协议简单来说就是已知目标机器的ip,需要获得目标机器的mac地址。(发送一个广播消息,这个ip是谁的,请来认领。认领ip的机器会发送一个mac地址的响应)

有了这个目标 MAC 地址,数据包在链路上广播,MAC 的网卡才能发现,这个包是给它的。MAC 的网卡把包收进来,然后打开 IP 包,发现 IP 地址也是自己的,再打开 TCP 包,发现端口是自己,也就是80端口,而这个时候这台机器上有一个nginx是监听80端口。

于是将请求提交给nginx,nginx 返回一个网页。然后将网页需要发回请求的机器。然后层层封装,最后到 MAC 层。因为来的时候有源MAC 地址,返回的时候,源 MAC 就变成了目标 MAC,再返给请求的机器。

为了避免每次都用 ARP 请求,机器本地也会进行 ARP 缓存。当然机器会不断地上线下线,IP 也可能会变,所以 ARP 的 MAC 地址缓存过一段时间就会过期。

请求发起过程,在tcp/ip四层网络模型中所做的事情相关推荐

  1. OSI七层网络模型与TCP/IP四层网络模型

    2.1 OSI网络分层参考模型 网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的 ...

  2. OSI七层网络模型与TCP/IP四层网络模型的关系

    一.OSI网络分层参考模型 网络协议设计者不应当设计一个单一.巨大的协议来为所有形式的通信规定完整的细节,而应把通信问题划分成多个小问题,然后为每一个小问题设计一个单独的协议.这样做使得每个协议的设计 ...

  3. TCP/IP四层网络模型

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 TCP/IP网络模型分为四层,从上到下分别为应用层.传输层.网络层.数据链路层 提示:以下是本篇文章正文内容,下面案例可供参考 ...

  4. 6.OSI七层网络模型与TCP/IP四层网络模型

    下图是TCP/IP与OSI参考模型的对应关系: 为了标识通信实体中进行通信的进程,TCP/IP协议提出了协议端口(protocol Port)的概念.端口是一种抽象的网络结构(包括一些数据结构和I/O ...

  5. TCP/IP 四层网络模型

    TCP/IP指的是因特网整个TCP/IP协议簇,从协议分层模型方面来讲,TCP/IP由4个层次组成:网络接口层.网络层.传输层和应用层. 各层具体工作如下: 网络接口层:定义了主机间网络连通的协议,具 ...

  6. OSI七层网络模型和TCP/IP四层网络模型的异同

    什么是OSI? OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出的概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框 ...

  7. OSI七层网络模型与TCP/IP四层模型介绍

    1.OSI七层网络模型介绍 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了 ...

  8. TCP/IP四层模型重点协议解析

    文章目录 应用层 DNS协议 NAT NAPT 传输层协议 TCP UDP UDP协议段格式 UDP特点 基于UDP的应用层协议 ※ 经典面试题 网络层协议 IP协议 数据链路层协议 以太网 以太网帧 ...

  9. 详解OSI七层网络模型 TCP/IP四层模型

    @TOC这里对OSI七层网络模型和TCP/IP四层模型及其下的各层和TCP协议的设计核心做出总结供大家参考,如有错误欢迎指出讨论! OSI七层网络模型 & TCP/IP四层模型 OSI七层模型 ...

最新文章

  1. 请求体的方式传参_Angularjs中$http以post请求通过消息体传递参数的实现方法
  2. 【Sql server: T-Sql 技术内幕 系列】之索引篇
  3. 三层聚合实验的注意事项
  4. hashmap移除元素_Java HashMap 如何正确遍历并删除元素的方法小结
  5. Solr6.1 smartCN配置
  6. Java TCP协议传输
  7. 声明对象 和对象等于null的区别
  8. Java cms 孔浩老师 完整视频加源码 共131集 百度网盘永久链接 无需密码解压
  9. 争对让望对思野葛对山栀注解_《笠翁对韵》四 支(4)
  10. 压力表校验及压力变送器标定实验
  11. 织梦php调用模型,织梦dede新建模型中自定义联动类别调用
  12. OC作业- 图书馆管理系统
  13. 今有雉兔同笼c语言编程,Openjudge-计算概论(A)-鸡兔同笼
  14. AutoJs+mitmproxy App爬虫
  15. oracle 字段别名
  16. 时下流行的css3页面纵向滑动效果
  17. 【转载】人工智能发展简史
  18. ArcMap地理配准
  19. 7-20 表达式转换(中缀转后缀)
  20. 【技术】python 爬虫一招解决SSl 报错SSLError

热门文章

  1. [译]Vulkan教程(32)生成mipmap
  2. 《高性能MySQL(第3版)》摘要——索引篇
  3. 一维小波变换的C++实现
  4. ios整理(一)控件
  5. 面试时经常问到的系统应用优化问题总结
  6. Coreseek-带中文分词的Sphinx
  7. How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem
  8. ic designer
  9. 建议CSDN增加谈恋爱专区
  10. 大话设计模式—代理模式