通信原理

图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”)

寵の児 提交于 2019-12-17 12:23:18
一、代理ARP概述 我: 当电脑要访问互联网上的服务器,目标MAC是什么? 很多小伙伴在刚学习网络协议的时候,经常这样直接回应: 不就是服务器的MAC嘛! 这时我会反问: 那电脑怎么拿到这个服务器的MAC地址呢? 小伙伴一般都自信的抛出下面两个点: ①根据网络通信中数据封装的原则,通信双方需要封装源目IP和MAC地址; ②如果要拿到目标MAC地址,就需要通过ARP协议进行交互。 我:好,确实没毛病,你是指的下面这个意思吧 ==> 小伙伴:对对对,是这个意思的。 我:好,你再看看下面这个图,再确认下。 小伙伴:好像不太对唉,刚才没注意看...... 互联网这么多路由器,根据之前学过的: ①路由器隔离广播域,每个接口/网段都是独立的广播域; ②ARP请求是二层广播包,广播包没法过路由器, 这样的话,ARP请求广播包根本没法穿越互联网到达目标服务器。 我:那我们平常上微博逛知乎去京东剁手基本都依据上面这张图, 通过DNS协议将域名解析为IP地址,通过ARP协议将IP解析为MAC地址 。现在ARP请求无法穿越过去,电脑便无法获取目标服务器的MAC地址,怎么跟它通信呢? 小伙伴: 。。。。。。 上面这个疑惑,我相信每个学习网络协议的初学者经常会问到,更普遍的情况是,很多工作多年的工程师,也未必能够将下面这几个问题完全搞清楚: ①电脑访问互联网服务器的时候,ARP询问的内容,真的是问服务器的吗

socket通信的原理与实践

孤人 提交于 2019-12-11 20:29:37
主要参考了以下几篇博客,学到了很多,在这里总结一下 socket通信原理 TCP网络编程中connect()、listen()和accept()三者之间的关系 socket编程accept函数返回值的理解 TCP/IP协议是我们熟知的传输层协议,socket与TCP/IP协议模型的关系如下: Socket 是什么呢? Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式,它把复杂的 TCP/IP协议族隐藏在 Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket去组织数据,以符合指定的协议。 简介Socket通信的全过程: 1.从服务器端说起,服务器端先初始化一个socket,调用bind()函数绑定一个端口 2.然后调用listen()函数监听端口,(相当于服务器的 客服是等待着客户(相当于客户端)电话的到来),listen() 函数的主要作用就是将套接字( sockfd )变成被动的连接监听套接字(被动等待客户端的连接),TCP 三次握手也不是由这个函数完成,listen()的作用仅仅告诉内核一些信息。 这里需要注意的是,listen()函数不会阻塞,它主要做的事情为,将该套接字和套接字对应的连接队列长度告诉 Linux 内核,然后,listen()函数就结束。 这样的话

Socket通信原理

