网络基础

#**计算机网络**
##网络的特征
– 速度、成本、安全性、可用性、可扩展性、可靠性、拓扑

##**物理拓扑分类**
– 总线型
– 所有设备均可接受信号
– 星型拓扑
– 通过中心点传输,单一故障点
– 扩展星型拓扑
– 比星型拓扑的复原能力强
– 环拓扑
– 信号绕环传输
– 单一故障点
– 双环拓扑
– 信号沿相反方向传输
– 比单环的复原能力强
– 全网状拓扑
– 容错能力强
– 实施成本高
– 部分网状拓扑
– 在容错能力与成本之间寻求平衡

##**网络模型分层**
– 应用层:网络进程访问应用层。为应用程序进程提供网络服务;提供用户身份验证
– 表示层:确保接收系统可以读出数据;格式化数据,协商用于应用层的数据传输语法;提供加密
– 会话层:主机间的通信。在建立,管理,终止应用程序之间的会话
– 传输层(网段):信息流控制,确保传输的可靠性;可以错误检测和恢复。
– 网络层(数据包):数据传输。路由数据包,支持逻辑寻址和路径选择
– 数据链路层(帧):网卡所在层。格式化数据以便传输,控制对网络的访问。错误检测
– 物理层(位):二进制传输,为启动、维护、关闭物理链路定义了电气规范、过程规范等

##**PDU**
– pdu:protocol data unit 协议数据单元,是指对等层次之间传递的数据单位
– 物理层 pdu是数据位bit
– 数据链路层 pdu是数据帧frame
– 网络层 pdu是数据包packet
– 传输层 pdu是数据段segment
– 其他更高层次pdu是messgage

##**三种通讯模式**
– 单播通信:一对一,不过其他能听到
– 广播通信:一对多,在一个广播域内,无论想不想收到,都能接收到
– 组播通信:类似于vnc,只要接入一个频域内,都能收到。

##**非屏蔽式双绞线**
– 1.橙白 2.橙 3.绿白 4.蓝 5.蓝白 6.绿 7.棕白 8.棕
– 1和2号线负责发送,3和6负责接收。所以T568B 和 T568A两种接头是相反的,一个是发送一个接收。
– 直通线:两端都是T568B型
– 交叉线:一端T568B 一端是T568A型。一般用于相同设备间连接。例如,路由器和路由器,电脑和电脑

##**Ethernet Frame结构(工作在数据链路层)**
– destination address:目标物理地址
– source address:原物理地址
– Type:下层为上层提供服务,所以要携带上层协议的类型
– data:46-1500字节
– FCS:循环校验位
– 物理地址总共48位,其中前24位是IEEE定义的。后24位是厂商定义

##**CSMA/CD**
– csma/cd:载波冲突检测
– 原理: 发送数据前 先侦听信道是否空闲,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。

##**交互设备**
– 集线器(Hub):多端口中继器
– 属于物理层设备,扩大信号,并广播式转发。容易冲突,增加转发时间。
– 特点:共享带宽,半双工
– 以太网桥:
– 原理:以太网桥监听数据帧中源MAC地址,学习MAC,建立MAC表。同一网段的过滤掉,不同网段的转发到该端口
– 特点:分割了网络冲突域,使网络冲突被限制在最小的范围内
– 交换机:
– 第一次传输的时候,与hub同样,先找到目标端口,第二次时会生成一个地址对应表,下次就不用寻找相同目标地址
– 划分冲突域,减少冲突
– 路由器:
– 分隔广播域
– 选择路由表中到达目标最好的路径
– 维护和检查路由信息
– 连接广域网

##**TCP/IP**
– TCP/IP是一个Protocol Stack,包括TCP IP UDP ICMP RIP TELNET FTP SMTP ARP等许多协议
– 共定义了四层:应用层、传输层、internet层、网络访问层。
– 与OSI参考模型的分层有对应关系
– TCP特性:工作在传输层;面向连接协议;全双工协议;半关闭;错误检查;将数据打包成段,排序;确认机制;数据恢复;流量控制;拥塞控制
– tcp:传输控制协议,面向连接的协议;通信前需要建立虚拟链路;结束后拆除链路。
– 0-1023:系统端口或特权端口(管理员使用)。永久分配给固定的系统应用使用:22/tcp(ssh),80/tcp(http),443/tcp(https)
– 1024-49151:用户端口或注册端口,但要求并不严格,分配给程序注册为某应用使用。1433/sqlserver 1521/oracle 3306/mysql 11211/memcached
– 49152-65535:动态端口或私有端口,客户端程序随机使用的端口。

