网络层协议

一、网络层

IP报文头部

在这里插入图片描述

  1. 版本 :IPv4、IPv6
  2. 头部长度(20-60字节):IP数据报长度,因为长度可变,需要定义。
  3. 优先级和服务类型:共8位,包括一个三位的优先权字段(COS)和四位的TOS字段和一位保留字段,其中四位TOS字段分别表示最小时时延、最大吞吐量、最高可靠性、最小费用
  4. 总长度:IP数据包总长度

IP分片:
设备之间相互传输数据不能超过最大传输单元
(MTU:在以太网中,MTU值为:46-1500)

  1. 标识字段:作用相当于序号,假设第一个分片的报文序号随机为X,则后续的每个报文+1

  2. 标志位(3bit):第一位保留,取值为0;第二位(DF)代表报文是否可以被分片,取值为0表示可以分片,取值为1表示不能被分片;第三位(MF)代表该报文是否为最后一片报文,0代表最后一片,1代表后面还有分片

  3. 偏移字段:表示相对位置,单位为8字节
    计算:一个数据段长度为5000字节,MTU=1500,分出了多少片,每个报文的标识字段,标志位和片偏移是多少
    在这里插入图片描述

  4. TTL:生命周期字段,防止一个数据包在网络中无线循环下去,每经过一个路由器时数值减1,当TTL=0时,数据包丢弃

  5. 协议号:上层使用的协议;ICMP:1;TCP:6;UDP:17

  6. 首部校验和:检验IP头部的完整性

二、传输层

端口号:标识不同的进程

  • 静态端口号:1-1023—>固定给网络上常见的某个协议使用
服务端口
telnnet23
ftp20/21
http80
dns53
https443
dhcp67/68
  • 动态端口:1024-65535—>某些协议自动随机生成的端口

1、TCP协议—传输控制协议

是一种面向连接的可靠传输协议
在这里插入图片描述

  1. 源端口号
  2. 目标端口号
  3. 序列号:TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收。
  4. 确认序列号:用于确认发送端的信息
  5. 数据偏移:类似IP报文中的偏移字段
  6. 保留字段
  7. 标志字段:
字段意义
紧急位(URG)发送进程将紧急位URG置1,表示该报文段的优先级高,需要插到报文段的最前面,尽快发送。URG位要与紧急指针字段一起使用
确认位(ACK)按照TCP的规定,在TCP连接建立之后发送的所有报文段的ACK位都要置1
推送位(PSH)当两个进程进行交互式通信时,一端应用进程希望在输入一个命令后,能立即得到对方的响应时,就将PSH置1,并立即创建一个报文段传送给对方,对方接收到PSH置1的报文段后,就尽快交给应用进程,请求尽快应答。
复位位(RST)复位RST置1 ,有两种含义:1、因主机崩溃等原因造成TCP连接出错,需要立即释放连接,然后重建连接 2、拒绝非法TCP报文或拒绝释放一个连接
同步位(SYN)同步位SYN在连接建立时同步序号
终止位(FIN)终止位用来释放一个TCP连接
  1. 窗口大小:窗口字段值是准备接收下一个TCP报文段的接收端,通知即将发送报文的发送端,下一次最多可以发送报文段的字节数
  2. 校验和:长度为16位,共2个字节。对整个TCP报文段,即TCP头部和TCP数据进行校验和计算,接收端用于对收到的数据包进行验证
  3. 紧急指针:只有当URG标志置1时紧急指针才有效。紧急指针是一个正的偏移量,和序号字段中的值相加表示紧急数据最后一个字节的序号

TCP协议的可靠性机制

  • 确认机制:每收到一个数据段,都需要进行一次确认
  • 重传机制:当一个数据段中的某个包丢失,发出者都会重新发送这个报文
  • 排序机制:传输一个数据段,被分为多个报文后从不同的路径传输,最终到达目的地顺序会被打乱,所以需要重新排序,依靠TCP首部的序列号字段进行排序
  • 流控机制(滑动窗口机制):调节窗口大小来进行流量控制—窗口大小:指无需等待确认就可以连续发送数据的最大量

TCP分段

用来代替IP分片
MSS(最大传输段)=MTU-IP头部-TCP头部
经过TCP分段的数据在传输过程中不允许进行IP分片

面向连接

  • 三次握手
    在这里插入图片描述

第一次握手:客户端向服务端发送一个TCP的SYN标志位为1和随机生成的初始序号seq=x的“连接建立请求报文”,“连接建立请求报文”不携带数据字段,随机生成的初始序号保存在包头的序列号(sequence number)字段里

第二次握手:服务端收到客户端发送的“连接建立请求报文”后,如果同意建立连接,则向客户端发送标志位SYN=1,ACK=1的“连接建立请求确认报文”,确认号ack=x+1表示对客户端发送的“连接建立请求报文”的确认,服务端也会随机生成一个初始序列号seq=y

第三次握手:客户端再次发送标志位ACK=1的确认报文,确认序列号为ack=y+1,序列号seq=x+1

  • 四次挥手
    在这里插入图片描述

第一次挥手:当客户端完成一次数据传输,主动提出释放TCP连接时,它会向服务端发送一个标志位FIN=1和随机生成的序列号seq=u的“连接释放请求报文”

第二次挥手:服务端接收到“连接释放请求报文”后会向客户端发送标志位ACK=1,序列号seq=v,确认序列号ack=u+1的“连接释放请求确认报文”
此时客户端到服务端的TCP连接断开,但是,服务端到客户端的TCP连接还没有断开服务端可以继续发送数据报文直至完毕

第三次挥手:服务端向客户端发送标志位FIN=1,ACK=1,确认序列号ack=u+1,随机序列号seq=w的“连接释放请求报文”

第四次挥手:客户端收到服务端发送的“连接释放请求报文”,向服务端发送一个标志位ACK=1,seq=u+1,ack=w+1的确认报文

2、UDP协议—用户数据报协议

是一种面向非连接的不可靠传输协议
在这里插入图片描述

TCP与UDP的区别

  • TCP协议是面向连接的,而UDP协议是面向无连接
  • TCP协议是可靠的,而UDP是不可靠的
  • TCP具备流量控制和拥塞控制,而UDP没有
  • TCP可以分段
  • TCP消耗的资源多,速度慢;UDP消耗资源少,速度快

ICMP解析

用来在网络设备间传递各种差错、控制,查询等信息,对于收集各种网络信息、诊断和排除各种网络故障
在这里插入图片描述
ping—检测网络联通性

-a     指定ping包中的源IP地址,如果不指定源IP地址,则采用出接口的IP地址作为报文源IP
-c(-n/-t) 指定发送报文次数,缺省情况下是五次
-h 指定TTL值,缺省为255

tracert—逐跳检测追踪报文的转发路径

三、Telnet

telnet是基于TCP协议的,端口号23
在这里插入图片描述
客户端配置

<Huawei>system-view 
[Huawei]sysname client
[client]int g0/0/0
[client-GigabitEthernet0/0/0]ip address 192.168.1.1 24

服务端配置

<Huawei>system-view 
[Huawei]sysname server
[server]int g0/0/0
[server-GigabitEthernet0/0/0]ip address 192.168.1.2 24
[server]user-interface vty 0 4
[server-ui-vty0-4]authentication-mode aaa
[server]aaa
[server-aaa]local-user huawei password cipher 123
[server-aaa]local-user huawei privilege 15
[server-aaa]local-user huawei service-type telnet

测试:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值