文章目录 零、前言 一、网络层 理解路由选择 二、IP协议 三、网段划分 四、IP地址数量限制 五、私有和公网IP地址 NAT技术 六、路由 零、前言 本章主要讲解学习网络层的作用, 深入理解IP协议的基本原理...这个NSAP就是由对应网络所运行的网络层通信协议来定义的,在目前最常见的TCP/IP协议网络中,这个协议就是IP协议,对应的NSAP就是IP地址 在数据链路层中传输的是一个个以许多字节为单位的帧,在每个帧的帧头都有源节点的...这个字段主要是用来防止出现路由循环 8位协议: 表示上层协议的类型 16位头部校验和: 使用CRC进行校验, 来鉴别头部是否损坏 32位源地址和32位目标地址: 表示发送端和接收端 选项字段: 不定长,...而TCP/IP协议规定, 每个主机都需要有一个IP地址 实际上, 由于一些特殊的IP地址的存在, 数量远不足43亿,另外IP地址并非是按照主机台数来配置的, 而是每一个网卡都需要配置一个或多个IP地址...(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术,NAT实际上是为解决IPv4地址短缺而开发的技术
所以我们称,TCP提供数据跨网络传输的策略,而IP提供数据跨网络传输的能力,两者合在一起就一定能够保证数据包可靠的跨网络从主机A发送到主机B,这也就是为什么很多人叫TCP/IP协议的原因,因为这两个协议可以可靠的保证数据包跨网络送到目标主机...8位协议表示网络层的上层的协议类型,ICMP协议是0000 0001,TCP是0000 0110,UDP是0001 0001,通过8位协议就可以将有效载荷向上分用,交付给上层协议了。 2....……等等,而IP协议只负责跨网络发送数据即可。...(3)最直接的方法就是使用ipv6协议,提升ip地址数量的绝对上限,但现在由于种种原因,我国的ipv6技术还没办法推广到全球,但国内现在已经有很多的公司内部开始使用ipv6协议了,在访问公网的时候,再将...云服务器一般会配置多块网卡,以支持多个ip地址,例如在公网中使用的公网ip和腾讯内网中使用的内网ip 2.内网数据包发送到公网的过程 2.1 NAT技术 1.
本博文分享的是网络层的IP协议,从IP协议的基本概念、协议格式开始分析并分享出来。...IP协议的基本概念 不同于讨论TCP/UDP时只讨论通信主机之间的关系,在讨论IP协议中,会加上主机之间的网络来一起进行讨论分析。...在网络协议栈中,TCP负责决策,而IP负责执行,即IP有一种能力,能够较大概率地将数据从主机A跨网络地发送到主机B,通过这个能力,我们就知道了IP协议不提供可靠性。...通过上层协议的类型,知道上层是使用了UDP还是TCP,从而进行分用。...例如, 申请了一个B类地址,理论上一个子网内能允许6万5千多个主机。A类地址的子网内的主机数更多.然而实际网络架设中,不会存在一个子网内有这么多的情况。因此大量的IP地址都被浪费掉了。
简介: IP协议属于网络层协议,所有的TCP, UDP, ICMP, IGMP数据都通过IP数据报传输。IP提供了一种不可靠,无连接的数据包交付服务。依赖其他层的协议进行差错控制。...12.目的地址:也占32位,转换方法和来源IP地址一样。 13.选项:可变长的可选信息,最多包含40字节。选项字段很少被使用。可用的IP可选项有: a....IP广播或者组播地址),则交给协议字段或者IPv6头部的下一个头部字段指定的协议模块处理。...可用的B类网络有16382个,每个网络能容纳6万多个主机 。(2的16次方-2) 以子网掩码来进行区别:255.255.0.0 169.254.0.0到169.254.255.255是保留地址。...私有地址 所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址 在A类地址中,10.0.0.0到10.255.255.255是私有地址 在B类地址中,172.16.0.0到172.31.255.255
IP协议 IP(Internet Protocol,互联网协议)是 TCP/IP 协议族中最重要的协议之一,它是一种无连接、面向数据报的协议,负责将数据包从源节点传输到目的节点。...IP 协议具有以下特点: IP 协议是无连接的,即发送数据时不需要建立连接,也不需要在数据传输完成后关闭连接。 IP 协议是面向数据报的,即将每个数据包单独封装为一个数据报进行传输。...IP 协议是不可靠的,即不保证数据包的传输成功,也不保证数据包的传输顺序。 IP 协议是无状态的,即每个数据包的传输和路由是独立的,不受前后数据包的影响。...IP 协议通过 IP 地址唯一标识每个节点,并通过路由协议选择最佳路径进行数据包的转发和路由。...协议的版本,IHL(Internet Header Length)表示 IP 协议头的长度,Type of Service 表示服务类型,Total Length 表示数据包总长度,Identification
IPv4地址 不论什么网络设备能够经过一个网络接口卡(NIC)接入网,假定该设备要能够访问的其它设备,然后该卡必须有一个唯一的地址。候接入多个网络,相应地该设备就有多个地址。假设这个设备是主机的话。...路由器一般有多个网卡并接入多个网络,所以路由器也有多个地址,可是一般不把路由器称为multihomed主机。...特殊地址 网络地址 当一个IP地址中的主机ID的二进制位全为0时,该地址用来表示其网络ID所表示的网络。如192.168.1.0就表示网络ID为192.168.1的这个网络。...广播地址 当一个IP地址中的主机ID的二进制位全为1时,该地址用来表示其网络ID所表示的网络的广播地址。如192.168.1.255。...虽然我们能够在程序里面使用它,可是不能把它作为IP地址来分配给一台主机。 分类法的优缺点 长处:地址本身包括了类别信息,并不须要额外的信息来确定一个地址的网络ID和主机ID。
cd /etc/sysconfig/network-scripts/ 2.复制一份原有网卡的配置文件(ifcfg-eth0)并修改名称为ifcfg-eth0:0,如果要添加更多的IP,按照0:0、0:1...cp ifcfg-eth0 ifcfg-eth0:0 3.编辑网卡配置文件,将DEVICE对应信息改成文件名对应的名称并且将IPADDR信息改成要绑定的新IP,如:DEVICE=eth0:0、IPADDR...=新ip #使用vim进行编辑配置文件或者直接使用SFTP软件进入对应网卡配置目录直接进行编辑。...vim ifcfg-eth0:0#编辑ifcfg-eth0:0文件DEVICE=eth0:0TYPE=Ethernet BOOTPROTO=staticIPADDR=新ip NETMASK=255.255.255.0GATEWAY...=自己原网关IP地址 DNS1=114.114.114.114DNS2=8.8.8.8ONBOO=yes 4.重启网卡使配置生效 service network restart 5.最后使用ping命令验证一下是否绑定成功
Linux网络:HTTP协议 零、前言 HTTP协议 1、认识URL 2、urlencode和urldecode 3、HTTP协议格式 1)HTTP请求 2)HTTP响应 4、HTTP的方法 5、HTTP...的状态码 6、HTTP常见的Header 7、Cookie和Session 零、前言 在此之前我们对网络套接字编程有了一定的基础和了解,接下来我们将自顶向下学习Linux网络分层协议栈,透过对协议栈的深入学习从而加深我们对网络的理解...地址标识公网内的一台主机,但IP地址是一串数字并不适合用户使用,为了方便用户从而有了具有更好的自描述性的域名 实际上域名和IP地址是等价的,在计算机当中使用的时候既可以使用域名,也可以使用IP地址...ping命令获取域名解析后的IP地址: 服务器端口号 HTTP协议和套接字编程一样都是位于应用层的,进行网络数据传输时需要主动确定服务端的ip和port 常用的服务与端口号之间的对应关系都是明确的...从这里的路径分隔符,我们可以分辨服务器的平台:Linux的路径分隔符是/,Windows的路径分隔符是\ 查询字符串 用于获取资源时,向服务器端传递参数,可以一个或多个,多个则以”&”连接,通常以“
HTTPS 零、前言 一、HTTPS协议 二、加密方式 三、中间人攻击 四、PKI 五、数字签名技术 零、前言 本章是继HTTP协议后的一篇关于HTTPS协议的拓展 一、HTTPS协议 概念及介绍...: HTTP请求无论是用GET方法还是POST都是不安全的,使用HTTP协议传输的数据都是在网络里面裸奔(可以通过抓包工具抓到) HTTPS是身披SSL外壳的HTTP,是一种通过计算机网络进行安全通信的传输协议...采用公钥和私钥来的加密方法,用公钥进行加密,用私钥进行解密,这种加密方法称为非对称加密(公钥是进行公开的,私钥是自己进行私有的) 示图: 注意: 在数据传输的过程中,使用对称加密解密比非对称加密解密的网络通信效率高...;而对协商秘钥的内容进行加密也不太适合,毕竟对方没有拿到秘钥无法进行解密 所以要高效安全的网络通信,使用非对称式加密进行秘钥协商,使用对称式加密进行数据传输 秘钥协商过程: 注意: server...公钥只是一串数字,需要有一种手段去认证公钥的真正主人,解决方案就是PKI 公开密钥算法中,所有的网络通信都会存在中间人攻击,这是务必要记住的一点,在HTTPS协议中必须引入PKI技术解决身份验证的问题,
Linux网络-MAC协议 零、前言 一、数据链路层 二、以太网协议 1、认识以太网 2、以太网原理 3、以太网格式 4、MAC地址 5、认识MTU 三、ARP协议 四、RARP协议 零、前言 本章主要讲解...Linux网络中的数据链路层-以太网协议 一、数据链路层 示图: 数据传输大部分是跨网段进行的,而多个主机共同组成一个网段,不同的网段通过路由器连接(路由器同样也是主机),所以数据跨网段传输实质就是数据在主机间传输...,但是IP屏蔽了底层网络的差异(数据进行路由选择时需要通过IP层,IP层根据分发的局域网的技术进行对应的封装),对于网络通信双方的IP层及其往上的协议来说,它们并不需要关心底层具体使用的是哪种局域网技术...,数据包长度大于拨号链路的MTU了,则需要对数据包进行分片(fragmentation) MTU对IP协议的影响: 由于数据链路层MTU的限制, 对于较大的IP数据包要进行分包 将较大的IP包分成多个小包...MTU对UDP协议的影响: 一旦UDP携带的数据超过1472(1500 - 20(IP首部) - 8(UDP首部)),那么就会在网络层分成多个IP数据报这多个IP数据报有任意一个丢失,都会引起接收端网络层重组失败
网络传输模型 基本模型 ? 层次划分 ? 需要说明的是在网络传输层TCP可靠而UDP不可靠 传输层说明 说明一: 作为Python开发,咱们都是在应用层的HTTP协议之上进行开发的。...说明二: 网络编程,主要是了解我们Python能编写的最低的层次, 即传输层的基本情况。 说明三: HTTP协议是基于TCP之上的 因此我们需要了解TCP连接的基本过程。...TCP协议 TCP和UDP的区别: 可靠性:TCP是一种可靠的连接,UDP是不可靠的连接。 连接性:TCP面向连接,UDP面向无连接。...HTTP协议 一次连接传一次数据;Websocket 一次连接传多次数据 ? IP地址与端口 IP地址被用来给Internet上的电脑一个编号。大家日常见到PC上都需要有IP地址,才能正常通信。...我们可以把“个人电脑”比作“一台电话”,那么“IP地址”就相当于“电话号码”,而Internet中的路由器相当于“程控式交换机” 端口号 ?
前言 在Linux内核上,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等功能的一个子系统,这个子系统包含一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集...多个连续IP操作 1、拆分成多条命令运行 iptables -A INPUT 192.168.122.2 -j ACCEPT iptables -A INPUT 192.168.122.3 -j ACCEPT...2、对一个IP段的IP进行访问控制,可以根据IP/MASK的形式进行控制 iptables -A INPUT 192.168.122.0/24 -j ACCEPT 这种方式需要针对IP范围,计算出指定的源码...(虽然很多使用为了方便都是使用这种方法,但是过多地授权会存在安全隐患) 3、iptables有很多个模块,其中iprange就是用来专门处理连续IP段的访问控制的 iptables -A INPUT -...以上所述是小编给大家介绍的Linux使用iptables限制多个IP访问你的服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
说明: 单网卡绑定两个IP地址,电信和联通,目的:是为了当电信出故障联通正常使用。...255.255.255.0 192.168.1.1 … … … 1、linux的网络设备的存储路径是/etc/sysconfig/network-scripts进入目录: [root@localhost...ifcfg-eth0:0 DEVICE="eth0:0" //修改设备的名称 BOOTPROTO="static" //[none|static|bootp|dhcp](引导时不使用协议...|静态分 配|BOOTP协议|DHCP协议) IPADDR=172.188.174.20 //修改IP地址 NETMASK=255.255.255.0 //子网掩码 GATEWAY...7、测试当eth0 网络中断eth0:0是否正常使用 C:\Users\Administrator>ping 116.18.176.19 正在 Ping 116.18.176.19 具有 32 字节的数据
Linux网络-UDP/TCP协议详解 零、前言 一、UDP协议 二、TCP协议 1、应答机制 2、序号机制 3、超时重传机制 4、连接管理机制 三次握手 四次挥手 5、理解CLOSE_WAIT状态 6...,为了提高数据传输的效率,允许一方向另一方连续发送多个报文数据,只要保证发送的每个报文都有对应的响应消息就行了 在连续发送多个报文时,由于各个报文在进行网络传输时选择的路径可能是不一样的,因此这些报文到达对端主机的先后顺序也就可能和发送报文的顺序是不同的...,由于TCP协议的重传机制,执行被动关闭的一方(server)将会重发其FIN,在该FIN到达client之前,client必须维护这条连接状态,也就说这条TCP连接所对应的资源(client方的local_ip...我们关闭这个连接,过一段时间后在相同的IP地址和端口之间建立另一个连接。...: 网络拥塞时影响的不只是一台主机,而几乎是该网络当中的所有主机,此时所有使用TCP传输控制协议的主机都会执行拥塞避免算法;拥塞控制看似只是谈论的一台主机上的通信策略,实际这个策略是所有主机在网络崩溃后都会遵守的策略
其实我们以前学的 TCP 协议,给 IP 协议提供的是可靠性,如果发送失败了,TCP 的超时重传策略就可以支持重新发送,继续传给网络层让 IP 协议发送。...所以,IP 协议的本质工作就是提供一种能力,将数据跨网络从主机A发送到主机B。...这只是在多个局域网中的传输,我们还可以把这多个局域网看做成一个广域网,那么每一个广域网与广域网之间也可以用路由器连接起来!此时就可以进行各种跨网络传输了!...8 位协议 表示上层协议的类型,即要把 IP 的有效载荷交付给上层的哪一个协议 16 位头部校验和 使用CRC进行校验, 来鉴别头部是否损坏。...(3)全球网络 那么真实的全球网络情况就是,使用公网 IP 构建全球网络,以及国内网络,到了市级之后,就不能继续使用公网 IP 进行划分了,所以就接入到私网中!
一、IP 1、IP包头的格式 IPv4包头长度通常为20字节,但是如果可选项中有信息,可能会超过20字节 1.jpg 版本:目前使用一般为IPv4 首部长度:定义了整个IPv4数据包头部的长度,默认...TTL:生命周期字段,经过一个路由器减1,为0时,数据包丢弃,为了放置一个数据包在网络中无限的循环下去。 ...协议号:协议字段,用来标识封装的上层数据是UDP还是TCP,UDP是17,TCP是6 首部校验和:用来做IP头部正确性检测,但不包含数据部分。...,数据在数据链路层传输的时候会加一个帧的头部,里面包含MAC地址,解封的过程也需要MAC地址 3、ARP原理 MAC地址是物理地址,只在本地网络中定义主机 IP地址逻辑上的,他可以定义全局地址 2.jpg...此ARP请求数据包里包括源主机的IP地址、硬件地址、以及目的主机的IP地址。网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址一致。
前言 Linux内核网络 UDP 协议层通过调用 ip_send_skb 将 skb 交给 IP 协议层,本文通过分析内核 IP 协议层的关键函数来分享内核数据包发送在 IP 协议层的处理,并分享了监控...出于讨论目的,我们假设 nf_hook 返回 1,表示调用者(在这种情况下是 IP 协议层)应该自己发送数据包。 3.2 目的(路由)缓存 dst 代码在 Linux 内核中实现协议无关的目标缓存。...以上两种情况,最后都会到 dev_queue_xmit,它将 skb 发送给 Linux 网络设备子系统,在它 进入设备驱动程序层之前将对其进行更多处理。...最后调用 dev_queue_xmit 将 skb 传递给 Linux 网络设备子系统。...总结 Linux内核网络数据包发送时,主要用到 ip_send_skb、 ip_local_out、ip_output、ip_finish_output、ip_finish_output2、 dst_neigh_output
1.网络层次划分 将所有的协议综合起来,各个层次的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、链路层、网络层、传输层和应用层。这个划分方法称为TCP/IP五层协议。...除此之外,还有OSI七层模型和TCP/IP四层协议。它们之间的对应关系如下: 当然比较常用的是TCP/IP五层协议。 1.1 应用层 应用层是网络应用程序以及它们的应用层协议存留的地方。...应用层协议分布在多个端系统上,一个端系统中的应用程序使用协议与另外一个端系统中的应用程序交换信息的分组。 我们把位于应用层的信息分组称为报文。...网络层包括著名的IP协议,该协议定义了在数据报中的各个字段以及端系统和路由器如果作用于这些字段。网络层也包括决定路由的路由选择协议,它使得数据报根据该路由从源传输到目的地。...这意味着,路由器能够实现IP协议(即第三层协议),而链路层交换机则不能,于是链路层交换机不能识别IP地址,但是能够识别第二层地址,比如MAC地址。
目的 多个网卡想单独使用的话可以使用不同的IP绑定,但是这样比较麻烦,也可以使用相同的IP,这样一个设备虽然有多个网卡,但只有一个IP,可以将需要的程序socket绑定到固定的网卡。...这样虽然是相同的IP,但是可以独立使用了。...initUdpBroadCastSocket_ethyzd(); while(1) { send_len = sendUdp(ETH0_bindtest1, BROADCAST_IP..., testyzd1, recv_buffer1, sizeof(recv_buffer1)); send_len = sendUdp(ETHyzd_bindtest1, BROADCAST_IP...(另一个是虚拟的,实际发送到相应的地方去了),可见是可以相同IP独立使用的。
前言 TCP/IP协议是当今互联网世界中最重要的网络协议之一,它是网络通信的基石,为数据在网络中的传输提供了可靠性和有效性。本文将深入探讨TCP/IP协议的重要性、基本原理以及其在网络通信中的作用。...TCP/IP协议族由多个协议组成,其中两个最重要的协议是TCP(Transmission Control Protocol)和IP(Internet Protocol)。...最重要的协议是IP(Internet Protocol),它使用IP地址对数据包进行寻址,确保数据能够从源主机传输到目标主机。...TCP/IP协议的重要性 TCP/IP协议的重要性体现在多个方面,主要包括以下几点: 互联网通信的基础: TCP/IP协议是互联网通信的基础协议。...路由和寻址: IP协议在网络层负责数据的路由和寻址。它使用IP地址标识网络中的设备,确保数据能够正确地从源地址传输到目标地址。这为互联网的可扩展性提供了基础。
领取专属 10元无门槛券
手把手带您无忧上云