震惊君的Linux之旅 ------ 网络协议和管理

网络基础精讲
本文深入讲解网络基础,包括OSI七层模型与TCP/IP五层模型的区别,TCP三次握手及四次挥手过程,TCP与UDP协议特性对比,IP分类与数量,以及IP配置方法等核心内容。

1、简述osi七层模型和TCP/IP五层模型

OSI open system interface

优势

  • 降低复杂性
  • 标准化接口
  • 简化模块化设计
  • 确保技术的互操作性
  • 加快发展速度
  • 简化教学
  1. 物理层:定义了启动、维护和关闭物理链路的各种规范,使设备物理上连接起来
  2. 数据链路层:定义如何格式化数据,告诉我们数据表达的是什么(类似于翻译),通过物理地址MAC来标识网络中设备的唯一地址,实现链路间的连接;支持错误检测
  3. 网络层:跨网段、链路通讯,实现路由功能,选择传递数据的最佳路径;支持逻辑寻址(IP地址) 和 路径选择
  4. 传输层:确保数据传输的可靠性,即A给B发报文,B是否收到,收到并回应,即可靠,并建立连接;用端口号表示应用程序的地址(每个应用程序与网络通讯都要分配一个与众不同的端口号)
  5. 会话层:建立两个应用程序的会话,先验证身份成功再建立连接管理连接最后结束终止会话
  6. 表示层:确保接收系统可以读出该数据,通过编码转换为我们可以理解的东西;数据加密、压缩
  7. 应用层:与用户进行通讯;为应用程序进程提供网络服务
TCP/IP (主流协议)

1 物理层:对应OSI的 物理层
2 数据链路层: 对应OSI的 数据链路层
3 网络层:对应OSI的网络层
4 传输层:对应OSI的传输层
5 应用层:对应OSI的 应用、表示、会话层
注:1 和 2 可统称为 网络访问层

2、总结描述TCP三次握手四次挥手

三次握手
  1. 第一次握手:客户端向服务器发送数据包请求与其通讯:SYN=1, seq=x(编号,假设为x),此时服务器处于 “LISTEN 收听” 状态,而客户端发送完成后自动转变为 “SYN-SENT 同步已发送” 状态
  2. 第二次握手:服务器收到数据包后回应:SYN=1, ACK=1, seq=y, ack=x+1(表示x已经收到,下次发x+1来),此时服务器转变为 “SYN-RCVD 同步收到” 状态
  3. 第三次握手:客户端收到回应后再次发送数据包至服务器,表示已收到其回应:ACK=1, seq=x+1, ack=y+1,此时双方都为 “ESTAB-LISHED 已建立连接” 状态
四次挥手

前提:客户端(client) 和 服务器(server) 都处于 “ESTAB-LISHED” 状态,现在双方要断开连接

  1. client 向 server发送结束通讯请求:FIN=1,seq=u,并转变为 “FIN-WAIT-1 终止等待1” 状态
  2. server收到请求后作出回应:ACK=1,seq=v,ack=u+1,并转变为 “CLOSE-WAIT 关闭等待” 状态(注!为确保数据传输完整性,此时 server还会将未传输完的数据继续传输给 client)client 进入 “FIN-WAIT-2 终止等待2” 状态
  3. 数据完整传输后,server 向 client发送终止确认:FIN=1,ACK=1,seq=w,ack=u+1,并转变为 “LAST-ACK 最终确认” 装填
  4. 收到 server的终止确认请求后,client 作出回应:ACK=1,seq=u+1,ack=w+1,并转变为 “TIME-WAIT 时间等待” 状态(网络环境复杂,避免数据丢失,会等待一段时间)
    收到回应后 server随即CLOSED, TIME-WAIT 设定时间到,client随即CLOSED
CLOSING 状态

有两种情况:

  1. ACK of FIN丢失:当被动关闭端发出的ACK丢失,而被动关闭端紧接着又发出了FIN,那么主动关闭端会先收到FIN,从而进入CLOSING状态。 第二种,两端都在还未收到FIN的的情况,发出了FIN,即两端同时关闭,那么可能出现发出FIN后还没收到对应的ACK,立马就收到对端发出的FIN。
  2. 两端都是主动关闭端:它们都是首先从ESTAB状态进入FINWAIT_1状态,不再走CLOSE_WAIT那条状态迁移路线。

3、描述TCP和UDP区别

TCP(可靠)UDP(高效)
面向连接无需确认
有序列编号无编号
适用于 E-mail,文件共享,下载适用于语音通话、视频
注:面向连接指代两个设备要先建立连接再传数据报文

4、总结ip分类以及每个分类可以分配的IP数量

IP分类有两个时期,我们分为 早期 和 后期

早期
  1. A类:前8位为网络ID(最高位固定为0),后24位为主机ID,网络ID数 27-2(最后位0为保留,127表回环地址)=126,主机数 224 - 2=16777214
  2. B类:前16位为网络ID(最高两位固定为10),后16位为主机ID,网络ID数 214=16384,主机数 216-2=65534
  3. C类:前24位为网络ID(最高三位固定为110),后8位为主机ID,网络ID数 221=2097152,主机数 28-2=254
  4. D类:用于多播、组播,不分网络ID和主机ID(最高四位固定为1110)
  5. E类:保留的IP,还未使用到,不分网络ID和主机ID(最高四位固定为1111)
后期

无类

  • 网络ID,主机ID人任意位
  • CIDR 无类域间路由 表示,即 IP/网络ID位数,A B C类可分别表示为
    • 10.0.0.0/8
    • 128.1.1.100/16
    • 192.2.2.200/24

5、总结IP配置方法

1.永久生效

IP配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0(ens33) 必要信息:

自动分配地址
DEVICE 设备名
NAME 网络名称
BOOTPROTO=dhcp
ONBOOT=yes/no 是否启用
手动分配地址
DEVICE 设备名
NAME 网络名称
BOOTPROTO=none 或 static
IPADDR=ip地址
PREFIX=网络ID位数
ONBOOT=yes/no 是否启用
(可加) GATEWAY 网关
(可加) DNS1,2,3 DNS
2.临时生效
ifconfig
ifconfig 默认显示启用的网卡

ifconfig eth0 up 启用网卡 (作用于数据链路层)
ifconfig eht0 down 禁用网卡      

ifup eth0 启用网卡 (作用于网络层)
ifdown eth0 禁用网卡           

ifconfig eth1 1.1.1.1/24 增加地址
ifconfig eth1 0.0.0.0 清除地址

ifconfig eth1:123 1.1.1.1/24 增加别名123地址 
ifconfig eth1:123 down 删除别名123地址
ip
ip link 查看链路层信息
ip addr 查看网络层信息

ip addr add 1.1.1.1/24 dev eth1 添加地址
ip addr del 1.1.1.1/24 dev eth1 删除地址

ip addr add 3.3.3.3/24 dev eth1 label eth1:123 添加别名地址
ip addr del 3.3.3.3/24 dev eth1 label eth1:123 删除别名地址

ip link set eth1 up 启用网卡
ip link set eth1 down 禁用网卡

ip link set eth1 name haha 改网卡名
ip a flush dev eth1 删除eth1上所有地址
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值