网络端口

爆锤TCP/UDP

爷,独闯天下 提交于 2019-11-29 22:17:44
TCP/UDP TCP: 传输控制协议(英语:Transmission Control Protocol,缩写为TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 UDP: 用户数据报协议(英语:User Datagram Protocol,缩写为UDP),又称使用者资料包协定,是一个简单的面向数据报的传输层协议,正式规范为RFC 768。 前言: 关于TCP和UDP这两个协议是面试中非常常见的问题,本文讨论以下几个问题: 什么是TCP 什么是UDP TCP和UDP的异同点 TCP和UDP的应用场景 1. TCP和UDP的异同点 1.1 相同点 UDP和TCP同属于传输层的协议 1.2 不同点 TCP面向字节流,而UDP面向数据报。 解释: TCP收发的是一堆数据,是一个数据流,而每次取多少由主机决定; 而UDP发的是数据报,客户发送多少就接收多少 TCP是面向连接的,而UDP不是面向连接的。 解释: TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的,因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办。 而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据。 TCP是可靠的,而UDP是不可靠的。 解释:

MII、RMII、GMII接口的详细介绍

我怕爱的太早我们不能终老 提交于 2019-11-29 21:32:54
概述: MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个MAC和PHY之间的管理接口。 数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时钟和控制信号。MII数据接口总共需要16个信号。 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层能监视和控制PHY。MII (Management interface)只有两条信号线。 MII标准接口用于连接Fast Ethernet MAC-block与PHY。表明在不对MAC硬件重新设计或替换的情况下,任何类型的PHY设备都可以正常工作。在其他速率下工作的与MII等效的接口有:AUI(10M 以太网)、GMII(Gigabit 以太网)和XAUI(10-Gigabit 以太网)。 MII总线 在IEEE802.3中规定的MII总线是一种用于将不同类型的PHY与相同网络控制器(MAC)相连接的通用总线。网络控制器可以用同样的硬件接口与任何PHY进行连接。 MII相关接口介绍: 以太网媒体接口有:MII RMII SMII GMII 所有的这些接口都从MII而来,MII是(Medium Independent Interface)的意思,是指不用考虑媒体是铜轴、光纤

ftp、sftp、vsftpd、sshd

你说的曾经没有我的故事 提交于 2019-11-29 21:24:43
FTP FTP,文件传输协议(File Transport Protocol),工作在OSI网络模型的第七层---应用层,使用TCP传输。 FTP是基于客户--服务器(CS)模型设计的,ftp客户端发起会话,与ftp服务器建立连接。FTP会话期间要建立建立两个连接:控制连接和数据连接。控制连接一般使用21端口,主要于户传送命令和响应等控制信息,在整个交互过程中始终处于连接状态;数据连接一般使用服务器的20端口,只在每一次文件传送时打开,数据传送完成后则会关闭。当控制连接撤销时,FTP会话结束。 FTP支持的模式:Standard(PORT方式、主动模式)、Passive(PASV、被动模式)。 1、主动模式: FTP客户端首先与服务器的TCP21端口建立控制连接,用来发送控令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器通过自己的TCP20端口连接至客户端的指定端口发送数据。 2、被动模式: 被动模式下控制连接与主动模式是一致的,不同的是控制连接建立后会发送PASV命令,服务器收到PASV命令后,打开一个临时端口并且通知客户端,客户端连接至ftp的此端口,然后ftp服务器通过这个端口传送数据。 总结:主动与被动是针对FTP服务器而言的,主动模式下,FTP服务器使用20端口主动连接客户端的指定端口

zz 远程通信协议

大兔子大兔子 提交于 2019-11-29 21:10:41
https://www.jianshu.com/p/61714f90c061 在分布式架构中,有一个很重要的环节,就是分布式网络中的计算机节点彼此之间需要通信。 HTTP 协议通信原理 说到通信,大家一定听过 tcp 和 udp 这两种通信协议,以及建立连接的握手过程。而 http 协议的通信是基于 tcp/ip 协议之上的一个应用层协议,应用层协议除了 http 还有哪些呢(FTP、DNS、SMTP、Telnet 等)。 涉及到网络协议,我们一定需要知道 OSI 七层网络模型和 TCP/IP 四层概念模型,OSI 七层网络模型包含(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)、TCP/IP 四层概念模型包含(应用层、传输层、网络层、数据链路层)。 image.png 请求发起过程,在 tcp/ip 四层网络模型中所做的事情 当应用程序用 TCP 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息) image.png 客户端如何找到目标服务 在客户端发起请求的时候,我们会在数据链路层去组装目标机器的 MAC 地址,目标机器的mac 地址怎么得到呢? 这里就涉及到一个 ARP 协议,这个协议简单来说就是已知目标机器的 ip,需要获得目标机器的 mac 地址。

C#读写三菱PLC和西门子PLC数据 使用TCP/IP 协议

雨燕双飞 提交于 2019-11-29 19:26:13
本文将使用一个Github开源的组件库技术来读写三菱PLC和西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 github地址: https://github.com/dathlin/HslCommunication 如果喜欢可以star或是fork,还可以打赏支持,打赏请认准源代码项目。 在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装: Install-Package HslCommunication 如果需要教程:Nuget安装教程: http://www.cnblogs.com/dathlin/p/7705014.html 联系作者及加群方式(激活码在群里发放): http://www.hslcommunication.cn/Cooperation 组件的完整信息和API介绍参照: http://www.cnblogs.com/dathlin/p/7703805.html 组件的使用限制,更新日志,都在该页面里面。 如果你需要在读取PLC数据之后,还要群发客户端来实现远程办公室同步监视,可以参考如下的项目(基于该组件扩展起来的,带有账户验证,版本控制,数据群发,公告管理等等功能) https://github

NAT穿越(NAT-T)原理

拜拜、爱过 提交于 2019-11-29 18:39:42
IPSec NAT 穿越简介 IPSec NAT穿越的场景: 本质上解决ESP协议无法提供转换端口,插入UDP 4500端口 有以下两种场景,需要进行进行NAT穿越。 场景一、FW既做IPSEC网关,又做NAT转换 此种场景下,是当运营商给客户的动态分配的私网地址情况下,FW需要穿越运营商的nat。 IPSEC网关与NAT在同一台设备 ,如果运营商给分配的是公网地址,需要做NAT旁路(NAT豁免) 场景二、FW处于内部只做IPSEC网关,前面有专门的设备做NAT(可以FW也可以ROUTER) IPSec的封装协议分析: 图:传输模式下AH和ESP的封装 如上图,在传输模式下,AH认证整个IP报文,当经过NAT转化后,肯定会认证不成功。在ESP封装下,虽然认证访问不包括IP头,但是因为通过nat后,nat修改了外层IP地址,由于TCP/UDP校验和的计算包含IP源目地址,所以TCP/UDP的校验和需要更新,但是现在TCP/UDP已经被ESP加密,中间路由器无法更新TCP/UDP的校验和,所以TCP的校验和检查最终会失败。 图:隧道模式下AH和ESP的封装 如上图,在隧道模式下,AH认证整个IP头部,包括新生成的IP头,这种情况当经过nat后, IP地址发送变化,也肯定不能认证成功。在ESP的封装下,ESP的认证范围是从ESP头部到ESP尾部。当通过nat时,改变的仅仅是外层IP头部

Nginx和PHP的配置

爷,独闯天下 提交于 2019-11-29 18:38:35
采用nginx+php作为webserver的架构模式,在现如今运用相当广泛。然而第一步需要实现的是如何让nginx正确的调用php。由于nginx调用php并不是如同调用一个静态文件那么直接简单,是需要动态执行php脚本。所以涉及到了对nginx.conf文件的配置。这一步对新手而言一般需要网上查资料,对于一般的熟手而言,也有不少同学并没有搞透彻为何要如此这般配置。本文的主要内容为如何在nginx server中正确配置php调用方法,以及配置的基本原理。 一、nginx配置文件修改 配置文件位置 Nginx的配置文件默认位置为: /etc/nginx/nginx.conf 在我的环境中 nginx.conf 在 /etc/nginx/nginx.conf 使用vim打开文件nginx.conf vim /etc/nginx/nginx.conf 配置文件分析 # nginx运行的用户名 user nginx; # nginx启动进程,通常设置成和cpu的数量相等,这里为自动 worker_processes auto; # errorlog文件位置 error_log /var/log/nginx/error.log; # pid文件地址,记录了nginx的pid,方便进程管理 pid /run/nginx.pid; # Load dynamic modules. See

4.2 PCIe体系结构的组成部件 分类: 浅谈PCI-E ...

爱⌒轻易说出口 提交于 2019-11-29 18:07:35
PCIe 总线作为处理器系统的局部总线,其作用与 PCI 总线类似,主要目的是为了连接处理器系统中的外部设备,当然 PCIe 总线也可以连接其他处理器系统。在不同的处理器系统中, PCIe 体系结构的实现方法略有不同。但是在大多数处理器系统中,都使用了 RC 、 Switch 和 PCIe-to-PCI 桥这些基本模块连接 PCIe 和 PCI 设备。在 PCIe 总线中,基于 PCIe 总线的设备,也被称为 EP (Endpoint) 。 4.2.1 基于 PCIe 架构的处理器系统 在不同的处理器系统中, PCIe 体系结构的实现方式不尽相同。 PCIe 体系结构以 Intel 的 x86 处理器为蓝本实现,已被深深地烙下 x86 处理器的印记。在 PCIe 总线规范中,有许多内容是 x86 处理器独有的,也仅在 x86 处理器的 Chipset 中存在。在 PCIe 总线规范中,一些最新的功能也在 Intel 的 Chipset 中率先实现。本节将以一个虚拟的处理器系统 A 和 PowerPC 处理器为例简要介绍 RC 的实现,并简单归纳 RC 的通用实现机制。 1 处理器系统 A 在有些处理器系统中,没有直接提供 PCI 总线,此时需要使用 PCIe 桥,将 PCIe 链路转换为 PCI 总线之后,才能连接 PCI 设备。在 PCIe 体系结构中,也存在 PCI

Vlan技术(Virtual Local Area Network)

我与影子孤独终老i 提交于 2019-11-29 17:06:42
1.Vlan作用 隔离广播域 :防止网络中的广播包过多,导致网络拥塞,同时也是为了提高网络带宽的利用率。 实现故障隔离 :减小网络故障带来的影响,缩小范围后也方便故障的定位和排除。 增强安全性 :不同Vlan间的数据通信只能通过三层设备进行,在三层设备上采取安全措施可以防止病毒在局域网内大范围扩散。 2.Vlan的划分方式 可以基于 交换机端口 的(最常用),基于 协议 的,基于 IP 地址的,基于 MAC 地址的。 3.802.1q帧结构 4.交换机端口分类 Access 类型的端口只能属于1个VLAN,一般用于连接计算机的端口。 Trunk 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口。 Hybrid 类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。 Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时 : Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签 。 端口的缺省VLAN的概念:Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;   Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN

拓展 centos 7

♀尐吖头ヾ 提交于 2019-11-29 17:05:01
查看端口的占用情况 Centos6/contos7(ECS) 使用 netstat 查询系统上有多少TCP 多少UDP会话 netstat -tun -t: tcp -u: udp -a: all 表示列出所有的连接,服务监听,Socket资料 -n: port number 用数字的形式展示 -p: program显示哪个进程监听这个端口 -l :listening,列出当前处于监听状态的服务 contos7(Minimal) /contos7(ECS) 使用 命令 : ss ss 尤其是在有海量并发时, 效率更高 -t: tcp -u: udp 显示当前机器上有哪些端口提供服务 [root@139 bin]# ss -nlutp centos7特性 操作 centos6 centos7 文件系统 ext4 xfs 修改主机名 /etc/sysconfig/network /etc/hosthome 修改时区 /etc/sysconfig/clock timedatectl set-timezone Asia/Tokyo 查看ip信息 ifconfig ifconfig/ip(阿里ECS) 查看DNS信息 /etc/resolv.conf - 查看端口状态 netsat netsat/ss 核心服务 操作| centos6 | centos7 ---|------|--- 防火墙