精华内容
下载资源
问答
  • TCP拦截和网络地址转换 本书将讨论与访问表相关的技术,而非访问表本身。这些技术提供了控制网络中数据流 量的附加功能。这些功能特性会使读者能够加强进出网络报文的附加功能。通过智能地对数 据本身进行操作,...
  • 10 系 64位 WINDOWS 网络地址转换工具。 软件分为服务器程序(这里简称为服务端)和客户端程序(这里简称为终端)。 功能: 网络加速,公网流量转发,IP地址转换。 运行原理: 需要1公网主机运行服务端,终端运行...
  • 1350多个精品易语言模块提供下载介绍 1亦思验证码识别1.5免费版.ec 24位转单色位图模块.ec 32张发牌.ec 3D引擎支持库-eOgre.ec 69msn.ec ACCESS 到高级表格.ec Access操作.ec Access数据库压缩修复新建.ec ACCSEE...
  • 由于使用usb连接安卓设备存在很问题,像usb松动导致的adb断开等问题,非常浪费时间,为了解决此类问题,把adb的连接模式从usb转换成TCPIP模式,通过无线WIFI连接adb,设置如下: 1,确保电脑和Android设备连接在同...

    由于使用usb连接安卓设备存在很多问题,像usb松动导致的adb断开等问题,非常浪费时间,为了解决此类问题,把adb的连接模式从usb转换成TCPIP模式,通过无线WIFI连接adb,设置如下:

    1,  确保电脑和Android设备连接在同一个WIFI网络环境。

    2, 将远程android设备接入wifi, 并查看其IP地址:设置—〉无线或网络---〉WLAN设置—〉按menu键并选择“高级”选项---〉IP 地址  例如192.168.2.11

    3,  本机command 命令下执行ping  192.168.2.11, 如果ping成功,说明可以连接

    4,  执行 adb connect 192.168.2.11

    如果显示连接成功,则可继续执行后面的操作;如果不成功,如显示:

    unable to connect to 192.168.2.11:5555

    执行:

    adb tcpip 5555

    adb connect 192.168.2.11

    注:前面两步操作需要手机和电脑通过usb进行连接

    1,  开启adb  服务

    adb start-server

    2,  查看设备

    adb devices

    android在使用adb 命令时有时会发现设备的状态是offline,我的神呀,这怎么让我们调试呢。必须解决这个问题。

    解决方式如下:

    以下方法请确保你的设备处于调试模式下。

    方法一:执行 #adb kill-server

                            #adb start-server

                           #adb devices

    看看设备是否还是处于offline状态,如果是,请尝试方法二

    方法二:

                       重新启动设备,开机后,执行:

          #adb devices

    如果设备还是offline

    请看方法三

    方法三:

               重启计算机

    3, 查看log

    adb logcat(停止按快捷键ctrl+c)

    4, 断开wifi连接

    adb disconnect [ip-address]:[port-num]
     

    展开全文
  • DeviceIoControl 对设备执行指定的操作 DosDateTimeToFileTime 将DOS日期和时间值转换成一 win32 FILETIME 值 FileTimeToDosDateTime 将一 win32 FILETIME 值转换成DOS日期和时间值 FileTimeToLocalFileTime ...
  • 1350多个精品易语言模块提供下载

    热门讨论 2011-06-06 17:51:09
    取拼音首字母.ec 取拼音首 模块.ec 取按键名称模块.ec 取控件或窗口的标题.ec 取操作系统类别.ec 取数据摘要.EC 取文件时 间.ec 取文件版本信息.ec 取文件目录列表.ec 取文件相关联的图标.ec 取文件行数.ec 取文本...
  • 设备履历在线管理系统可以记录下每一台设备的详细参数,如类型、品牌、型号、产地、相关配件以及照片等,可以记录该设备的使用情况,包括何时由谁使用保管,其间的维修情况等等,并且能够自动记录下当前使用单位和...
  • Linux网络编程 宋敬彬 孙海滨

    热门讨论 2011-12-09 16:49:20
    8.2.3 使用8.2.1节地址转换函数的例子 220 8.2.4 使用函数inet_pton()和函数inet_ntop()的例子 223 8.3 套接字描述符判定函数issockettype() 223 8.3.1 进行文件描述符判定的函数issockettype() 224 8.3.2 ...
  • 8.2.3 使用8.2.1节地址转换函数的例子 219 8.2.4 使用函数inet_pton()和函数inet_ntop()的例子 221 8.3 套接字描述符判定函数issockettype() 222 8.3.1 进行文件描述符判定的函数issockettype() 222 8.3.2 main...
  • 8.2.3 使用8.2.1节地址转换函数的例子 220 8.2.4 使用函数inet_pton()和函数inet_ntop()的例子 223 8.3 套接字描述符判定函数issockettype() 223 8.3.1 进行文件描述符判定的函数issockettype() 224 8.3.2 ...
  • 4.支持程序浮动的地址转换机制是( A、动态重定位 ) A、动态重定位 B、段式地址转换 C、页式地址转换 D、静态重定位 5.在可变分区存储管理中,最优适应分配算法要求对空闲区表项按( C )进行排列。 A、地址从大到小 ...
  • php网络开发完全手册

    热门讨论 2009-03-02 13:17:26
    1.5 几种综合网络服务器系统的安装 14 1.5.1 XAMPP 14 1.5.2 WAMP 16 1.5.3 Appserv 17 1.5.4 EasyPHP 18 1.5.5 VertrigoServ 19 1.6 几种开发工具的介绍 20 1.6.1 Vi及Vim 20 1.6.2 Eclipse+PHPEclipse插件 21 ...
  •  实例052 开发一进制转换器 66 3.4 日期时间格式的数据处理 67  实例053 动态获得系统当前日期和时间 67  实例054 手动设置系统日期时间 69  实例055 根据生日自动计算员工年龄 70  实例056 根据年份...
  • 入门学习Linux常用必会60命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    举例而言,如要挂载下列5个设备,其执行指令可能如下 (假设都是Linux的ext2系统,如果是Windows XX请将ext2改成vfat): 软盘 ===>mount -t ext2 /dev/fd0 /mnt/floppy cdrom ===>mount -t iso9660 /dev/hdc /mnt/...
  • Linux防火墙iptables介绍

    2018-10-26 17:00:39
    网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整, 提供加密隧道以及更与网络流量相关的任务。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则, 以达到让它对出入网络的...

    Linux防火墙iptables介绍

    介绍
    网络防火墙是通过一个或多个允许或拒绝的规则来过滤网络流量的网络设备或软件。网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整,
    提供加密隧道以及更多与网络流量相关的任务。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,
    以达到让它对出入网络的IP、数据进行检测。

    linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则,内核空间的netfilter实现防火墙功能。

    netfilter(内核空间)位于Linux内核中的包过滤防火墙功能体系,称为Linux防火墙的“内核态”。
    iptables(用户空间)位于/sbin/iptables,是用来管理防火墙的命令的工具,为防火墙体系提供过滤规则/策略,
    决定如何过滤或处理到达防火墙主机的数据包,称为Linux防火墙的“用户态”。

    Linux系统的防火墙功能是由内核实现的,包过滤防火墙工作在TCP/IP的网络层。用户空间的iptables制定相应的规则策略控制内核空间的netfilter处理相应的数据访问控制。
    iptables用表, 链 ,规则,来实现数据包的过滤规则策略,这个三者的关系可以理解为,链是规则的集合,表是链的集合,而规则是实现具体的策略。例如:开放那些端口或关闭那些端口。iptables自定义主要的表有filter,nat,mangle表。主要的链有INPUT,OUTPUT,FORWARD链。这三个链分别过滤输入主机的数据包,主机输出的数据包,和本机转发的数据包(NAT应用时)

    iptables执行规则时,是从规则表中从上至下的顺序依次匹配的,如果没遇到匹配的规则,就一条一条往下执行,如果遇到匹配的规则后,那么就执行本规则,后面的任何规则都不会在去匹配,执行后根据本规则的动作(accept,reject,log,drop等),决定下一步执行的情况。如果事先打开了某个端口服务,而后又想关闭的话,需要把写的关闭规则写到开启的前面。

    这里只介绍对单机防火墙的filter表中INPUT,OUTPUT,FORWARD三个链:

    一、iptables命令
    iptables(选项)(参数)

    选项

    -t:指定要操纵的表;     #这里只介绍filter,iptables如果不指定-t参数,默认就会自动匹配filter
    -A:向规则链中添加一条规则,该规则增加在原规则的后面,例如原来有3条规则使用-A选择就可以添加第4条规则;
    -I:  向规则链中插入一条规则,如果没有指定此规则的顺序,默认是插入变成第一条规则;如果要添加为第3条规则,
            就在-I后面的规则链后面添加3这数字,例如在INPUT链中添加第3条规则:iptables -I INPUT 3 后面添加相应的参数
    -D:从规则链中删除一条规则;
    -R:替换规则链中的一条规则;
    -L:显示规则链中已有的规则;
    -F:清楚规则链中已有的规则;
    -Z:清空规则链中的数据包计算器和字节计数器,它是计算同一数据包出现次数;
    -X:删除用户自定义的链
    -N:创建新的用户自定义规则链;
    -n:   地址和端口以数字的形式输出:
    -P(大写的p):定义规则链中的默认规则;
    -p:指定要匹配的数据包协议类型;
    -h:显示帮助信息;
    -v:显示规则链中更多的信息,比如网络接口等;
    -s:指定要匹配的数据包的源ip地址或网段;
    -d:指定要匹配的数据包的目的ip地址或网段;
    -j: 后面接操作策略,主要的策略有 接受(ACCEPT)、丢弃(DROP)、拒绝(REJECT)、日志记录(LOG)
    -i: 网络接口,指定数据包进入本机的网络接口,不能用到OUTPUT链中。
    -o:网络接口,指定数据包要离开本机所使用的网络接口,不能用到INPUT链中。
    --sport:限制来源的端口号码,端口号码也可以是联系的,例如:2000:3000代表端口2000到3000的所以端口
    --dport:限制目标的端口号码,端口号码也可以是联系的,例如:2000:3000代表端口2000到3000的所以端口

    iptables命令选项输入顺序:
    #iptables  [A/I/D/R 规则链名] [-i/o 网络接口] [-p 协议名] [-s 源IP/源子网] [-d 目标IP/目标子网] [--sport 源端口] [--dport 目标端口] [-j 策略]

    上面的命令如果不指定[-i/o 网络接口]则对主机的所有接口生效,不指定[-s 源IP/源子网] [-d 目标IP/目标子网]则对代任何网络(0.0.0.0)生效,
    使用[--sport 源端口] [--dport 目标端口]需要加上-p tcp或-p udp才会生效。


    二、查看防火墙的设置
    =====================================================================================================
    Chain INPUT (policy ACCEPT 15 packets, 2135 bytes)
     pkts bytes target     prot opt in     out     source               destination         
      439 45100 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:23

    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         

    Chain OUTPUT (policy ACCEPT 89 packets, 16596 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    root@debian:~#
    =====================================================================================================

    上面的输出中每一个Chain就是一个链,上面有三个链INPUT,FORWARD,OUTPUT每个链括号中的policy就是默认的策略,
    每一個 iptables 规则都伴随着一组记量器, 当封包符合 iptables 內的某一个规则时, 便会将包大小与数量累加到该规则所属的計量器。
    下面的pkts、bytes、target、prot、opt、in、out、source、destination代表的分别是
    pkts: packets, 被本规则所匹配到的报文的个数;
    bytes: 被本规则所匹配到的所有报文的大小之和,会执行单位换算;
    target:代表进行的操作,ACCEPT是放行,DROP是丢弃,REJECT是拒绝
    prot:代表使用的数据包协议,主要有tcp、udp、icmp三种数据包协议
    opt:额外的选项说明
    in: 数据包的流入接口
    out: 数据包的流出接口
    source:规则中针对那个来源IP进行限制
    destination:规则中针对那个目的IP进行限制

    三、举例

    1、清除所有iptables规则

    root@debian:~# iptables -F
    root@debian:~# iptables -X
    root@debian:~# iptables -Z

    2、自定义默认策略
    root@debian:~# iptables -P INPUT DROP                  #进入主机的数据包默认全部丢弃,需要放行的数据包通过策略再进行放行,这样主机比较安全
    root@debian:~# iptables -P OUTPUT ACCEPT          #从主机出去的数据包默认当热要放行了,但是如果主机当作代理服务之类的要考虑是否所以数据包允许通过
    root@debian:~# iptables -P FORWARD DROP          #禁止主机进行NAT,如果主机当作NAT要进行相应的策略配置

    3、开放指定的端口,当默认INPUT链为DROP
    root@debian:~# iptables -A INPUT -p tcp --dport 22 -j ACCEPT                #允许ssh服务的22端口通过
    root@debian:~# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT            #如果把OUTPUT默认规则设置成DROP的就要写上这一条
    root@debian:~# iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT               #插入第3条规则允许ssh服务的22端口通过
    root@debian:~# iptables -A INPUT -p tcp --dport 20 -j ACCEPT                 #允许FTP服务的20端口通过
    root@debian:~# iptables -A INPUT -p tcp --dport 21 -j ACCEPT                 #允许FTP服务的21端口通过
    root@debian:~# iptables -A INPUT -j DROP                                                #禁止其他未允许的规则访问
    root@debian:~# iptables -A FORWARD -j DROP                                        #禁止其他未允许的规则访问
    root@debian:~# iptables -A OUTPUT -j ACCEPT                                        #允许所有本机向外的访问

    root@debian:~# iptables -A INPUT -p tcp --sport 2222 -j ACCEPT         #这个比较特殊,是允许访问的主机应用通过2222端口发起的就允许通过,一般INPUT配
                                                                                                                        #合--sport很少用,主要是INPUT配合--dport使用,OUTPUT配合--sport使用。
    4、开放指定IP或网段,当默认INPUT链为DROP
    root@debian:~# iptables -I INPUT -s 127.0.0.1  -j ACCEPT                     #允许本地回环接口(即运行本机访问本机)
    root@debian:~# iptables -I INPUT -s 192.168.2.100 -j ACCEPT              #允许单个IP通过的命令
    root@debian:~# iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT                     #允许整个网段即从10.0.0.1到10.255.255.254通过的命令
    root@debian:~# iptables -I INPUT -s 192.168.2.0/24 -j ACCEPT             #允许整个网段即从192.168.2.1到192.168.2.254通过的命令
    root@debian:~# iptables -I outPUT -d 192.168.2.0/24 -j ACCEPT            #如果把OUTPUT默认规则设置成DROP就要加上这一条才能允许整个网段通过

    root@debian:~# iptables -I INPUT -d 192.168.2.100 -j ACCEPT              #如果被访问的服务器地址是192.168.2.100则这条命令会允许所有访问,
                                                                                                                         #一般INPUT 配合-d很少有,主要是INPUT配合-s使用,OUTPUT配合-d使用。
    5、开放指定网络接口,当默认INPUT链为DROP,多用于有多个网卡的时候
    root@debian:~# iptables -A INPUT -i lo -j ACCEPT                                #允许本地回环接口(即运行本机访问本机),只是这个是通过接口来实现  
    root@debian:~# iptables -A OUTPUT -o lo -j ACCEPT                           #如果把OUTPUT默认规则设置成DROP的就要写上这一条
    root@debian:~# iptables -A INPUT -i enp0s3 -j ACCEPT                       #允许从网卡enp0s3口进入的数据包通过
    root@debian:~# iptables -A OUTPUT -o enp0s3 -j ACCEPT                  #允许从网卡enp0s3口出去的数据包通过

    6、允许icmp包通过,也就是允许ping,
    root@debian:~# iptables -A INPUT -p icmp -j ACCEPT  (INPUT设置成DROP的话)
    root@debian:~# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话)

    7、允许从网卡enp0s3口进入的192.168.0.106地址的主机访问ssh
    root@debian:~# iptables -I INPUT -i enp0s3 -s 192.168.0.106 -p tcp --dport 22 -j ACCEPT

    查看刚才的配置
    =========================================================================================================
    root@debian:~# iptables -L -vn
    Chain INPUT (policy DROP 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         
      119 14508 ACCEPT     tcp  --  enp0s3 *       192.168.0.106        0.0.0.0/0            tcp dpt:22
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:20

    Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
     pkts bytes target     prot opt in     out     source               destination         

    Chain OUTPUT (policy ACCEPT 5 packets, 1044 bytes)
     pkts bytes target     prot opt in     out     source               destination         
    root@debian:~#
    =========================================================================================================

    通过上面的显示可以很清楚的看到Chain INPUT中的第一条规则是刚才插入的,因为添加了网口和IP地址的选项所以相对下面的规则,in下面多了enp0s3网卡接口
    source下面多了192.168.0.106 IP地址,没有指定的选项就是全都允许了。

    8、从规则链中删除一条规则
    root@debian:~# iptables -D INPUT -p tcp --dport 22 -j ACCEPT           #删除ssh服务的22端口通过
    root@debian:~# iptables -D INPUT  n                            #按规则序号删除,n代表INPUT链中从上让下数的第n条规则,也可用到OUTPUT和FORWARD链中

    四、iptables扩展模块state
    当我们为了安全把防火墙的INPUT链的默认规则设置成DROP,这样任何数据包都不能进入我们的主机,这样就会有问题,当我们访问网页时会无法显示页面的,
    因为访问网页是双向的,你发出去的请求数据会返回相应的应答数据包,但是防火墙拒绝了任何数据包,所以网页无法显示。你可以开放相应的端口,
    但是这只是其中的一个应用,如果要访问的应用很多你就会疯掉,需要开发多少个端口,应用对应的端口又是什么,头都大了,怎么办那?

    可以用扩展模块state来实现,从字面上理解,state可以翻译为状态,但是我们可以用另外一个词来形容 <连接追踪>,那么连接的是什么,你可能下意识的想到tcp链接,对于state模块而言的连接并不能与tcp的连接等同,在TCP/IP协议中,UDP和ICMP是没有所谓的连接的,但是对于state模块来说,tcp、udp、icmp报文,都是有连接状态的,我们可以这样认为,对于state模块而言,只要两台机器在你来我往的通信,就算建立起了连接,而数据包在这个所谓的链接中是什么状态那?

    在state中封包的4种链接状态分别为:

    NEW
    ESTABLISHED
    RELATED
    INVALID

    这里我简单讲一下这四种链接状态。

    NEW
    当你在使用UDP、TCP、ICMP等协议时,发出的第一个包的状态就是“NEW”

    ESTABLISHED
    我们可以把NEW状态包后面的包的状态理解为ESTABLISHED,表示连接以建立。如下图:



    RELATED
    这里我大致讲一下,当你执行Linux下执行traceroute(Windows下对应的命令为tracert)命令时,这个traceroute会发出一个封包,该封包的TTL(生存时间,Time To Live)位1,当这个包遇到路由器的时候它的TTL会减少1,这时TTL = 0,然后这个包会被丢弃,丢弃这个包的路由器会返回一个ICMP Type 11的封包给你,并告诉你那个发出的数据包已尽死。而这个ICMP Type 11的链接状态就是“RELATED”。

    INVALID
    状态为INVALID的包就是状态不明的包,也就是不属于前面3中状态的包,这类包一般会被视为恶意包而被丢弃。

    通过下面的命令允许ESTABLISHED和RELATED状态的数据包通过:
    root@debian:~# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    通过上面的命令就可以正常的访问浏览器了。

    五、iptables-save命令

    iptables-save命令用于将linux内核中的iptables的规则导出到标准输出设备商,通常,使用shell中I/O重定向功能将其输出保存到指定文件中。

    iptables-save(选项)

    选项

    -c:指定要保存的iptables表时,保存当权的数据包计算器和字节计数器的值;
    -t:指定要保存的表的名称。

    实例:保持当前主机iptables的规则到文件/etc/local/iptables/rules.v4.1.save(这个文件的路径和名字可以自定义)
    ============================================================================
    root@debian:~# iptables-save > /etc/local/iptables/rules.v4.1.save

    root@debian:~# cat /etc/local/iptables/rules.v4.1.save
    # Generated by iptables-save v1.6.0 on Wed Sep 26 22:23:57 2018
    *filter
    :INPUT DROP [17:2067]
    :FORWARD DROP [0:0]
    :OUTPUT ACCEPT [44:7568]
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
    COMMIT
    # Completed on Wed Sep 26 22:23:57 2018
    root@debian:~#
    ============================================================================
    通过上面的命令可以看到保存的的表为filter,三个链对应的默认策略,以及自定义的规则。

    六、iptables-restore命令
    iptables-restore命令用来还原iptables-save命令所备份的iptables配置。

    iptables-restor(选项)

    选项

    -c:指定在还原iptables表时候,还原当前的数据包计数器和字节计数器的值;
    -t:指定要还原表的名称。

    实例
    root@debian:~# iptables-restore   <  /etc/local/iptables/rules.v4.1.save

    /etc/local/iptables/rules.v4.1.save是iptables-save命令所备份的文件。

    展开全文
  • 1345易语言模块

    2012-01-27 19:41:59
    1345易语言模块,易语言模块大集合,够你用的啦 1亦思验证码识别1.5免费版.ec 24位转单色位图模块.ec 32张发牌.ec 3D引擎支持库-eOgre.ec 69msn.ec ACCESS 到高级表格.ec Access操作.ec Access数据库压缩修复新建....
  • 在磁盘地址表中有13块号,文件将以块号在磁盘地址表中出现的顺序依次读取相应的块。Linux文件系统通过把i节点和文件名进行连接,当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件...
  • 来好像有多个元素。这样合法和可移植吗? . . . . . . . . . . . . 8 2.7 是否有自动比较结构的方法? . . . . . . . . . . . . . . . . . . . . 8 2.8 如何向接受结构参数的函数传入常数值? . . . . . . . . . . ....
  • 300注册表优化修改文件 经过了半小时终于弄完了,希望能对大家有所帮助 如果怕弄不好注册表就先给注册表备份1下,介绍几个个手动备份的方法:} 1.win98下在DOS下scanreg/backup(备份)scanreg/regore(恢复) ...
  • 你必须知道的495C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    来好像有多个元素。这样合法和可移植吗? . . . . . . . . . . . . 8 2.7 是否有自动比较结构的方法? . . . . . . . . . . . . . . . . . . . . 8 2.8 如何向接受结构参数的函数传入常数值? . . . . . . . . . . ....
  •  无论您什么时候访问特定类型的网页,此类扩展程序都会检测出来,并在地址栏中显示一图标。点击该图标可对网页执行相应的操作。例如,RSS Subscription Extension(仅提供英文版)只要检测到您访问的网页上存在...
  • 实例080——使用IP地址控件显示和设置IP地址 实例081——使用标签控件创建标签页 实例082——使用热键控件为程序设置热键 实例083——在对话框窗口中使用Microsoft ActiveX控件FlexGrid 实例084——在视图窗口...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。 消息中字符间发送的时间间隔最长不能超过1秒,否则接收的设备将认为传输错误。一个典型消息帧如下所...
  • 实例080——使用IP地址控件显示和设置IP地址 实例081——使用标签控件创建标签页 实例082——使用热键控件为程序设置热键 实例083——在对话框窗口中使用Microsoft ActiveX控件FlexGrid 实例084——在视图...
  • 交换机可同时执行多个转发操作 由于集线器只是原封不动地将信号广播出去,所以即便信号受到噪声的干扰发生了失真,也会原样发送到目的地。这时,接收信号的设备,也就是交换机、路由器、服务器等,会在将信号...
    本文写的是网络包经过交换机的传输过程。以下是网络知识的个人学习笔记,记录的是较为重要的部分。
     
    由于集线器只是原封不动地将信号广播出去,所以即便信号受到噪声的干扰发生了失真也会原样发送到目的地这时接收信号的设备,也就是交换机路由器服务器等会在将信号转换成数字信息后通过 FCSA校验发现错误并将出错的包丢弃当然丢弃包并不会影响数据的传输,因为丢弃的包不会触发确认响应因此协议栈的 TCP 模块会检测到丢包并对该包进行重传。
     

    交换机根据地址表进行转发

    交换机的设计是将网络包原样转发到目的地。它的内部有一张MAC地址与网线端口的对应表,当接收到包时,会将相应的端口号码和发送方MAC地址写入表中,这样就可以根据地址判断出该设备连接在哪个端口上了。交换机就是根据这些信息来判断把包发送到哪里的。
    简单的说,就是根据MAC地址通过查表确定包从哪个端口发出。
     

    信号到达网线接口并由 PHYMAU模块进行接收,这一部分和集线器是相同的也就是说它的接口和 PHYMAU)模块也是以MDI-X 模式进行连接的 B当信号从双绞线传入时就会进入 PHYMAU) 模块的接收部分

    接下来PHYMAU模块会将网线中的信号转换为通用格式,然后传递给 MAC 模块MAC 模块将信号转换为数字信息,然后通过包末尾的 FCS 校验错误如果没有问题则存放到缓冲区中 C。这部分操作和网卡基本相同可以认为交换机的每个网线接口后面都是一块网卡。网线接口和后面的电路部分加在一起称为一个端口也就是说交换机的一个端口就相当于计算机上的一块网卡 (换句话说,如果在计算机上安装多块网卡,并开启“混杂模式”让网卡接收所有的网络包,然后再安装一个和交换机具备同样功能的网络包转发软件,那么这台计算机就变成了一台交换机)

    交换机的工作方式和网卡有一点不同网卡本身具有 MAC 地址并通过核对收到的包的接收方 MAC 地址判断是不是发给自己的如果不是发给自己的则丢弃相对地,交换机的端口不核对接收方 MAC 地址而是直接接收所有的包并存放到缓冲区中因此和网卡不同交换机的端口不具有 MAC 地址。将包存入缓冲区后接下来需要查询一下这个包的接收方 MAC 地址是否已经在 MAC 地址表中有记录了MAC 地址表主要包含两个信息,一个是设备的 MAC 地址另一个是该设备连接在交换机的哪个端口上MAC 地址和端口是一一对应的通过这张表就能够判断出收到的包应该转发到哪个端口

    MAC 地址表的维护

    交换机在转发包的过程中还需要对 MAC 地址表的内容进行维护, 维护操作分为两种

    第一种是收到包时将发送方 MAC 地址以及其输入端口的号码写入MAC 地址表中由于收到包的那个端口就连接着发送这个包的设备,所以只要将这个包的发送方 MAC 地址写入地址表,以后当收到发往这个地址的包时交换机就可以将它转发到正确的端口了。交换机每次收到包时都会执行这个操作因此只要某个设备发送过网络包它的 MAC 地址就会被记录到地址表中

    第二种是删除地址表中某条记录的操作,这是为了防止设备移动时产生问题比如我们在开会时会把笔记本电脑从办公桌拿到会议室,这时设备就发生了移动从交换机的角度来看,就是本来连接在某个端口上的笔记本电脑消失了。这时如果交换机收到了发往这台已经消失的笔记本电脑的包那么它依然会将包转发到原来的端口通信就会出错,因此必须想办法删除那些过时的记录然而,交换机没办法知道这台笔记本电脑已经从原来的端口移走了因此地址表中的记录不能永久有效而是要在一

    段时间不使用后就自动删除。过时记录从地址表中删除的时间一般为几分钟,因此在过时记录被删除之前依然可能有发给该设备的包到达交换机这时,交换机会将包转发到老的端口通信就会发生错误这种情况尽管罕见,但的确也有可能发生不过大家不必紧张遇到这样的情况只要重启一下交换机,地址表就会被清空并更新正确的信息然后网络就又可以正常工作了

    总之交换机会自行更新或删除地址表中的记录不需要手动维护 A。当地址表的内容出现异常时只要重启一下交换机就可以重置地址表,也不需要手动进行维护

    交换机可同时执行多个转发操作

    交换机只将包转发到具有特定 MAC 地址的设备连接的端口,当包从最上面的端口发送到最下面的端口时其他端口都处于空闲状态这些端口可以传输其他的包因此交换机可以同时转发多个包相对地集线器会将输入的信号广播到所有的端口,如果同时输入多个信号就会发生碰撞无法同时传输多路信号,因此从设备整体的转发能力来看交换机要高于集线器

     

    网络包经由路由器又会是怎样呢?路由器又是什么呢? ------->  https://blog.csdn.net/HYZX_9987/article/details/103877330

     

     

     

     

    展开全文
  • •重定位:将逻辑地址转换为物理地址。 •虚拟存储管理 虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好象内存容量不受限制。 虚存的特点: ...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 276
精华内容 110
关键字:

多个设备执行网络地址转换