我的梦境 提交于 2019-12-10 18:36:45
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我们经常听说TCP/IP、UDP、Socket,这些到底是什么,之间有什么关系?我们通过本文弄清楚四个问题: 什么是TCP/IP、UDP? Socket处于协议的哪一层? Socket是什么? 如何使用它们? 1,什么是TCP/IP、UDP? TCP/IP (Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。 UDP (User Datagram Protocol,用户数据报协议) 是与TCP相对应的协议,是面向无连接的传输协议。它是属于TCP/IP协议族中的一种。 这里有一张图,表明了这些协议的关系。 TCP/IP协议族包括运输层、网络层、链路层。现在你知道TCP/IP与UDP的关系了吧。 2, Socket处于协议的哪一层? 3, Socket是什么呢? 从操作系统层面来看,Socket起源于Unix,而Unix/Linux基本哲学之一就是“ 一切皆文件 ”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作,所以可以把Socket看成是一种特殊的文件,socket函数可以对其进行各种操作(读/写IO、打开、关闭),从这个层面来讲,我们可以说

Socket通信原理

浪尽此生 提交于 2019-12-10 15:51:17
Socket通信浅析   网络上的两个程序通过一个双向的通信连接实现数据交换,而通信的端点称为Socket(套接字)。Socket的本质是编程接口,是对TCP/IP协议的封装。 Socket通信过程   服务器端先初始化Socket,然后与端口进行绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连接。此时如果有客户端初始化一个Socket,然后连接(connect)服务器,如果连接成功,此时客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理请求,然后把回应数据发送给客户端,客户段读取数据,然后关闭连接,一次交互结束。 相关函数 socket函数 bind函数 listen函数 connect函数 accept函数 read函数 write函数 来源: https://www.cnblogs.com/cpp-blog/p/12017030.html

浅析HTTPS与SSL原理

孤街浪徒 提交于 2019-12-06 19:04:09
版权声明:本文由盛旷 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/134 来源:腾云阁 https://www.qcloud.com/community HTTPS是指结合HTTP和SSL来实现网络浏览器和服务器之间的安全通信。HTTPS被融合到当今网络操作系统和网络浏览器中,他依赖于网络服务器是否支持HTTPS协议。本文重点是阐述HTTPS和SSL证书的原理,不涉及具体实现。在开始叙述原理之前,先明确几个网络安全方面的基础概念。 一.基础概念 1. 对称加密算法 一个对称加密算法由五个部分组成: 明文:原始消息或数据 加密算法 密钥 密文:使用密钥通过加密算法对明文计算后的结果 解密算法:使用密文和相同密钥通过解密算法产生原文 2. 非对称加密算法 与对称加密算法不同的是,非对称加密算法使用的加密密钥和解密密钥是不同的。 3. 公钥密码与RSA 公钥密码属于对称加密算法中的一种,公钥密码体系中有一个公钥和一个密钥,公钥是公开给所有人使用的,密钥只有自己知道,通常公钥根据一个密钥进行加密,根据另一个密钥进行解密。 RSA公钥密码算法是公钥密码算法中的一种,RSA中的加密和解密都可以使用公钥或者私钥,但是用公钥加密的密文只能使用私钥解密,用私钥加密的密文智能使用公钥解密。 二.SSL证书的原理

不同VLAN之间通信的原理

二次信任 提交于 2019-12-06 10:02:24
在划分VLAN后,不同VLAN之间不能直接进行二层通信。如果要实现VLAN间通信,可以采取以下3种方案之一。 1.三层VLANIF接口方案 这是一种通过计算机网络体系结构中第三层(网络层)来实现VLAN间通信的解决方案。每个VLAN都可以配置一个三层VLANIF逻辑接口,而这些VLANIF接口就作为对应VLAN内部用户主机的缺省网关,通过三层交换机内部的IP路由功能可以实现同一交换机上不同VLAN的三层互通,不同交换机上不同VLAN间的三层互通需要配置各VLANIF接口所在网段间的路由。 该方案除S1700系列外,其他所有华为S系列交换机均支持。 在图6-20所示的网络中,Device交换机上划分了两个VLAN:VLAN2和VLAN3。可通过如下配置实现VLAN间互通。 (1)在Device上创建两个VLANIF接口并配置VLANIF接口的IP地址,但这两个VLANIF接口对应的IP地址不能在同一网段。 (2)将各VLAN中的用户设备缺省网关设置为所属VLAN对应VLANIF接口的IP地址。 现在仅以位于VLAN 2中的主机A向位于VLAN 3中的主机C发起通信为例,介绍通过VLANIF接口进行VLAN间三层互通的基本原理。具体通信流程如下。 (1)在主机A向主机C发送的数据包到了网络层后,主机A先将包中的目的IP地址-主机C的IP地址和自己所在网段进行比较。 (2

ROS通信原理介绍

我只是一个虾纸丫 提交于 2019-12-06 08:10:51
本文将主要对clearpathrobotics网站关于ROS的介绍进行翻译。原文网址 https://www.clearpathrobotics.com/2014/01/how-to-guide-ros-101/ 。 1,何为ROS? ROS(Robot Operating System)是遵从BSD许可的系统,它可以在PC上控制机器人的各个组件。ROS系统由多个各自独立的节点(组件)组成,并且各个节点之间可以通过发布/订阅(publish/subscribe)消息模型进行通信。例如,我们将一个特定传感器的驱动模块作为一个ROS节点,其将传感器数据发布(publish)到消息流。这些消息可能会被某些节点获取到,例如滤波器、记录器、更高级系统中的应用如导航、路径查找等节点。 (从此段可以理解,ROS的publish操作为某个节点将其自身数据或传感器数据发送到一个注册到ROS中的消息池中,其他节点可以申请获取数据,而publish数据的节点不关心哪些节点需要,其他节点如何获取数据将在下面介绍。) 2,为何使用ROS? ROS中的节点可以运行在不同的系统、平台,甚至是不同的架构中。假如有一个Arduino publish的消息,你可以使用笔记本订阅(subscribe)此消息,也可以使用android手机驾驶摩托。对于用户的需求,ROS具有灵活适应性,并且它还是开源的

面视必备,史上最通俗计算机网络分层详解

人走茶凉 提交于 2019-12-06 06:44:25
1、引言 整个暑假去面试,面试了很多家公司(无论是小厂还是大厂)问到的深度不同,网络原理是面试最容易问到的问题,虽然我们在项目中很少去实践它,但是了解其原理,会让我们背后网络通信是如果工作的,既能在面试官面前体现出你的基础是否扎实,也能对以后深入网络这部分学习有更多的了解。 很多同学面试在准备这部分的时候,都会去背,这部分确实很难掌握,我个人总结的最好的学习网络原理的方法就是不用刻意的去记忆而是完全的结合实际去讲整个原理融会贯通。虽然一开始学习起来很吃力,但是稍微用点心,多看几遍,多问自己为什么,把自己当做是开发网络原理的开发者,面试前的准备只要理清逻辑就足够了,而不是去背这部分内容。 而且这部分相同的知识点面试官有多种提问方式,但是其中很多都是换汤不换药。我记得最多的问的是输入URL,到页面呈现出来,其中经历了什么?这道面试题的背后,涉及到了很多网络原理的知识,我们这篇文章不会全部分享到,而是先把由来和网络层次划分弄清楚,就完成了这篇文章的目的。 (本文同步发布于: http://www.52im.net/thread-2851-1-1.html ) 相关文章: 《 网络编程懒人入门(一):快速理解网络通信协议(上篇) 》(* 力荐) 《 网络编程懒人入门(二):快速理解网络通信协议(下篇) 》(* 力荐) 《 网络编程懒人入门(六):史上最通俗的集线器、交换机

https实现原理

爱⌒轻易说出口 提交于 2019-12-05 12:12:31
https详解 目前大部分大型网站已经全部切换到了 https 服务,所以很有必要了解整个 https 的原理, https 是如何保证信息安全的。这里希望大家对以下部分名词有一定的了解: 数字证书 是互联网通信中的身份标识(主要是用户身份信息和公钥),一般由CA中心颁发,既CA认证中心,或第三方权威机构。数字证书上通常包括:CA的签名,证书所有人的公钥,CA中心的签名算法,指纹以及指纹算法,证书的唯一编号,版本,有效期等。 数字签名、签名算法 对信息的摘要【通过 hash算法 / 摘要算法 / 指纹算法 计算的信息 摘要 / hash值 】使用签名算法进行加密,得到的密文就叫做数字签名 指纹、指纹算法/摘要算法【hash值计算】 对消息使用 hash算法/摘要算法 进行单向处理,获取一个固定长度的信息的 摘要/hash值 。 非对称加密 可以使用公钥、私钥分解进行对应的加密、解密的算法,即加解密使用的是不同的一堆秘钥。 对称加密 使用相同秘钥进行加解密的算法 公钥、私钥 非对称加解密的一对秘钥。 https服务部署过程和原理 了解 https 的原理,最好的方法就是走一遍流程,理论上的流程和原理通过以下几点来解释: 证书申请 证书信任 密文通信 证书的获取 https 的关键之一就是 ssl 证书,为了保证证书的安全有效性,在各类委员会/厂商之间合作

应用层协议原理(一)

半腔热情 提交于 2019-12-04 21:19:33
目录 应用层协议原理(一) 1. 网络应用程序体系结构 不同于网络体系结构 两种主流应用体系结构 2. 进程通信 客户和服务器进程 进程与计算机网络之间的接口 进程寻址 应用层协议原理(一) 分层体系结构的优点可以很好地在这里体现,应用层应用程序的开发不需要关心网络核心设备上运行的要求,因为网络核心设备只能对网络层及以下起作用,够不到应用层。 1. 网络应用程序体系结构 不同于网络体系结构 1.对于研发者来说,网络体系结构是固定的,其提供的服务集合能为之所用。 2.网络应用程序体系结构就是研发者设计的,规定如何在各种端系统上组织该应用程序。 两种主流应用体系结构 客户-服务器体系结构 服务器 具有固定周知的地址 ,且总时打开。 客户之间不直接通信,客户只通过服务器的 IP地址 与服务器通信。 解决一服务器对多用户的问题 :配备大量的数据中心,创建强大的虚拟服务器。 例如:Web,FTP,telnet,电子邮件等等。 P2P体系结构 不通过专门的服务器,是 对等方和对等方之间的通信 。 应用程序对位于数据中心的专用服务器又很小的依赖,甚至没有。 例如许多流量密集型应用:共享文件(Bit Torrent、对等方协助下载加速器(迅雷)等。 当然还有混合的,比如许多即时讯息应用 服务器跟踪用户的IP地址--->L客户-服务器体系结构 用户与用户之间的报文在主机之间直接发送---