首页 > 其他分享 >baidu的域名解析流程

baidu的域名解析流程

时间:2023-11-22 16:56:12浏览次数:33  
标签:baidu IP 流程 域名解析 MAC DNS 114.114 路由器

因为 baidu.com 是一个域名,所以要完成域名解析,即将百度的域名翻译成IP地址。这是由Windows上的DNS客户端访问DNS服务器实现的。

1,DNS服务器的设置在Windows的网络设置里配置, Linux下 /etc/resolv. conf。DNS服务器IP地址配置成 114.114.114.114;
2,客户端就要发送一个应用层数据报文:“ baidu.com 的IP地址是多少?”
3,到了传输层,传输层加上TCP的头20个字节,有两个关键的元素就是源端口(系统随机分配,假设为7777)和目的端口(53);
4,到了网络层,网络层加上IP头20字节,有两个关键的元素, 叫做源IP(192.168.2.101)和目的IP(114.114.114.114);
5,操作系统会看到源IP和目的IP不在一个网段内,这时候数据报文就要给默认网关,默认网关就是路由器的LAN口IP地址(192.168.2.1)
6,接下来数据到网络接口层,我们把网络接口层分为两层来看,就是数据链路层和物理层。现在先看数据链路层。数据链路层要加上帧头:
帧头里面有两个元素叫做源MAC地址和目的MAC地址(网关的MAC地址):
7,不知道路由器的MAC地址是多少? PC会发一个ARP的广播报文,“192.168.2.1, 你的MAC地址是多少?”
8, 这时候局域网内所有主机都会收到该报文,然后只有192.168.2.1 的主机会回复说,“XXX,我的MAC地址是 XX:YY:ZZ:MM:NN:00”
9,接下来用源MAC和目的MAC封装数据报文,通过物理层网卡以广播的形式发送出去;
10,局域网内所有的机器都会收到这个报文,他们会检查目的MAC地址是不是我自己,如果不是就丢掉;否则就继续解析;
11,这时候路由器LAN口收到数据包,发现是给自己的,就往上层网络层传输;
12,网络层收到数据包后,检查源IP和目的IP, 会私有IP转成公网IP, 把源端口也给改掉;并记录相应的修改记录到NAT表中;
13,这时候从WAN口中发出去的数据报文都是公网IP了,经过Internet上的路由器路由转发到达 114.114.114.114主机:
14, 114.114.114.114.114.114DNS服务器主机查询自己的数据库,获取 baidu.com baidu.com的IP是xx.
15,到传输层,将源端口和目的端口互换,到网络层将源IP和目的IP互换;再经过Internet上的路由器路由转发到家里的路由器WAN口上;
16,路由器查询NAT表,将公网IP和目的端口修改为记录里的私有IP和端口
17,路由器在LAN口上将数据报文广播发送出去:
18,PC查询MAC地址是自己,然后就剥去数据链路层的帧头,然后给网络层;
19,网络层查看IP地址,如果是自己的就剥去IP头传给传输层;
20,传输层解析出端口,再给DNS客户端,这时候DNS客户端就能够知道 baidu.com 的IP是xx.yy.zz.mm;

标签:baidu,IP,流程,域名解析,MAC,DNS,114.114,路由器
From: https://www.cnblogs.com/linxixixi/p/17849728.html

相关文章

  • MySQL变量,流程控制与游标
    变量,流程控制与游标1.变量在MySql数据库的存储过程和函数中,可以使用变量来存储查询或计算中间结果数据,和输出最终的结果数据。在MySql数据库中,变量分为系统变量以及用户自定义变量。1.1系统变量1.1.1系统变量分类变量由系统定义,不是用户定义,属于"服务器"层面。启动......
  • 【产品安全平台】上海道宁与Cybellum将整个产品安全工作流程整合到一个专用平台中,保持
     Cybellum将整个产品安全工作流程整合到一个专用平台中使设备制造商能够保持他们构建的互联产品的网络安全和网络合规性  产品安全性对每个人来说都不一样每个行业的系统、工作流程和法规都存在根本差异因此,Cybellum量身定制了Cybellum的平台和技术以......
  • 瀑布开发流程与敏捷开发流程,devops概念的理解
    瀑布开发流程与敏捷开发流程,devops概念的理解瀑布开发流程与敏捷开发流程是两种常见的软件开发方法。它们在项目管理和团队协作方面有着不同的特点。瀑布开发流程瀑布模型是一种经典的线性软件开发过程,按照以下步骤进行:需求分析:收集用户需求,明确系统功能和性能要求,并编写需求......
  • CreatePartition API执行流程_milvus源码解析(2)
    CreatePartitionAPI执行流程源码解析milvus版本:v2.3.2syncNewCreatedPartitionStep_milvus源码解析整体架构:CreatePartition的数据流向:1.客户端sdk发出CreatePartitionAPI请求。frompymilvusimport(connections,Collection,Partition,)print("star......
  • FinClip解决繁琐的第三方微信授权登录流程
    用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。微信的授权登录在日常应用中应用的非常广泛,越来越多的平台支持用户使用微信进行授权第三方登录.使用微信授权登录有哪些优势/好处;用户量足够大,基本所有用户都会有微信,登录......
  • 原生开发与Hybrid App的流程对比与原理解析
    狭义的Hybrid:也是现在大家普遍认知的,Hybrid就是一种给WebView增加一些js通信可以调用原生API的方式。广义Hybrid:前端的开发思路与客户端原生的开发思路相结合。通过原生的配合,把原本jsor前端开发做不到的事情做到了,用原生的方式增强了原本的前端技术能力。WebVie......
  • BX1E OP30皮带更换标准流程
    1拆下座板,底部用10mm内六角固定,拆下上方固定螺丝和垫片。 2拆下4颗螺丝,把上盖和轴承取出,如果很紧,敲一下上盖。    3拆除4颗固定螺丝,将整个机构取出 4背面的黑色POM仅靠两个定位销固定,翘下 5拆下固定环,松开5个固定螺丝,取下铝板和轴承注意:轴承下方还有个黑色......
  • 界面控件DevExpress WPF流程图组件,完美复制Visio UI!(一)
    DevExpressWPFDiagram(流程图)控件帮助用户完美复制MicrosoftVisioUI,并将信息丰富且组织良好的图表、流程图和组织图轻松合并到您的下一个WPF项目中。P.S:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着......
  • (私人lora数据准备)MJ数据转lora训练的处理流程
    1.【删除乱码并打标签】删前缀(用户名),删后缀(乱码),加统一标签,并打开excel微调。(输入项为1.单个文件夹地址2.需要文件夹内加上的标签名)*注意:此时若要加多个标签,请用英文逗号“,”隔开。 importosimportopenpyxlimportreUNWANTED_UNITS=["undefined","皮皮","zly324"]......
  • CreatePartition API执行流程_milvus源码解析
    CreatePartitionAPI执行流程源码解析milvus版本:v2.3.2整体架构:CreatePartition的数据流向:1.客户端sdk发出CreatePartitionAPI请求。frompymilvusimport(connections,Collection,Partition,)print("startconnectingtoMilvus")connections.connec......