分类 - 计算机网络

2020-08-03 12:54:44    24    0    0

流量控制(tc)是一个非常有用的Linux实用程序,使您能够配置内核数据包调度程序。
tc可以模拟UDP或TCP应用程序的数据包延迟和丢失,或者限制特定服务的带宽等等场景。

命令安装

  1. # Debain和Redhat系列的系统安装iproute包即可
  2. sudo apt-get install -y iproute
  3. sudo yum install -y iproute


控制网络延迟(双向)

这里的延迟控制是双向的,即当前主机到其他主机延迟,其他主机到当前主机延迟。

2020-07-26 22:27:33    63    0    0

数据链路层

常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准(以太网V2标准),另一种是IEEE的802.3标准。这里介绍的是使用的最多的以太网V2的MAC帧格式。

  • 一个MAC帧的大小最小为64字节。
2020-07-26 17:30:58    24    0    0

TCP的连接建立

下图画出了TCP的建立连接的过程。假定主机A运行的是TCP客户程序,而B运行的是TCP服务器程序。最初两端的TCP进程都处于CLOSED状态。请注意,A主动打开连接,而B被动打开连接。

连接过程如下:

2019-10-22 20:59:46    250    0    0

一、安装iperf3

  1. yum install -y iperf3

二、开启服务端

执行iperf3 -s开启监听,等待客户端的测试连接,-s表示以服务端的角色启动。

  1. # iperf3 -s
  2. -----------------------------------------------------------
  3. Server listening on 5201
  4. -----------------------------------------------------------
  5. Accepted connection from 192.168.1.120, port 44816
  6. [ 5] local 192.168.1.110 port 5201 connected to 192.168.1.120 port 44818
  7. [ ID] Interval Transfer Bandwidth
  8. [ 5] 0.00-1.00 sec 1.04 GBytes 8.97 Gbits/sec
  9. [ 5] 1.00-2.00 sec 1.10 GBytes 9.41 Gbits/sec

2019-10-22 20:50:26    191    0    0

在没有交换机的时候,如果多台服务器需要通信,可以使用网线将各个服务器连接起来,通过直连的方式通信,点与点之间直连,这时需要配置指定的路由。下面的实验环境是有3台服务器的实验环境。只有两台服务器的时候不需要配置路由,只需配置IP地址即可直连成功。

一、环境说明

  • 服务器参数
主机名千兆网卡万兆网卡1万兆网卡2
node1eth0:172.16.131.35p2p1:192.168.1.110p2p2:192.168.1.111
node2eth0:172.16.131.36p2p1:192.168.1.120p2p2:192.168.1.121
node3eth0:172.16.131.37p2p1:192.168.1.130p2p2:192.168.1.131
2019-09-06 17:37:06    54    0    0

TFTP全称简单文件传输协议(Trivial File Transfer Protocol),基于UDP 协议69端口,比ftp简单,用于远程无盘设配启动、PXE启动、ISO的备份恢复和升级等场合。与ftp相比具有如下特点:不能列出目录、不支持认证和加密机制、只支持UDP、适合开销不大、不复杂的环境。

一、服务介绍

  tftpxinetd管理的服务,xinetd (Extended Internet Service Daemon)叫做扩展因特网服务守护进程。它的作用是通过xinetd服务来管理一些功能简单小服务,如:telnet、tftp、rsync服务等。并为这些服务提供安全访问控制功能。当有客户端请的时候,由xinetd程序激活相应服务,当断开时,这些守护进程就会结束,不会一直驻留内存中,所以这些服务叫做瞬态服务。

二、安装配置

  1. yum install xinetd tftp tftp-server
  2. systemctl enable xinetd
  • xinetd的配置文件为/etc/xinetd.conf,基本不用修改。
  • 修改/etc/xinetd.d/tftp文件,只关心如下三个配置。
2019-09-06 16:13:01    110    0    0

一、安装

  dhcp软件包默认是在epel-release仓库源里的,所以需要安装epel-release。DHCP是 Dynamic Host Configuration Protocol(动态主机配置协议)的缩写,关于协议的详细内容请查看 DHCP协议原理

  1. yum install epel-release
  2. yum install -y dhcp
  • 配置文件:/etc/dhcp/dhcpd.conf
  • 配置文件模板:/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
  • 租约文件:/var/lib/dhcpd/dhcpd.leases

2019-09-01 19:39:22    594    0    0

一. 管道和隧道

  • ssh 最简单的连接命令。
  1. ssh [-p <onPort>] [<user>@] <connectToHost>

此处方括号内的内容可以省略,尖括号内的内容是必选参数。这条命令表示,自执行命令的本机,向 connectToHost 的 onPort(默认 22 端口) 端口发起请求,尝试以 user 身份登录。在上述 ssh 命令执行成功之后,我们就建立了从本机到 connectToHost 的连接。具体来说,本机的 SSH client 与 connectToHost 的 SSH server 建立了连接。我们可以将这一连接想像成一个有方向的管道;它的起点是本机的某个端口,而终点是 connectToHost 上的 onPort 端口。

iptables    2018-09-02 13:35:21    161    0    0

一、简介

  iptables 是 Linux 下优秀的地址 nat+防火墙管理工具, 底层是 linux 内核通过 netfilter 模块来实现。 对linux而言 tcp/ip 协议栈是在内核当中, 意味着报文的处理是在内核中处理的, 也就是说防火墙必须在工作在内核中, 防火墙必须在内核中完成 tcp/ip 报文所流进的位置, 用规则去检查, 才真正能工作起来。 网络中传输的包在到达目的地后会被重新组装, 防火墙会检查每个包的报文头部字段, 采取如下动作,这些动作会记录在log中, 后面会说明 iptables 的日志配置。

  • 允许进入系统
  • 进行转发
  • 拒绝包(给源IP发送一条信息)
  • 丢弃(不发送返回信息) 

      Iptables采用“表”和“链”的分层结构,数据包到达网卡(eth0),然后会经过几条“链路”,首先是PREROUTING链,所有的数据包进来的时侯都先由这个链处理,决定是否被状态跟踪机制处理 、数据包被标记、被转发出去,决定路由选择后如果是被转发了,就进入FORWARD链进行标记或过滤,如果是想要进入了localhost,则进入INPUT链进行标记或过滤,后面详细说明。

2018-09-02 13:35:21    142    0    0

一、基本原理总结

1. 常用的几个链

  • PREROUTING(nat) 
    路由之前操作,用作DNAT 、REDIRECT。 只支持 -i, 不支持 -o。在作出路由之前,对目的地址进行修改 

  • INPUT(filter) 
    通常对 进入本机 数据进行过滤。 

  • OUTPUT(nat、filter) 
    影响 本机出的 数据。常用作DNAT 、REDIRECT。 DNAT和REDIRECT规则用来处理来自NAT主机本身生成的出站数据包. 

  • FORWARD(filter) 
    对转发的数据进行 过滤 (通过、拒绝)。 

  • POSTROUTING(nat) 
    路由之后修改。只支持-o,不支持-i。在作出路由之后,对源地址进行修改。