网卡

唯一的标志 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地址

存在的问题:

  1. 网卡是数据链路层的需要通过mac地址通信
  2. DNS服务器不在我们的局域网内,要把这个发给网关路由器(有一个与ISP网络相连的外网IP地址89.32.288.156),由他转给DNS服务器的。
  3. 网关路由器的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)。

此时此网关的某个端口就是某块网卡专用了,此网卡的此端口就可以成为网卡与外界交流的专线。

局域网的路由器&网卡的更多相关文章

  1. 计算机网络四:网卡与MAC地址

    网卡与MAC地址 ㈠网卡 1.网卡定义 网卡是工作在OSI的数据链路层的网络组件,是局域网中连接计算机和传输介质(网线或WIFI信号)的接口,不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉 ...

  2. 实现upnp ssdp来查找局域网内的其他节点

    upnp协议常用于一些智能家居产品中,这些产品连上家里局域网后,用同样连入家中局域网的手机就能很快检测到此产品了.在区块链技术中,upnp也被应用于寻找同一局域网内的其他节点. 关于upnp的具体描述 ...

  3. VM虚拟机网卡LAN区段模拟内网使用教程

    目录   1. 测试环境   2. 设置LAN区段并测试    2.1. 添加LAN区段    2.2. 在虚拟机中设置静态IP地址    2.3. 测试同一LAN区段的主机是否可以联通    2.4 ...

  4. centos双网卡配置

    centos双网卡问题,一个网卡配置局域网,一个网卡配置公网,如果内网访问自动走eth1,如果外网访问自动走eth2. 需要配置路由吗? 1. 首先查看机器是否是双网卡,命令如下: lspci | g ...

  5. openwrt 单网卡路由模拟实现

    关键字 vlan openwrt 单臂路由 一直以来都认为路由器要至少要求是双网卡,因为至少要有lan/wan.最近看了单臂路由的介绍,自己在虚拟机测试了一把,发现单网口做路由器确实可行! 测试环境 ...

  6. libvirt 网络手册(二):桥接网络

    原文:Bridged Network 在一个桥接网络里面,宿主机和虚拟机共享物理网卡.每一个虚拟机可以直接绑定任意可用的IPV4或IPV6局域网地址,就像一个物理机一样.桥接给libvirt网络提供最 ...

  7. ARP防火墙绑定网关MAC地址预防ARP攻击和P2P终结者

    [故障原理]  要了解故障原理,我们先来了解一下ARP协议.  在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和M ...

  8. 在家用机上搭建 Git https 服务器

    今天主要叙述在家里台式机的虚拟机上搭建支持 https 的 ubuntu git 服务器. 实际上,从一个用户请求家里 git 服务器代码,最终完成代码的传输,主要是通过以下的过程: 首先,从外界寻找 ...

  9. DHCP配置部分

    1.DHCP工作过程 dhcp discover \\客户端请求服务器器提供地址 dhcp offer \\服务器提供ip地址 dhcp request \\客户端租用ip地址 dhcp ack \\ ...

随机推荐

  1. (贪心)School Marks -- codefor -- 540B

    http://codeforces.com/problemset/problem/540/B School Marks Little Vova studies programming in an el ...

  2. JSP动作元素<jsp:include>和<jsp:param>的搭配使用

    最近开发项目中广告头的优化:引入了<jsp:include page="XX.jsp"></jsp:include> 当<jsp:include> ...

  3. IntelliJ IDEA配置Tomcat(完整版教程)

    查找该问题的童鞋我相信IntelliJ IDEA,Tomcat的下载,JDK等其他的配置都应该完成了,那我直接进入正题了. 1.新建一个项目 2.由于这里我们仅仅为了展示如何成功部署Tomcat,以及 ...

  4. Eclipse新建工作空间,复制原有的配置

    步骤一: File->Switch workspace->Other...,按下图选择 只复制简单的配置,如cvs之类的信息是不会复制的.     步骤二: 在方法一的基础上做如下操作  ...

  5. 走上模拟道路 HDU4891

    http://vjudge.net/contest/view.action?cid=51327#problem/D Description Yoda: May the Force be with yo ...

  6. 在我朝如何为Brackets安装扩展?

    Brackets是Adobe发起的一个开源的HTML编辑器,界面优美简洁.扩展丰富.支持基于Chrome浏览器的实时预览,非常适合对于Web的开发和学习. 但是Brackets的安装包下载和扩展下载, ...

  7. html5 Ajax 访问.net WebApi获取视频流

    http://localhost//api/Test/GetVideo?filename=/GoodVideo/e36a144b-52cd-4174-93d2-cfc41aea6c1d.mp4 是AP ...

  8. 解决网页出现 net::ERR_ABORTED 404 (Not Found)问题

    1.在web.config配置文件中添加woff字体的MIME类型 在Web.config中的system.webServer节点添加 <staticContent> <remove ...

  9. [leetcode.com]算法题目 - Restore IP Addresses

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  10. Windows下安装配置爬虫工具Scrapy及爬虫环境

    爬虫工具Scrapy在Mac和Linux环境下都相对好装,但是在Windows上总会碰到各种莫名其妙的问题.本文记录下Scrapy在Window上的安装过程. 本文是基于Python2.7及Windo ...