网卡上网涉及到的基本协议和流程
1.实验环境
PC---------网线----互联网
实验过程:拔掉网卡网线,重启PC电脑,然后抓包分析.
2.基本流程
2.1 总体报文描述
A.PC首先申请本地IP地址,使用DHCP报文得到本地地址;
当PC获取到DHCP本地地址后,会在局域网触发三个arp请求IP地址冲突检测,如果IP地址有冲突(局域网被人手动设置了IP地址),则给DHCP服务器发送dhcp deline拒绝。然后重新发起DHCP流程。
B.在申请本地地址过程中,pc也获取到了DNS服务器地址;
C.网页输入www.baidu.com,触发PC发送DNS解析流程得到百度域名真是IP地址:
C.1 在发送DNS请求时,由于DNS地址非本地网络,需要PC本地查询路由表,查到下一跳地 址,在使用下一跳地址查ARP表获取下一跳MAC地址,但此时ARP表是查不到的。所以触发了 ARP学习.
D.到此,PC上网的环境都已具备.
2.2 DHCP
PC启动后,插上网线.
PC触发DHCP(以IPV4为例)报文,
PC----discover报文-->dhcp服务端
<----offer报文------
-----request报文---->
<----ack报文-------
2.2.1 discover报文
2.2.2 offer报文
2.2.3 request报文
2.2.4 ack报文
总结:
多个DHCP-server存在的情况下,dhcp收到广播报文,如何确定是发给自己的:
一般情况下部署1个DHCP-server就够了....如果有多个DHCP服务器,每个DHCP在回应的报文offer中会携带可选项server的本机地址。client在request中也携带dhcp server地址.
多个dhcp-client情况下,client如何区分报文是自己的:
报文中的事务ID,client收到和本身的事务ID不匹配的,则丢弃。
client一般都使用自己收到的第一个offer。假如2个client的事务ID真的相同,A收到第一个offer,触发了request给服务端。此时B也收到同样的offer,同样触发了request。服务端也是处理第一个收到的request,第二个request会回应一个NAK报文,收到NAK报文的client重新发起dhcp discover.
2.3 ARP报文
2.4 DNS报文
2.5 IP流
下面就是上网的IP流了.
2.6 IPV6过程(待补充)
网卡上网涉及到的基本协议和流程相关推荐
- virtio网络Data Plane卸载原理 —— vhost协议协商流程
文章目录 基本原理 网卡初始化 网卡使能 数据结构 VhostUserMsg NetVhostUserState vhost_dev vhost_net 协商流程 初始化流程 chardev netd ...
- 树莓派搭载EC200U 4G模块(USB网卡上网和PPP拨号上网)
文章目录 一.EC200U模块4G模块介绍 二.USB转串口驱动设置 (1)打开树莓派的串口 (2)lsusb是否有EC200U模块 (3)添加 VID 和 PID 信息 三.USB网卡驱动上网 四. ...
- 挂载 4G 网卡上网
路由板为 MT7620A 4G 模块为 QUECTEL EC20 OpenWrt 源码版本为 Chaos Calmer 1505 目前已测试可以上网的网络为: 移动 3G/4G 联通 4G ...
- Ubuntu双网卡上网问题
在搭建openstack时遇到了双网卡上网的问题:内网之间可以相互ping通,但ping不通外网.对于笔记本来说可以上网 环境: 内网:10.0.0.0/24 网关:10.0.0.1 外网:20 ...
- 网卡内卸载VMware Bridge Protocol协议报错:0x8007007E
未能卸载VMware Bridge Protocol功能.错误是 0x8007007E 解决方法 VMware Workstation 安装/卸载时卡在"正在卸载网络驱动程序(Virtual ...
- ubuntu18.04安装 usb无限网卡上网
ubuntu18.04安装 usb无限网卡上网 总结,千万不要在未联网的情况下安装ubuntu,否则会给你带来无尽灾难 下面我介绍一下我在未联网情况下安装Ubuntu后遇到的灾难: 1.ubuntu我 ...
- HTTP协议处理流程
这篇文章来自HTTP协议 处理流程 我们平时在浏览网页的时候都是使用浏览器,输入你要的网址后回车,就会显示出我们所想要的内容,看似这个简单的用户操作行为的背后,Web的工作原理是怎样的呢?到底隐藏了些 ...
- 标定协议之CCP协议实现流程介绍
之前两篇文章对CCP标定协议作了初步的介绍,大家也应该有了一定的了解,本文将对CCP标定协议的实现进行介绍,让大家能够进一步理解CCP标定协议.目前CCP协议最新版本是V2.1,在Vector的官网上 ...
- 授权使用服务器协议,RADIUS服务器使用RADIUS协议完成对用户主机的认证、授权和计费时,RADIUS协议工作流程如下:(a)用户 - 赏学吧...
RADIUS服务器使用RADIUS协议完成对用户主机的认证.授权和计费时,RADIUS协议工作流程如下: (a)用户使用ADSL拨号上网: (b)BRAS从用户处获取用户名和口令,将其与用户其他信息( ...
最新文章
- 超全!CS 顶会历届最佳论文大列表,机器学习、深度学习一应俱全!
- shell实例第3讲:获取随机8位数字
- win10安装pip
- 如何自定义IHttpHandler
- Eclipse设置Courier New字体
- 加载resnet18的代码
- chattr和lsattr的基本用法
- ARM SMMU的原理与IOMMU
- 123f是什么c语言,123RF博客
- 红米note2能刷机没显示无服务器,红米Note2刷机失败怎么办
- 基于STM32的简易交通灯设计
- 少男杀手dodolook签约酷6网原创红人阵营
- python-scikit-learn基础
- Python编程:从入门到实践(课后习题:第6章 字典)
- android蓝牙配对 自动联接,如何实现android蓝牙开发 自动配对连接,并不弹出提示框...
- Windows程式开发设计指南(十五)与装置无关的点阵图
- eclipse的安装与下载
- 与已安装应用签名不同
- [华为机试真题]69.姓名的夫妻相
- 芯片验证学perl还是python_科学网—用python或perl语言简单验证RSA算法 - 康建的博文...
热门文章
- 安装和第一次使用Android Studio中的问题以及解决
- 列车matlab模型,【国家级精品课程】-中南大学-数学建模-lingo-matlab-优化建模-数模培训-全国赛论文-京沪线列车调度模型(B题)...
- oracle数据库实战教程 李兴华ORACLE入门到精通教程
- Etcd源码分析-存储3
- 5800xm上能用的QREADER看书工具
- 华为、小米频繁发布新机,消费者为何不买账?
- moment 取年月日_moment.js获取本周本月本年的开始日期和结束日期
- php初学者入门视频教程下载_第101讲到112讲_张恩民老师
- 收集最新jquery特效与psd常用素材资源
- 后疫情时期,老年消费创新的机会与挑战应对