IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> TCP/IP基础 -> 正文阅读

[网络协议]TCP/IP基础

基本概念

IP地址类型

网络分类

在这里插入图片描述
A类:(1.0.0.0-126.0.0.0
B类:(128.0.0.0-191.255.0.0
C类:(192.0.0.0-223.255.255.0

特殊地址

255.255.255.255限制广播地址;
224.0.0.1组播地址,224.0.0.1特指所有主机,224.0.0.2特指所有路由器;

私有地址

A类10.0.0.0~10.255.255.255
B类172.16.0.0~172.31.255.255
C类192.168.0.0~192.168.255.255

端口号

在这里插入图片描述

TCP/IP协议族

各层协议

在这里插入图片描述
ICMP(Internet Control Message Protocol):网络层用其与其他主机或路由器交换错误报文和其他重要信息。
IGMP(Internet Group Management Protocol):把UDP数据报多播到多个主机。

以太网和IEEE 802封装

以太网工作机制

以太网采用带冲突检测的载波侦听多路访问(CSMA/CD)机制。

以太网帧封装

以太网帧格式
在这里插入图片描述
以太网最大传输单元MTU(Maximum Transmission Unit)为1500字节;802.3数据帧的长度为1492字节;

IP协议

IP首部

在这里插入图片描述

路由表操作

route指令详解
添加/删除到主机的路由/网关:

route add / del -host 192.168.1.2 dev eth0  //-host 主机名 dev 网关名称
route add / del -host 10.20.30.148 gw 10.20.30.40

添加和删除到网络的路由/网关:

route add/del -net 10.20.30.40 netmask 255.255.255.248 eth0
route add/del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
route add/del -net 192.168.1.0/24 eth1

添加和删除默认路由

route add/del default gw 192.168.1.1

设置包转发:(数据包转发: 当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送数据包。)

sysctl -w net.ipv4.ip_forward=1

ARP协议和RARP协议

ARP工作流程

  • A主机在自己本地ARP缓存中检查B的匹配MAC地址;
  • 未找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。
  • 主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。
  • 主机B将包含其MAC地址的ARP回复消息直接发送回主机A。
  • 当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。

ICMP(Internet Control Message Protocol)协议

在网络层的一个协议;用于IP主机、路由器之间传输控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身消息。
形式:
在这里插入图片描述在这里插入图片描述
ICMP类型

  • 响应请求;(一台主机向一个节点发送一个Type=8的ICMP报文,如果途中没有异常,目标返回Type=0报文,说明该主机存在);
  • 目标不可到达,源抑制和超时报文;(当我们要连接对方一个不存在的系统端口,将返回Type = 3、Code=3的ICMP报文,常见的不可到达类型还有网络不可到达(Code=0)、主机不可到达(Code=1)、协议不可到达(Code=2))
  • 时间戳请求报文(Type=13)和时间戳应答报文(Type=14)用于测试两台主机之间数据报来回一次的传输时间。

IGMP(Internet Group Management Protocol)协议

IGMP报文

IGMP也是IP层的一部分;
IGMP报文结构
在这里插入图片描述

UDP(User Datagram Protocol)协议

无连接通信,传输效率高,可靠性不高;

UDP封装

在这里插入图片描述

IP分片

  • IP分片实现
    在IP首部有4个字节用于分片,前16位是IP数据报标识,同一个数据报的各个分片的标识是一样的,目的端会根据这个标识来判断IP分片是否属于同一个IP数据报。
    在这里插入图片描述

在分片的数据中,传输层的首部只会出现在第一个分片;

  • 避免分片
    IP分片会大大降低传输层传送数据的成功率,所以我们要避免IP分片。
    对于UDP包,我们需要在应用层去限制每个包的大小,一般不要超过1472字节,即以太网MTU(1500)—UDP首部(8)—IP首部(20)。
    对于TCP数据,建立连接的三次握手的过程中,连接双方会相互通告MSS(Maximum Segment Size,最大报文段长度),MSS一般是MTU—IP首部(20)—TCP首部(20),每次发送的TCP数据都不会超过双方MSS的最大值,所以就保证了IP数据报不会超过MTU,避免了IP分片。

TCP协议(Transmission Control Protocol)

在这里插入图片描述

TCP连接建立

在这里插入图片描述

TCP连接中止

在这里插入图片描述

TCP流量控制

利用滑动窗口机制可以很方便的在TCP连接上实现对发送方的流量控制。TCP的窗口单位是字节,不是报文段,发送方的发送窗口不能超过接收方给出的接收窗口的数值。

TCP拥塞控制

在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就会变坏。这种情况就叫做拥塞。
拥塞控制是一个全局性的过程,和流量控制不同,流量控制指点对点通信量的控制。
拥塞控制的四种算法:
慢开始、拥塞避免、快重传和快恢复;
慢开始与拥塞避免
发送方维持一个叫做拥塞窗口cwnd(congestion window)的状态变量。
发送方让自己的发送窗口等于拥塞窗口,另外考虑到接受方的接收能力,发送窗口可能小于拥塞窗口。
**拥塞窗口的原则:**只要网络没有出现拥塞,拥塞窗口就增大一些,以便把更多的分组发送出去。但是只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络的分组数。
**慢开始算法的思路:**新建连接时,cwnd初始化为1个最大报文段(MSS)大小,发送端开始按照拥塞窗口大小发送数据,每当有一个报文段被确认,cwnd就增加至多1个MSS大小。用这样的方法来逐步增大拥塞窗口CWND。

在这里插入图片描述

为了防止cwnd增长过大引起网络拥塞,还需设置一个慢开始门限ssthresh状态变量。ssthresh的用法如下:
当cwnd<ssthresh时,使用慢开始算法。
当cwnd>ssthresh时,改用拥塞避免算法。
当cwnd=ssthresh时,慢开始与拥塞避免算法任意。
**拥塞避免算法思路:**让拥塞窗口缓慢增长,即每经过一个往返时间RTT就把发送方的拥塞窗口cwnd加1,而不是加倍。这样拥塞窗口按线性规律缓慢增长。
无论是在慢开始阶段还是在拥塞避免阶段,只要发送方判断网络出现拥塞(其根据就是没有收到确认,虽然没有收到确认可能是其他原因的分组丢失,但是因为无法判定,所以都当做拥塞来处理),就把慢开始门限设置为出现拥塞时的发送窗口大小的一半。

  • 乘法减小和加法增大
    乘法减小:是指不论在慢开始阶段还是拥塞避免阶段,只要出现超时,就把慢开始门限减半,即设置为当前的拥塞窗口的一半。当网络出现频繁拥塞时,ssthresh值就下降的很快,以大大将小注入到网络中的分组数。
  • 快重传和快恢复
    快重传
    一条TCP连接有时会因等待重传计时器的超时而空闲较长的时间,慢开始和拥塞避免无法很好的解决这类问题,因此提出了快重传和快恢复的拥塞控制方法。
    快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。
    快恢复
  • 当发送方连续收到三个重复确认时,就执行“乘法减小”算法,把ssthresh门限减半。
  • 考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。
    在采用快恢复算法时,慢开始算法只是在TCP连接建立时和网络出现超时时才使用。

域名系统

域名结构

在这里插入图片描述

域名服务器

在这里插入图片描述
根域名服务器(root name server)是最高层次的域名服务器,也是最重要的域名服务器,全球共设有 13 个根域名服务器。
DNS域名解析过程
查询方式:迭代查询和递归查询;

  • 迭代查询
    本地域名服务器向根域名服务器的查询方式通常采取迭代查询(iterative query)。
    在这里插入图片描述

  • 递归查询
    主机向本地域名服务器的查询一般都采用递归查询(recursive query)。
    在这里插入图片描述

DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68(客户端)。DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

DHCP报文种类

DHCP共有8种报文,报文基本功能:

  • Discover(0x01)DHCP客户端在请求IP地址时并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送Discover请求报文,以发现网络中的DHCP服务器。
  • Offer(0x02)DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给DHCP客户端,告知用户本服务器可以为其提供IP地址。
  • Request(0x03)DHCP客户端可能会收到很多Offer请求报文,所以必须在这些应答中选择一个。通常是选择第一个Offer应答报文的服务器作为自己的目标服务器,并向该服务器发送一个广播的Request请求报文,通告选择的服务器,希望获得所分配的IP地址。
  • ACK(0x05)DHCP服务器收到Request请求报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK应答报文,通知用户可以使用分配的IP地址。
  • NAK(0x06)如果DHCP服务器收到Request请求报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文,通知用户无法分配合适的IP地址。
  • Release(0x07)当DHCP客户端不再需要使用分配IP地址时(一般出现在客户端关机、下线等状况)就会主动向DHCP服务器发送RELEASE请求报文,告知服务器用户不再需要分配IP地址,请求DHCP服务器释放对应的IP地址。
  • Decline(0x04)DHCP客户端收到DHCP服务器ACK应答报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则会向DHCP服务器发送Decline请求报文,通知服务器所分配的IP地址不可用,以期获得新的IP地址。
  • Inform(0x08)DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了。
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-28 08:11:23  更:2021-07-28 08:14:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 18:25:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码