icmp

TCP/IP基础(三)

て烟熏妆下的殇ゞ 提交于 2020-02-02 14:06:18
文章目录 TCP/IP基础(三) -- IP协议相关技术 DNS 域名的构成 DNS查询 ARP ARP的工作机制 ICMP ICMP消息类型 NAT NAT定义 NAT的工作机制 NAT的潜在问题 TCP/IP基础(三) – IP协议相关技术 DNS 由于IP地址不便记忆,在最开始的时候,人们用一种叫做hosts的数据库文件来记录IP和主机名的关系。在互联网的起源ARPANET中,起初由互联网信息中心(SRINIC)整体管理一份hosts文件。如果新增一台计算机接入到ARPANET网或者已有的某台计算机要进行IP地址变更,中心的这个hosts文件就得更新,而其他计算机则不得不定期下载最新的hosts文件才能正常使用网络。然而,随着网络规模的不断扩大、接入计算机的个数不断增加,使得这种集中管理主机名和IP地址的登录、变更处理的可行性逐渐降低。后面这个hosts文件逐渐演变成DNS系统。 域名的构成 域名是指为了识别主机名称和组织机构名称的一种具有分层的名称。 例如,仓敷艺术科学大学的域名如下:kusa.ac.jp kusa 表示仓敷艺术科学大学(Kurashiki University ofScience and the Arts)固有的域名。 ac 表示大学(academy)或高等专科以及技术专门学校等高等教育相关机构。 jp 则代表日本(japan)。 在使用域名时

ping命令的作用和原理

一个人想着一个人 提交于 2020-02-01 00:54:10
目录 一、「ping」命令的作用和原理 二、什么是「 ICMP 」 一、「ping」命令的作用和原理 简单来说,「ping」是用来探测本机与网络中另一主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建立起连接。ping是定位网络通不通的一个重要手段。 ping 命令是基于 ICMP 协议来工作的,「 ICMP 」全称为 Internet 控制报文协议( Internet Control Message Protocol)。ping 命令会发送一份ICMP回显请求报文给目标主机,并等待目标主机返回ICMP回显应答。因为ICMP协议会要求目标主机在收到消息之后,必须返回ICMP应答消息给源主机,如果源主机在一定时间内收到了目标主机的应答,则表明两台主机之间网络是可达的。 举一个例子来描述「ping」命令的工作过程: 假设有两个主机,主机A(192.168.0.1)和主机B(192.168.0.2),现在我们要监测主机A和主机B之间网络是否可达,那么我们在主机A上输入命令:ping 192.168.0.2 此时,ping命令会在主机A上构建一个 ICMP的请求数据包(数据包里的内容后面再详述),然后 ICMP协议会将这个数据包以及目标IP(192.168.0.2)等信息一同交给IP层协议。 IP层协议得到这些信息后,将源地址(即本机IP)、目标地址(即目标IP

关于 /proc/sys/net/ipv4/下 文件的详细解释

瘦欲@ 提交于 2020-01-27 01:46:17
关于 /proc/sys/net/ipv4/下 文件的详细解释: 1) /proc/sys/net/ipv4/ip_forward 该文件表示是否打开IP转发。 0,禁止 1,转发 基本用途:如VPN、路由产品的利用; 出于安全考虑,Linux系统 默认是禁止数据包转发 的。所谓 转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包 。这通常就是路由器所要实现的功能。 配置Linux系统的ip转发功能,首先保证硬件连通,然后打开系统的转发功能 [root@xuegod70 ~]# less /proc/sys/net/ipv4/ip_forward,该文件内容为0,表示禁止数据包转发,1表示允许,将其修改为1。 [root@xuegod70 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward 修改文件内容, 重启网络服务或主机后效果不再 。若要其自动执行,可将命令echo "1" > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES" 2) /proc/sys/net/ipv4/ip_default_ttl

TCP/IP协议详解

让人想犯罪 __ 提交于 2020-01-25 10:48:40
1、TCP/IP协议栈 四层模型 TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 网络接口层 模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。 互联层 互联协议将数据包封装成internet数据包并运行必要的路由算法。 这里有四个互联协议: 网际协议IP:负责在主机和网络之间寻址和路由数据包。 地址解析协议ARP:获得同一物理网络中的硬件主机地址。 网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。 互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。 传输层 传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 两个传输协议: 传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。 应用层 应用程序通过这一层访问网络。 网络接口技术 IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。 串行线路协议 TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。

InetPton() converts any IP to 1.0.0.0

