网络|操作系统及linux知识总结——网络篇

1.主机间通信的原理
1.1必须有传输介质
实体:网线:相对光纤慢,不适用远距离传输;光纤:速度快,光信号传输,可远距离传输,如与外国通信的光缆;
无限传输:蓝牙:近距离传输,wifi:可远距离传输
1.2主机上必须有网卡
网卡用于调制和解调数字信号,即高低电压和二进制之间转换。
1.3主机间需要协商传输速率
链接速度100Mb/s
因为1bit=1/8byte
所以带宽速度为100Mb/s/8=12.5M/s(理论速度)
总结:总速度等于桶中的水,桶中的水量由最短的木板决定。
网卡,路由,网线都是木板,即网卡与路由器都是千兆速度,网线达到某个标准才能发挥千兆速度。其次,下载与上传还与磁盘的速率有关。
2.主机基础硬件介绍
交换机
  1. 定义:在一个网络中实现多台(取决于交换机有多少个接口)主机间相互通信。
  2. 主机上要有mac地址(物理地址)
  3. 第一次会通过广播的形式获取列表,找到是否会有相应的mac主机。
  4. 一台交换机连接的主机构成一个局域网。
路由器
  1. 作用:实现不同局域网之间的通信。
  2. 要求要有ip地址,通过路由表通信。
路由表如何生成?
  1. 直连网络生成
  2. 静态路由配置
    网络|操作系统及linux知识总结——网络篇
    文章图片

    路由表上接口对应网络号
    |网络号|接口 |
    |-02-|-eth1-|
    | 01 | eth0 |
    除此之外,路由表上还有到其它路由的路径,通过静态配置后,通过各个路由的路由表中的信息可以实现01网络到04网络间的通信。如下所示:
    网络|操作系统及linux知识总结——网络篇
    文章图片

    如图所示网络|操作系统及linux知识总结——网络篇
    文章图片

  3. 动态路由配置
    网络|操作系统及linux知识总结——网络篇
    文章图片

    总结:通过路由表之间相互学习达到一致
3.tcp/ip模型
基本模型和相关层协议
网络|操作系统及linux知识总结——网络篇
文章图片

dhcp协议概念:

讲解:主机获得DHCP后需要发回确认信息,dhcp服务器收到后从ip池中删除相应ip。在设置的时间内dhcp会询问主机需不需要续约,如果不需要则回收该ip。
因此,linux主机不适合dhcp协议,ip地址变化带来一系列的问题,需要手动配置。
tcp的可靠性:
网络|操作系统及linux知识总结——网络篇
文章图片

在建立链接通信过程中,双方会发送确认信息通信。而udp协议则不会,因此会有丢包现象不可靠。
三次握手细节:
网络|操作系统及linux知识总结——网络篇
文章图片

第一次握手:
客户端第一次发送所以序列号为0;
由于没有收到消息没有确认后;
请求链接所以同步控制字段为1;
没有收到消息确认字段为0;
第二次握手:
服务端第一次发送所以序列号为0;
收到客户端的消息后希望下一次收到的包序列号为1(上一个包的序列号+1);
希望建立连接所以同步控制字段也为1;
由于收到正确的包,所以ack字段为1;
第三次握手:
客户端第二次发送包所以序列号为1;
客户端希望收到的包序列号为1(上一个包的序列号+1);
已经建立连接所以同步控制字段为0;
由于收到正确的包,所以ack字段为1
4.关于linux的网络相关命令
  1. ifconfig
    作用:启停,查看与修改网络接口的相关参数;
    ifgonfig [interface] [options] [arg]
    interface:接口,如eth0等
    options:[up|down|netmask|…]
    arg:操作携带的参数
    注:ifconfig修改完网络接口后,只能以ifconfig xxx down来关闭;
    因为ifup与ifdown是通过读取配置文件来实现的,ifconfig修改完后,ifdown分析当前网络参数与配置文件不符,将不能关闭;
  2. route
    作用:操作路由,查看,添加,删除;
    查看:
    route [-nee]
    添加,删除
    route [add|del] [网络|主机] [netmask] [mask] [gw|dev]
    即对相应条目进行删除添加;操作完想恢复系统网络原路由,需要执行/etc/init.d/network restart;
  3. ip
    ip命令综合了route和ifconfig;
    ip有三大操作:
    link|l --与dev相关设置,如启停网卡等;
    addr|a --而外的ip协议,如在网卡基础上添加虚拟网络接口;
    route|r–操作路由,与route命令类似;
    即link可以查看dev相关link详细设置,修改网卡名称,启停网卡;
    addr可以查看网卡详细详细,添加删除虚拟网卡;与link结合相当于ifconfig的功能;
    ip rroute的操作与route相当;
总结:
1.ip a+ip l 能实现 ifconfig的功能,且能扩展其它功能;
2.ip r 相当于route,但是ip r更加强大,比如配置策略路由时,route无法做到;
注:ip操作涉及修改的都是root权限,而ifconfig与route都是root权限;其实route与ifconifg已不再维护,建议使用ip命令代替,同样的,ss可以代替netstat(原理请百度);
net-tools已淘汰,不过毕竟是工具,没有特殊需求情况下都差不多的~
网络|操作系统及linux知识总结——网络篇
文章图片
网络|操作系统及linux知识总结——网络篇
文章图片

4.telnet
一开始是用于远程登录主机,对远程主机进行管理的; 然而这个命令采用明文传输报文,因此现在都是使用ssh登录远程主机;
作用: 现在一般用来验证端口连通性
telnet ip port
5.nslookup
作用: 查看DNS域名解析是否正常
网络|操作系统及linux知识总结——网络篇
文章图片

6.traceroute
作用:检测指定主机到达目标主机经过的网关,在排除网络问题时经常使用;
-m是指定的最大跳数(即检测100个网关以内是否到达目标地址)
可以看到第一个网关即为本机的默认网关,后面的为探测期间经过的网关;
*号为网关配置屏蔽了icmp返回值(检测原理为发送upd数据包,每到达一个网关返回一个icmp包信息)
这里检测是不成功的,因为运营商为安全考虑,只有白名单中的UDP端口才允许通过,没有明确允许的则统统丢弃。(即永远到达不了目的主机)
网络|操作系统及linux知识总结——网络篇
文章图片

7.ssh
文件内容
awk sed grep
内存磁盘
dd df du free vmstat expect(堡垒机自动切换用户)
进程服务
lsof chkconfig service systemctl
【网络|操作系统及linux知识总结——网络篇】其它
time bc last

    推荐阅读