局域网的路由器&网卡
网卡
唯一的标志 MAC地址:14:21:S8:8B:44:89 昵称:TP-Link-4489
如何获取局域网IP?
DHCP(动态主机配置协议)
DHCP 服务器可以动态的分配地址。
1)网卡(TP-Link-4489)向局域网发送一个报文以获取自己在局域网中的IP地址。
网卡工作在数据链路层, 必须得知道对方的MAC地址才能发信,如果不知道就对外广播, 那就是所有局域网内的电脑都会收到。
报文包括:
应用层的DHCP发现报文, 然后被一个UDP的报文封装,然后再被一个IP的数据报封装,然后再被以太网数据链路层的数据报封装。

通过网线发给了交换机。 交换机看到FF:FF:FF:FF:FF:FF, 立刻转发给了所有连到交换机的设备。
2)局域网里可能有多台DHCP服务器,每台服务器都会跟进MAC和端口进行回复,里面包含了分配给你的IP地址和DHCP服务器地址。
3)需要网卡(TP-Link-4489)选择一个DHCP服务器地址并进行回复确认分配的IP。
4)DHCP会返回一个确认消息,包括网关路由器的地址 , DNS服务器的地址,当然还有IP地址。
最终,网卡(TP-Link-4489)得到了:自己在局域网中的IP : 192.168.1.2,网关路由器:192.168.1.1,DNS服务器:202.152.219.74
如何访问外网?
最直接获取域名IP地址的方式:
发件人: 192.168.1.2 (网卡(TP-Link-4489))
收件人: 202.152.219.74 (DNS服务器)
内容: 给我www.baidu.com的IP地址
存在的问题:
- 网卡是数据链路层的需要通过mac地址通信
- DNS服务器不在我们的局域网内,要把这个发给网关路由器(有一个与ISP网络相连的外网IP地址89.32.288.156),由他转给DNS服务器的。
- 网关路由器的MAC地址是什么呢?
ARP(地址解析协议)
通过广播查询一个IP地址对应的MAC地址。
收件人: FF:FF:FF:FF:FF:FF (同一子网内的所有电脑)
发件人: 14:21:S8: 8B:44:89 (网卡(TP-Link-4489))
内容:网关路由器(192.168.1.1), 给我你的MAC地址!
通过返回信息获取网关路由器的mac地址(28:91:S8:3A:44:55)并进行保存。
NAT(网络地址转换)
发给网关路由器查询域名对应的IP:
发件人: 14:21:S8: 8B:44:89 (网卡(TP-Link-4489))
收件人: 28:91:S8:3A:44:55 (网关路由器)
内容: DNS服务器(202.152.219.74) 给我www.baidu.com的IP地址

把数据链路层的封装去掉, 发现IP数据包中的目标地址是 202.152.219.74, 网关就知道这是要向外网发出请求了。
于是把IP数据包中的源地址192.168.1.2 替换成网关的外网地址 89.32.288.156。
创建一个新的端口号1029, 把TCP数据包中的源端口也替换掉, 数据包就变成了这个样子:

把源地址和源端口都替换了, 其实就是让外部的网络认为这是网关路由器发出的, 而局域网内的网卡对外是不可见的。
这就是网络地址转换,网关路由器需要保存一份NAT转换表,譬如LAN端192.168.1.2:1028-->202.152.219.74:1029
当回复到达路由器时去掉数据链路层的封装,发现TCP和IP数据报中包含这样的信息:目的地IP : 202.152.219.74 , 端口 1029 ,根据NAT转换表,把数据报中的IP地址和端口号改了发回给网卡(TP-Link-4489)。
UPnP