###**三次握手四次挥手**
– 客户A,服务器端B
– 三次握手:开始两者状态A是closed,B是Listen状态。A发送SYN=1请求给B(第一次);B收到后回复SYN=1(申请或同意建立连接都要发SYN为1),ACK=1(同意申请),这是第二次;A收到第二次后,发送ACK=1(回复B)给B,第三次;这时两者同时establish状态。
– 四次挥手:(1)A发送FIN=1给B(申请关闭)。(2)B收到后,回复ACK=1,表示收到。(3)但是因为可能B有数据还没发送完,所以直到B第二次发送FIN=1,ACK=1给A,才会进入最后确认状态。(4)接着A发送ACK=1给B,随即A进入2MSL时间等待。B收到这次ACK之后就进入closed状态
– ACK:表示前面的确认号是否有效。ACK=1,表示有效。
– RST:RST=1表示与主机的连接出现了严重的错误,必须释放连接,再重新建立连接。
– SYN:SYN=1,ACK=0时,表示这是请求建立连接的报文段;当SYN=1,ACK=1时,表示对方同意建立连接。SYN=1,说明这是一个请求建立或同意建立连接的报文。只有在前两次握手中SYN才置为1.
– FIN:表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1,即为数据发送完毕,可以释放连接。

###**拥塞控制**
– 在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可承受的能力,网络的性能就会变坏。这种情况就叫做拥塞。
– TCP为提高网络利用率,降低丢包率,并保证网络资源对每条数据流的公平性。即所谓的拥塞控制。
– RFC5681有四个部分:慢启动、拥塞避免、快速重传、快速恢复。linux下实现的算法:reno,vegas等

##**UDP特性**
– 工作在传输层,提供不可靠的网络访问,非面向连接协议,有限的错误检查,传输型能高,无数据恢复特性

##**Address Resolution Protocol(ARP协议)**
– arp协议工作在网络层,是根据IP地址获取物理地址的协议。主机发送信息是包含了目标Ip地址的ARP请求广播到网络上的主机,并接收返回消息,以此确定目标的物理地址;收到返回信息后将该IP地址和物理地址存入本机的ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
– 这是建立在网络主机中互相信任的基础上的,网络上的主机可以自主发送ARP应答,其他主机不会检测报文的真实性就会将其记入本机的ARP缓存;这就很容易造成ARP欺骗。

– 过程(A获取B的ARP):
– A先发送 ARP Request + SRC MAC 0800:0222:2222 + DST MAC Broadcast
– B发送 DST MAC 0800:0222:2222 + SRC MAC 0800:0222:1111 + ARP Reply给A
– A组成了一个ip对应table
– A发送给B :TCP SYN + DST IP + SRC IP + SRC MAC + DST MAC
– B由数据链路层,层层将mac,ip去除最后到TCP SYN

– 反向APR
– 类似于网吧A电脑,把自己机子的MAC地址发送给服务器中心(装有硬盘),然后由它发送给A电脑它的ip地址

##**Internet协议特征**
– 运行于OSI网络层,面向无连接的协议,独立处理数据包,分层编址,尽力而为传输,无数据恢复功能

##**IP PDU报头**
– 版本:4位 首部长度:4位,可表示最大数值15个单位,即最大60字节
– 区分服务:8位 总长度:16位,最大长度65535字节,不超过最大传送单元MTU
– 标识:16位,计数器,没发送一个报文便加1,同意分片该值相同
– 标志(flag):DF=0允许分片,MF=1表示后面还有分片,MF=0表示最后一个分片
– 片偏移:12位,以8个字节为偏移单位 生存时间:8位,记为TTL
– 协议:1:ICMP协议 2:IGMP协议 6:TCP协议 17:UDP协议
– 首部检验和:16位,错误即抛弃,重发
– 源地址和目的地址:各占4字节

