报文交换

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头部

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

计算机网络基础知识

我的未来我决定 提交于 2019-11-29 16:05:33
1,TCP/IP , OSI,五层协议的体系结构,以及各层协议 TCP/IP分层(4层) :网络接口层、网际层、运输层、应用层。 OSI分层 (7层) :物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 五层协议 (5层) :物理层、数据链路层、网络层、运输层、应用层。 每一层的协议如下 : 物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器,网关) 数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机) 网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、 (路由器) 传输层:TCP、UDP、SPX 会话层:NFS、SQL、NETBIOS、RPC 表示层:JPEG、MPEG、ASII 应用层:FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS 每一层的作用如下 : 物理层: 通过媒介传输比特,确定机械及电气规范(比特Bit) 数据链路层 :将比特组装成帧和点到点的传递(帧Frame) 网络层 :负责数据包从源到宿的传递和网际互连(包PackeT) 传输层 :提供端到端的可靠报文传递和错误恢复(段Segment) 会话层 :建立、管理和终止会话(会话协议数据单元SPDU) 表示层 :对数据进行翻译、加密和压缩(表示协议数据单元PPDU) 应用层 :允许访问OSI环境的手段(应用协议数据单元APDU)

TCP/IP

﹥>﹥吖頭↗ 提交于 2019-11-29 12:31:50
1、TCP/IP模型 TCP/IP协议通信的过程其实就是数据入栈出栈的过程。入栈就是数据发送方每层不断的封装首部和尾部,添加一些传输的信息,保证能传输到目的地、出站就是数据接收方每层不断的拆除首部和尾部,得到最终的传输数据。 下图是以http协议来说明: 二、数据链路层 物理层负责的是0、1比特流与物理设备电压高低、光的闪灭之间的互换。 数据链路层负责的就是将这些0、1序列划分为数据帧,然后从一个节点(主机)传输到另一个节点(主机)。这些节点是通过MAC来唯一标识的(MAC,物理地址,一个主机有一个MAC地址)。 封装成帧:把网络层数据报加头和尾,封装成帧,帧头包括了源MAC地址和目的MAC地址; 透明传输:0比特填充、转义字符; 可靠传输:在出错率很低的链路上很少用(因为一根线连着彼此,当然不会出错),在 无线链路WLAN 会保证可靠传输; 差错检测(CRC):接受者检测错误,如果发现错误,就丢弃该帧; 三、网络层 1、IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGMP的数据 都以IP数据格式 传输。 要注意的是, IP不是可靠的协议 ,这是说,IP协议 没有提供一种数据未传达以后的处理机制 ,这被认为 是上层协议:TCP或UDP要做的事情 。 1.1 IP地址 数据链路层中通过MAC地址来识别两个不同的节点,在IP层(网络层)通过IP地址来识别

十五章、实体与编码

大憨熊 提交于 2019-11-29 12:09:00
1 报文与实体 如果将HTTP对内容的传输比喻成实际生活中一些货物的运输的化。那HTTP报文就相当于是用于运输货物的“箱子”,而实体内容则是我们真正需要运输的“货物”。所以实体也就是被封装在了报文当中。 现实货物运输中,一般箱子上也会有一些描述信息,用于对运输的货物进行描述说明。HTTP报文中也是一样,也会有相应的实体首部,对实体内容进行描述说明,以便我们的接收方能正确处理实体内容。在HTTP/1.1中常用的实体首部如下所示: Content-Type:实体内容的MIME类型 Content-Length:实体内容的长度或大小 Content-Language:传输的实体内容最匹配的语言类型 Content-Encoding:对实体数据所做的变换(如:压缩) Content-Location:实体数据的一个备用位置 Content-Range:将实体分为几个部分进行传输的时候,说明该部分实体是属于哪个部分 Content-MD5:内容数据的校验和 Last-Modified:所传输内容最近一次创建或者修改时间 Expires:数据的失效时间 Allow:该资源所允许的请求方法(如:GET, HEAD等) ETag:该份实体数据的唯一验证码 Cache-Control:实体内容缓存有关的控制 2 实体大小(长度)控制 Content-Length首部指示出报文中实体主体的字节大小

C# Socket编程(1)基本的术语和概念