网卡主动要求网关路由器建立一个NAT映射 (192.168.1.2 : 4096) <-> (61.52.247.112: 3001)。
此时此网关的某个端口就是某块网卡专用了,此网卡的此端口就可以成为网卡与外界交流的专线。
局域网的路由器&网卡的更多相关文章
- 计算机网络四:网卡与MAC地址
网卡与MAC地址 ㈠网卡 1.网卡定义 网卡是工作在OSI的数据链路层的网络组件,是局域网中连接计算机和传输介质(网线或WIFI信号)的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉 ...
- 实现upnp ssdp来查找局域网内的其他节点
upnp协议常用于一些智能家居产品中,这些产品连上家里局域网后,用同样连入家中局域网的手机就能很快检测到此产品了.在区块链技术中,upnp也被应用于寻找同一局域网内的其他节点. 关于upnp的具体描述 ...
- VM虚拟机网卡LAN区段模拟内网使用教程
目录 1. 测试环境 2. 设置LAN区段并测试 2.1. 添加LAN区段 2.2. 在虚拟机中设置静态IP地址 2.3. 测试同一LAN区段的主机是否可以联通 2.4 ...
- centos双网卡配置
centos双网卡问题,一个网卡配置局域网,一个网卡配置公网,如果内网访问自动走eth1,如果外网访问自动走eth2. 需要配置路由吗? 1. 首先查看机器是否是双网卡,命令如下: lspci | g ...
- openwrt 单网卡路由模拟实现
关键字 vlan openwrt 单臂路由 一直以来都认为路由器要至少要求是双网卡,因为至少要有lan/wan.最近看了单臂路由的介绍,自己在虚拟机测试了一把,发现单网口做路由器确实可行! 测试环境 ...
- libvirt 网络手册(二):桥接网络
原文:Bridged Network 在一个桥接网络里面,宿主机和虚拟机共享物理网卡.每一个虚拟机可以直接绑定任意可用的IPV4或IPV6局域网地址,就像一个物理机一样.桥接给libvirt网络提供最 ...
- ARP防火墙绑定网关MAC地址预防ARP攻击和P2P终结者
[故障原理] 要了解故障原理,我们先来了解一下ARP协议. 在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和M ...
- 在家用机上搭建 Git https 服务器
今天主要叙述在家里台式机的虚拟机上搭建支持 https 的 ubuntu git 服务器. 实际上,从一个用户请求家里 git 服务器代码,最终完成代码的传输,主要是通过以下的过程: 首先,从外界寻找 ...
- DHCP配置部分
1.DHCP工作过程 dhcp discover \\客户端请求服务器器提供地址 dhcp offer \\服务器提供ip地址 dhcp request \\客户端租用ip地址 dhcp ack \\ ...
随机推荐
- Java关联关系、依赖关系
关联关系 概念:对象和对象之间的连接 定义:A类关联B类,指的是B类对象作为A类的属性存在,称为“has”关联关系 生命周期:如果A类关联B类,那么创建A类的对象时实例化B类的对象,直到A类对象被销毁 ...
- 《SQL必知必会》笔记
SQL必知必会(第4版) 作者:[美]Ben Forta 本书介绍了sql在不同数据库工具(Oracle.SQLite.SQL server.MySQL.MariaDB.PostgreSQL...)是 ...
- bzoj 2440 完全平方数 【莫比乌斯函数】
题目 题意:第Ki 个不是完全平方数的正整数倍的数. 对于一个数t,t以内的数里的非完全平方数倍数的个数:num=1的倍数的数量−一个质数平方数(9,25,49...)的倍数的数量+两个质数的积平方数 ...
- codeforces982A
题意 给你个排列 10001 满足下列条件输出yes 否则输出no 1.不能有两个1相连 2.当点排列不能再加入1 全0判断一下 开头判断一下 结尾判断一下 #include <iost ...
- hdu 5071 vector操作恶心模拟
http://acm.hdu.edu.cn/showproblem.php?pid=5071 对于每一个窗口,有两个属性:优先级+说过的单词数,支持8个操作:新建窗口,关闭窗口并输出信息,聊天(置顶窗 ...
- 区间DP石子合并问题 & 四边形不等式优化
入门区间DP,第一个问题就是线性的规模小的石子合并问题 dp数组的含义是第i堆到第j堆进行合并的最优值 就是说dp[i][j]可以由dp[i][k]和dp[k+1][j]转移过来 状态转移方程 dp[ ...
- nodejs 负载均衡
教程:http://taobaofed.org/blog/2015/11/03/nodejs-cluster/ 纠正:net.createServerHandle(); 记录:http://www.j ...
- UT源码105032014098
(2)NextDate函数问题 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 NextDate函数包含三个变量month.day和year,函数的输出为输入日期后一天的日期. ...
- unigui web app之title buttons
unigui web app之title buttons title buttons:窗体标题按钮 通过 窗体标题按钮,可以方便地导航,比如返回主页. 处理窗体标题按钮的点击事件: procedure ...
- unigui session超时时间设置
unigui session超时时间设置 默认的SESSION超时时间是10分钟. 网络 SOCKET 程序,像 数据库,中间件,UNIGUI等...为了防止过多的僵死连接卡死服务端,服务端都会主动踢 ...