##**ip地址**
– ip地址是一个32位二进制数,划分4组,每组二进制均可换成10进制数。
– 组成:网络ID(标识网络,每个网段分配一个网络ID) + 主机ID(标识单个主机,由组织分配给各设备)
– 地址分类:
– A类:1-126 主机数:2^24-2 子网掩码:255.0.0.0
– B类:128-191 网络数:2^(16-2) 子网掩码:255.255.0.0
– C类:192-223 网络数:2^21 子网掩码:255.255.255.0
– D类:224-239 组播
– E类:240-255
– 子网掩码:
– 172.168.1.100/16 表示前16位都是1,即255.255.0.0
– 两个计算机如何通讯?
– 检查是否是一个网段?
– 用自己的ip地址和对方的ip地址,与自己的子网掩码按位与。如果相同即再相同网段
– 先看ARP缓存是不是存在对方mac地址,如果没有则使用ARP协议查询对方的MAC地址。

##**跨网络通信**
– 跨网络通信:路由
– 路由分类:
– 主机路由:路由表精确的告诉访问者目标地址和路径
– 网络路由:到达某个网络ID的路径
– 默认路由:表现为0.0.0.0,对未知网络都有唯一一条路径通向它。配了网关,目的就是通向未知网络
– 优先级:精度越高,优先级越高
– 路由表组成:目标网络ID(netmask) 接口 网关

##**动态主机配置协议DHCP**
– DHCP客户端广播发现报文:客户端向网络中发送报文(广播机制),寻求分配一个网络地址
– DHCP服务器广播提供消息:地址池中随机找一个没有使用的ip地址发送过去
– DHCP客户端做出响应消息:一般选择的是第一个提供的ip地址。
– DHCP服务器确认消息:服务器发送确认消息,结束交换过程
– 当ip地址用到一般时间的时候,重新需要申请一个ip地址。所以有可能在ip地址租期时间内换了一个新地址。

##**基本网络配置**
– 主机名
– linux:hostname
– 要想主机名来通讯,需要 vim /etc/hosts 中添加 (ip地址 + 主机名)
– 为了方便修改IP地址:别名 alias cdnet=’cd /etc/sysconfig/network-scripts’
– centos7 改主机名 hostnamectl set-hostname centos666
– centos7中吧ens33改成eth0:(1) vim /etc/default/grub 改成 GRUB_CMDLINE_LINUX=”rhgb quiet net.ifnames=0″ 或者直接修改/boot/grub2/grub.cfg。(2) 执行grub2 -mkconfig -o /etc/grub2.cfg (3) 重启 reboot
– DNS
– 配置DNS查询ip地址
– cat /etc/resolv.conf 这文件中的nameserver说明可以向DNS获取ip
– BOOTPROTO = dhcp
– 查看网卡
– dmesg | grep -i eth
– 卸载网卡驱动 rmmod e1000
– 装载网卡驱动 modprobe e1000

– 加ip地址
– ip addr add dev eth1 6.6.6.6/24

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89009

(0)
miraclermiracler
上一篇 2017-11-27
下一篇 2017-11-27

相关推荐

  • 权限管理与ACL

    一、文件属性 1.文件属性:    文件属性操作     chown : change owner  ,设置文件所有者     chgrp : change group  ,设置文件的属组    文件属主修改: chow…

    Linux干货 2016-08-05
  • linux及其文件系统

       计算机是由CPU、存储设备(内存、硬盘)、I/O设备(键盘、鼠标、显示器)组成。CPU负责进行运算和控制;硬盘和内存负责永久和临时存储数据;Input设备负责输入指令或者数据,output设备负责输出处理过的数据。          Linux的发行版主要有Debian,S…

    Linux干货 2016-09-21
  • bash脚本编程实例

    bash脚本编程实例 1.写一个脚本 接受一个以上文件路径作为参数 显示每个文件拥有的行数 总结说明本次共为几个文件统计了其行数 #!/bin/bash # read -p “please input some paths:” paths if [ -z $paths ];then echo “There are not any paths inputtin…

    Linux干货 2017-08-14
  • LINUX用户建立秘钥认证实现SHELL脚本管理,分发,部署

    环境介绍 SSH Server [root@vm1 ~]# ifconfig |awk '/broadcast/{print $2}' 192.168.99.241 SSH Client [root@vm2 ~]# ifconfig |awk '…

    Linux干货 2017-01-05
  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05
  • 马哥M20-1第一周作业

    作业1:通过echo实现字体闪烁,添加下划线,改变颜色      (1)添加下划线    (2)字体闪烁   (3)改变颜色 作业2:显示前10天的年月日 作业3:screen的使用

    Linux干货 2016-07-29