我是研究僧i 提交于 2020-01-25 01:59:08
问题 I am trying to send a ping to some IP through ICMP but the InetPton() function, which is suppose to convert string IPs into a binary form, is always returning the same ip: "1.0.0.0" . My code looks like this: short ip[4] = { 192, 168, 1, 2 }; bool checkIP() { HANDLE hIcmpFile; unsigned long ipaddr = INADDR_NONE; DWORD dwRetVal = 0; char SendData[32] = "Data Buffer"; LPVOID ReplyBuffer = NULL; DWORD ReplySize = 0; std::wostringstream strIP; strIP << ip[0] << "." << ip[1] << "." << ip[2] << "."

linux-ubuntu关闭防火墙

自闭症网瘾萝莉.ら 提交于 2020-01-24 02:48:28
SYNOPSIS iptables [-t table] {-A|-C|-D} chain rule-specification ip6tables [-t table] {-A|-C|-D} chain rule-specification iptables [-t table] -I chain [rulenum] rule-specification iptables [-t table] -R chain rulenum rule-specification iptables [-t table] -D chain rulenum iptables 是linux下一款强大的防火墙,在不考虑效率的情况下,功能强大到足能够替代大多数硬件防火墙。可是强大的防火墙假设应用不当,可能挡住的可不光是那些潜在的攻击,还有可能是你自己哦。 这个带来的危害对于普通的个人PC来说可能无关紧要。可是想象一下,假设这是一台server,一旦发生这种情况。不光是影院正常的服务。还须要到现场去恢复。这会给你带来多少损失呢? ​ 所以我想说的是,当你敲入每个iptables 相关命令的时候都要万分小心。 1.应用每个规则到DROP target时,都要细致检查规则。应用之前要考虑他给你带来的影响。 2.在redhat中我们能够使用service iptables stop来关闭防火墙

计算机网络网络层IP协议

半城伤御伤魂 提交于 2020-01-23 23:06:02
本文是在学习谢希仁编著的《计算机网络》一书的网络层相关知识后,对某些个人认为是重点内容的部分做出的总结。 本文的将涉及:IP地址划分,CIDR,ARP,IPv4数据报格式,IP层转发分组的过程,ICMP,路由选择协议,IPv6,MPLS. 1. IP地址划分 首先要清楚,IP地址是给互联网上每一台主机或路由器的每一个接口分配一个在全世界范围内是唯一的32位的标识符,而且是一个软件地址(有别于MAC地址)。 IP地址由互联网名字和数字分配机构ICANN(Internet Corporation for Assigned Names and Numbers)进行分配。 IP地址呈现两级结构,第一级为网络号,由IP地址管理机构分配,第二级为主机号,由运行商自行分配。IP地址的结构可以记为: IP地址 ::= { <网络号>, <主机号> } 传统的IP地址被划分为5类: A, B ,C ,D ,E类。前三类为单播地址,D类为多播地址,E类保留为以后用。每类IP地址的格式详见《计算机网络》(谢希仁著,第七版) P119,这里不多阐述,事实上,由于近年来已经广泛地使用了无分类的IP地址进行路由选择,A, B, C类地址的区分已经成为了历史。这里仅介绍一下IPv4中某些特殊的地址: 网络号 : 主机号 源地址使用 : 目的地址使用 : 意义 0 : 0 可 : 不可 :

UNIX网络编程--IPV4 IPV6 ICMPV4 ICMPV6

☆樱花仙子☆ 提交于 2020-01-22 16:11:55
一、IPV4首部 IP层提东无连接不可靠的数据报递送服务。它会尽力把IP数据报递送到指定的目的地,然而并不保证他们一定到达,也不保证他们的到达顺序与发送顺序一致,还不保证每个IP数据报只到达一次。任何期望的可靠性(既五差错按顺序不重复地递送用户数据)必须由上层提供支持。对于TCP应用程序而言,这有TCP本身完成,对于UDP应用程序而言,这得由应用程序完成。IP层最重要的功能之一是路由。每个IP数据报包含一个源地址和一个目的地址。 1)4位版本字段值为4. 2)首部长度字段是包括任何选项在内的整个IP首部的32位字长度。这个4位字段的最大取值为15,因而IP首部的最大长度为60个字节。扣除首部拱顶部分所占据的20字节外,它最多允许40个字节的选项。 3)历史性的8位服务类型字段被替换为两个字段:6位区分服务码点和2位显示拥塞通知 4)16位总长度字段是包括IPV4首部在内的整个IP数据报的字节长度。数据报中的数据量就是笨字段减掉4乘以首部长度(首部长度都是32位或4字节的整数倍)本字段是必需的,因为有些数据链路要求把帧垫补成某个最小长度(例如以太网),因而有效IP数据报的大小有可能小于数据链路的最小长度。 5)16位标识字段由IP模块为每个IP数据报设置成不同的值,用于分片和重组。该字段必须就源IPV4地址

Linux双网卡绑定

别等时光非礼了梦想. 提交于 2020-01-20 23:52:43
1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。可以通过以下命令确定内核是否支持 bonding: 1 2 3 [root@lixin network-scripts] #cat /boot/config-2.6.32-573.el6.x86_64 |grep -i bonding CONFIG_BONDING=m [root@lixin network-scripts] # 2 bond的模式 bond的模式常用的有两种: mode=0(balance-rr) 表示负载分担round-robin,并且是轮询的方式比如第一个包走eth0,第二个包走eth1,直到数据包发送完毕。 优点:流量提高一倍 缺点:需要接入交换机做端口聚合,否则可能无法使用 mode=1(active-backup) 表示主备模式,即同时只有1块网卡在工作。 优点:冗余性高 缺点:链路利用率低,两块网卡只有1块在工作 bond其他模式: mode=2(balance-xor)(平衡策略) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy,需要交换机配置port

proc/sys/net/ipv4/下各项的意义

て烟熏妆下的殇ゞ 提交于 2020-01-19 05:58:12
/proc/sys/net/ipv4/icmp_timeexceed_rate 这个在traceroute时导致著名的“Solaris middle star”。这个文件控制发送ICMP Time Exceeded消息的比率。 /proc/sys/net/ipv4/igmp_max_memberships 主机上最多有多少个igmp (多播)套接字进行监听。 /proc/sys/net/ipv4/inet_peer_gc_maxtime 求 助: Add a little explanation about the inet peer storage? Minimum interval between garbage collection passes. This interval is in effect under low (or absent) memory pressure on the pool. Measured in jiffies. /proc/sys/net/ipv4/inet_peer_gc_mintime 每一遍碎片收集之间的最小时间间隔。当内存压力比较大的时候,调整这个间隔很有效。以jiffies计。 /proc/sys/net/ipv4/inet_peer_maxttl entries的最大生存期。在pool没有内存压力的情况下(比如