两盒软妹~` 提交于 2019-11-29 11:11:22
  计算机程序能够相互联网,相互通讯,这使一切都成为可能,这也是当今互联网存在的基础。那么程序是如何通过网络相互通信的呢?这就是我记录这系列的笔记的原因。C#语言从一开始就是为了互联网而设计的,它 为实现程序的相互通信提供了许多有用API,这类应用编程接口被称为套接字(Socket) 。在开始学习C# Socket之前我们需要先来了解一下基本的术语和概念。 阅读目录:    1.计算机网络     2.分组报文     3.协议      3.1 IP协议      3.2 TCP协议      3.2 UDP协议    4.网络地址      4.1 回环地址     5.DNS和本地配置数据库    6.客户端和服务器    7.什么是Socket 1.计算机网络   计算机网络 由一组通过 通信信道(Communication channel) 相互连接的机器组成。这些机器被称为: 主机(hosts) 和 路由器(routers) : 通信信道 —— 是将字节序列从一个主机传输到另一个主机的一种手段(有线、无线(WiFi)等方式)。 主机 —— 作用是运行程序的计算机。 路由器 —— 作用是将信息从一个通信信道传递或转发到另一个通信信道。  TCP/IP网络通信流程图: 2.分组报文 分组报文 —— 在网络环境中由程序创建和解释的字节序列。 3.协议    协议

西门子S7以太网通讯协议

浪尽此生 提交于 2019-11-29 10:02:43
S7以太网协议属于TCP/IP协议族的一种,下图为S7以太网协议在ISO-OSI参考模型中的位置。 通过WireShark抓包,可以看出S7以太网协议的模型: ISO-OSI参考模型、TCP/IP模型及S7以太网协议模型对比 ISO-OSI参考模型 TCP/IP模型 S7以太网协议模型 7-应用层 4-应用层 6-S7 Communication 6-表示层 5- COTP(TSAP) RFC1006 5-会话层 4-TPKT 4-传输层 3-传输层 3-TCP(102端口) 3-网络层 2-网络互连层 2-IP 2-数据链路层 1-网络接口层 1-工业以太网 1-物理层 第5层(相对于ISO-OSI参考模型):TPKT(ISO Transport Service ontop of the TCP/ ISO传输服务通过TCP),介于TCP和COTP协议之间。这是一个传输服务协议,主要用来在COTP和TCP之间建立桥梁,包含了上层协议数据包的长度。 第6层(相对于ISO-OSI参考模型):COTP(Connection OrientedTransport Protocol/面向连接的传输协议),比较TCP与COTP两种协议,因为它们都是用于通过网络可靠地传输用户数据,基于数据流的与基于数据包的:COTP将数据包从一个用户传输到另一个用户,所以接收者将获得与发送者传输完全相同的数据边界

Vxlan

风格不统一 提交于 2019-11-28 22:42:05
来自: http://www.h3c.com/cn/d_201811/1131076_30005_0.htm 解读VXLAN 1 起源-Origin 传统的交换网络解决了二层的互通及隔离问题,这个架构发展了几十年已经相当成熟。而随着云时代的到来,却渐渐暴露出了一些主要的缺点。 Ÿ 多租户环境和虚拟机迁移 为了满足在云网络中海量虚拟机迁移前后业务不中断的需要,要求虚拟机迁移前后的IP不能变化,继而要求网络必须是大二层结构。传统的二层网络技术,在链路使用率、收敛时间等方面都不能满足需要。 Ÿ VLAN的局限 随着云业务的运营,租户数量剧增。传统交换网络用VLAN来隔离用户和虚拟机,但理论上只支持最多4K个标签的VLAN,已无法满足需求。 2 竞争-Competition 为了解决上述局限性,不论是网络设备厂商,还是虚拟化软件厂商,都提出了一些新的Overlay解决方案。 网络设备厂商,基于硬件设备开发出了EVI(Ethernet Virtualization Interconnect)、TRILL(Transparent Interconnection of Lots of Links)、SPB(Shortest Path Bridging)等大二层技术。这些技术通过网络边缘设备对流量进行封装/解封装,构造一个逻辑的二层拓扑,同时对链路充分利用、表项资源分担

【转】ICMP协议

只谈情不闲聊 提交于 2019-11-28 19:15:36
1.ICMP出现的原因 在IP通信中,经常有数据包到达不了对方的情况。原因是,在通信途中的某处的一个路由器由于不能处理所有的数据包,就将数据包一个一个丢弃了。或者,虽然到达了对方,但是由于搞错了端口号,服务器软件可能不能接受它。这时,在错误发生的现场,为了联络而飞过来的信鸽就是ICMP 报文。在IP 网络上,由于数据包被丢弃等原因,为了控制将必要的信息传递给发信方。ICMP 协议是为了辅助IP 协议,交换各种各样的控制信息而被制造出来的。 制定万维网规格的IETF 在1981 年将RFC7922作为ICMP 的基本规格整理出来了。那个RFC792 的开头部分里写着“ICMP 是IP 的不可缺少的部分,所有的IP 软件必须实现ICMP协议。也是,ICMP 是为了分担IP 一部分功能而被制定出来的。 2.ICMP的用途 在RFC,将ICMP 大致分成两种功能:差错通知和信息查询。 [1]给送信者的错误通知;[2]送信者的信息查询。 [1]是到IP 数据包被对方的计算机处理的过程中,发生了什么错误时被使用。不仅传送发生了错误这个事实,也传送错误原因等消息。 [2]的信息询问是在送信方的计算机向对方计算机询问信息时被使用。被询问内容的种类非常丰富,他们有目标IP 地址的机器是否存在这种基本确认,调查自己网络的子网掩码,取得对方机器的时间信息等。 3.ICMP作为IP的上层协议在工作

HTTP协议基础

女生的网名这么多〃 提交于 2019-11-28 18:52:12
该篇用来记录HTTP协议的相关基础知识,以免遗忘,主要是加深对HTTP协议的请求方式及响应状态码的印象,若有遗忘以便查看。 简介 协议是指网络中两台计算机之间通信所需共同遵守的规定或规则。 HTTP协议,即超文本传输协议(Hypertext transfer protocol),是一种规定了客户端和服务端之间的数据传输格式的协议。 HTTP协议采用了请求/响应模型。 工作原理 HTTP基于客户/服务器模式,且面向连接。 典型的HTTP事务处理流程如下: (1)客户端与服务器建立连接; (2)客户端通过TCP套接字向服务器提出请求报文; (3)服务器接收请求,并根据请求返回相应的HTTP响应作为应答; (4)客户与服务器关闭连接; (5)客户端浏览器解析HTML内容。 客户端与服务器之间的一次性连接。 HTTP连接是一种一次性连接,限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中大量用户,且只能提供有限个连接,因此服务器不会让一个连接长时间处于等待状态,及时地释放连接可以大大提高服务器的执行效率。 HTTP是一种无状态协议。 即服务器不保留与客户端交互时的任何状态,减轻了服务器的记忆负担,能保持较快的响应速度。也就是说每次HTTP请求都是独立的,任意两个请求间没有必然联系