码迷,mamicode.com
首页 > 其他好文 > 详细

网络协议与管理

时间:2020-04-27 09:56:02      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:ref   基本   init   安装   linu   以太网   通过命令   intern   image   

 

 网络的功能和优点:

 

  • 数据和应用程序
  • 资源
  • 网络存储
  • 备份设备

网络的特征:

  • 速度
  • 成本
  • 安全性
  • 可用性
  • 可扩展性
  • 可靠性
  • 拓扑

开放系统互联OSI:

技术图片

 

三种通讯模式

        unicast                 broadcast                multicast

技术图片

 

 

 

 冲突域和广播域:

冲突域:两个网络设备同时发送数据,如果发生了冲突,则两个设备处于同一个冲突域,反之,则各自处于不
同的冲突域
广播域:一个网络设备发送广播,另一个设备收到了,则两个设备处于同一个广播域,反之,则各自处于不
同的广播域
 
三种通讯机制:
单工通信:只有一个方向的通信
半双工通信:通信双方都可以发送和接收信息,但不能同时发送,也不能同时接收
全双工通信:通信双方可以同时发送和同时接收
技术图片

TCP/IP 分层:

 技术图片

 

 技术图片

 

 三次握手:

技术图片

  四次挥手:

 

技术图片

有限状态机 FSM:Finite State Machine

有限状态机FSM    注释
CLOSED       没有任何连接状态
LISTEN         侦听状态
SYN-SENT      在发送连接请求后,等待对方确认
SYN-RECEIVED     在收到和发送一个连接请求后,等待对方确认
ESTABLISHED     代表传输连接建立,双方进入数据传送状态
FIN-WAIT-1        主动关闭,主机已改善关闭连接请求,挂靠对方确认
FIN-WAIT-2        主动关闭,主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求
TIME-WAIT        完成双向传输连接关闭,等待所有分组消失
CLOSE-WAIT       被动关闭,收到对方发来的关闭连接请求,并已确认
LAST-ACK       被支关闭,等待最后一个关闭传输连接确认,并等待所有分组消失
CLOSING        双方同时尝试关闭传输连接,等待对方确认

客户机端的三次握手和四次挥手状态转换:
技术图片

服务器端的三次握手和四次挥手状态转换:

技术图片

 

 tcpdump 抓包工具

udp包头:

技术图片

 

 internet层协议:

    1. IP协议
    2. ICMP协议
      /proc/sys/net/ipv4/icmp_echo_ignore_all 关闭ICMP回应
    3. ARP协议
    4. RARP协议

基本网络配置:

将Linux主机接入到网络,需要配置网络相关设置。一般包括如下内容:

  1. 主机名(hostname)
  2. IP地址和子网掩码(IP/netmask)
  3. 路由(默认网关gateway)
  4. 主DNS服务器(dns)
  5. 次DNS服务器

centos 6 网卡名称:

  1. 以太网:eth[0-9]
  2. ppp:ppp[0-9]

网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules

ARP表
arp -n

查看网卡驱动:
dmesg |grep –i eth
ethtool -i eth0

卸载网卡驱动:
modprobe -r e1000
rmmod e1000

装载网卡驱动:
modprobe e1000

网络配置方式:

静态指定:
ifconfifig, route, netstat
ip: object {link, addr, route}, ss, tc
system-confifig-network-tui,setup
配置文件
动态分配:DHCP: Dynamic Host Confifiguration Protocol
ifconfig命令

#查看指定网卡状态
ifconfig [interface]

#查看所有网卡状态
ifconfig -a

#启用/禁用网卡
ifconfig IFACE [up|down]
ifdown eth1 (禁用网络)
ifup eth1 (启用网络)

#设置网卡IP
ifconfig IFACE IP/netmask [up]
route命令

查看路由表

route

route -n

添加路由表:route add
route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If]
删除路由器:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
配置动态路由
通过守护进程获取动态路由
安装quagga包,通过命令vtysh配置
支持多种路由协议:RIP、OSPF和BGP
netstat命令:来自于net-tools包 建议用ss代替
显示网络累链接:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--
numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
常用选项: 
-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口
-e:扩展格式
-p: 显示相关进程及PID
常用组合: -tan  -uan  -tnl  -unl
netstat {--route|-r} [--numeric|-n]
-r: 显示内核路由表
-n: 数字格式

显示接口统计数据:
netstat {–interfaces|-I|-i} [iface] [–all|-a] [–extend|-e] [–program|-p] [–numeric|-n]
netstat -i
netstat –I=IFACE
ifconfig -s eth0
ip命令  来自于iproute包,代替ifconfig

ip [ OPTIONS ] OBJECT { COMMAND | help }
 ip命令说明
OBJECT := { link | addr | route }
ip link - network device configuration
set dev IFACE,可设置属性:up and down:激活或禁用指定接口,相当于 ifup/ifdown
show [dev IFACE] [up]::指定接口 ,up 仅显示处于激活状态的接口
 
 ip地址管理:
ip addr { add | del } IFADDR dev STRING [label LABEL] [scope {global|link|host}]
[broadcast ADDRESS]
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域,global: 全局可用.link: 仅链接可用,host: 本机可
[broadcast ADDRESS]:指明广播地址
ip address show
ip addr flush
#禁用网卡
ip link set eth1 down
#网卡改名
ip link set eth1 name wangnet  
#启用网卡
ip link set wangnet up
#网卡别名
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
#清除网络地址
ip addr flush dev eth0
管理路由 ip route用法:
#添加路由:
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
#添加网关:
ip route add default via GW dev IFACE
#删除路由:
ip route del TARGET
#显示路由:
ip route show|list
#清空路由表:
ip route flush [dev IFACE] [via PREFIX]
 
ss命令:ss [OPTION]... [FILTER]
来自于iproute包,代替netstat,netstat 通过遍历 /proc来获取 socket信息,ss 使用 netlink与内核
tcp_diag 模块通信获取 socket 信息
选项:
-t tcp协议相关
-u udp协议相关
-w 裸套接字相关
-x unix sock相关
-l listen状态的连接
-a 所有
-n 数字格式
-p 相关的程序及PID
-e 扩展的信息
-m 内存用量
-o 计时器信息

FILTER : [ state TCP-STATE ] [ EXPRESSION ]

常用选项组合:

-tan, -tanl, -tanlp, -uan

常见用法:

# 显示本地打开的所有端口
ss -l

# 显示每个进程具体打开的socket
ss -pl

# 显示所有tcp socket
ss -t -a

# 显示所有的UDP Socekt
ss -u -a

#显示所有已建立的ssh连接
ss -o state established ‘( dport = :ssh or sport = :ssh )‘

#显示所有已建立的HTTP连接
ss -o state established ‘( dport = :http or sport = :http )‘

#列出当前socket详细信息
ss -s

网络协议与管理

标签:ref   基本   init   安装   linu   以太网   通过命令   intern   image   

原文地址:https://www.cnblogs.com/erxiong/p/12772125.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!