iNet

socket概述和字节序、地址转换函数

旧巷老猫 提交于 2020-11-15 14:23:17
一、什么是socket socket可以看成是用户进程与内核网络协议栈的编程接口。 socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。 socket API是一层抽象的网络编程接口,适用于各种底层网络协议,如IPv4、IPv6,以及以后要讲的UNIX Domain Socket。然而,各种网络协议的地址格式并不相同,如下图所示: IPv4和IPv6的地址格式定义在netinet/in.h中,IPv4地址用sockaddr_in结构体表示,包括16位端口号和32位IP地址,如下所示: struct sockaddr_in { sa_family_t sin_family; /* address family: AF_INET */ in_port_t sin_port; /* port in network byte order */ struct in_addr sin_addr; /* internet address */ char sin_zero[8]; /* pad bytes, set to zero is ok */ }; /* Internet address. */ struct in_addr { uint32_t s_addr; /* address in network byte order */ };

Linux网络状态工具ss命令使用详解

人盡茶涼 提交于 2020-11-14 01:29:03
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息: 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xserver的本地进程 使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤 所有的state FIN-WAIT-1 tcpsocket连接以及更多 很多流行的 Linux 发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat -ant/lnt等. 展示他之前来做个对比,统计服务器并发连接数 1 2 3 4 5 6 7 8 9 10 11 12 13 netstat # time netstat -ant | grep EST | wc -l 3100 real 0m12.960s user

Linux网络状态工具ss命令使用详解

自闭症网瘾萝莉.ら 提交于 2020-11-13 20:34:38
ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息: 所有的TCP sockets 所有的UDP sockets 所有ssh/ftp/ttp/https持久连接 所有连接到Xserver的本地进程 使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤 所有的state FIN-WAIT-1 tcpsocket连接以及更多 很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令替代netstat部分命令,例如netsat -ant/lnt等. 展示他之前来做个对比,统计服务器并发连接数 netstat # time netstat -ant | grep EST | wc -l 3100 real 0m12.960s user 0m0.334s sys 0m12.561s # time ss

NFS-heartbeat-drbd模拟NFS高可用

一曲冷凌霜 提交于 2020-11-13 01:04:50
NFS介绍:   NFS(Network File System)即 网络文件系统 ,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 实战案例 NFS+DRBD+HEARTBEAT 1.环境描述 OS: NFS-MASTER: centos6.5 IP: eth0:172.16.50.199 #管理ip eth1:10.0.0.1 #内网直连ip VIP:172.16.50.249 软件: NFS DRBD hearteat NFS-BACKUP: centos6.5 IP: eth0:172.16.50.193 eth1:10.0.0.2 VIP:172.16.50.249 软件: NFS DRBD hearteat 描述: 本案例假设有2台NFS存储系统服务器NFS-master、NFS-backup,其实际IP分别为172.16.50.199、172.16.50.193 NFS-master的NFS存储系统文件目录为/data,对前端提供的访问VIP为172.16.50.249 配置目标:一旦NFS存储系统服务器NFS-master宕机,该服务器上的NFS存储系统服务和虚拟IP会自动切换到热备服务器NFS

centos7无网卡驱动

生来就可爱ヽ(ⅴ<●) 提交于 2020-11-12 08:31:38
问题现象 安装centos7完毕之后,不显示网卡只有lo文件,现象如下 [root@localhost ~]# ifconfig lo: flags = 73 <UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0 . 0.1 netmask 255.0 . 0.0 inet6 :: 1 prefixlen 128 scopeid 0x10 <host> loop txqueuelen 1 (Local Loopback) RX packets 74 bytes 3894 ( 3.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 74 bytes 3894 ( 3.8 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@localhost ~]# 解决方法 查看网卡设备,下图标红部分 [root@localhost ~ ]# lspci 00 : 00.0 Host bridge: Intel Corporation Device 3ec2 (rev 07 ) 00 : 01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16)

Ubuntu 14.04在虚拟机上的桥接模式下设置静态IP

|▌冷眼眸甩不掉的悲伤 提交于 2020-11-11 10:51:40
1、虚拟机--->虚拟机设置 将虚拟机设置为桥接模式 2、查看window 网卡以及IP信息   cmd下输入 ipconfig -all   可以看到,我的网卡为Realtek PCIe GBE Family Controller   这里我要将虚拟机配置成5网段,如192.168.5.23, 记住主机IPV4地址:192.168.5.22 子网掩码:255.255.255.0 默认网关:192.168.1.1(一会要用)   注意:主机设置的网段地址必须为(首选)! 否则会出现主机无法ping通虚拟机的现象。 若是(复制),则是IP冲突,需要重新修改主机IP。 3、打开编辑--->虚拟网络编辑器--->更改设置   设置桥接网卡为Realtek PCIe GBE Family Controller 4、修改Ubuntu虚拟机网卡接口信息 打开终端,输入   sudo gedit /etc/network/interfaces 添加: auto eth0 iface eth0 inet static address 192.168 . 5.23 netmask 255.255 . 255.0 gateway 192.168 . 1.1 dns -nameservers 8.8 . 8.8   其中 eth0是网卡名字(有的是ens33),address是你要设置的IP