TCP/IP五层模型基本协议及相关报文知识

组成 : 物理层、数据链路层、 网络层 、 传输层、应用层

<1> 物理层:

  1. 传输比特流
  2. 依赖物理(电气)特性

<2> 数据链路层:

  1. 主要作用有三个: 封装成帧 、 透明传输、 差值校验
  2. 报文结构 : 目的地址 、 源地址 、 类型 、 数据 、 FCS
    常用类型:{
    IPv4:0x0800
    ARP:0x8035
    IPV6:0x86DD
    }
    FCS :{
    差错校验
    }

<3> 网络层(Internet Protocol)

  1. 主要作用: 路由、 转发
  2. 报文结构 :版本号、 头部长度、服务类型、 总长度 、标识、 标志位 、分片偏移、 生存时间、 协议、 首部检验和、 源IP、 目的IP、可选项 、 填充、 数据
    版本号:{
    一般为IPv4 少部分人用IPv6, 两个节点传输时版本必须一致。
    }
    服务类型:{
    ip报文头的长度,最小20个字节,最大60个字节
    }
    服务类型:{
    共八位 : 前三位标识报文的优先级,后边表示 : 时延 、吞吐量、 路由代价等
    }
    总长度:{
    包括报文头和数据的总长度,最大65535字节
    }
    标识:{
    数据包的标识:标识切片后的数据包位于完整的数据包的位置
    }
    标志位:{
    共三位 : 第一个位为0时表示该分片是最后一个,为1时后边还有。第二位为0表示可以分片,为1时不能分片
    }
    分片偏移:{
    指示本分片数据在初始数据报数据区中的偏移量,偏移量以8 Byte为单位,重组时分片顺序由片偏移提供。
    }
    生存时间:{
    TTL:用来控制数据包在网络中传输的距离,没经过一个节点TTL会减一,直到为0时该包被丢弃。可以避免数据包在网络中死循环
    }
    协议:{
    表示是哪个上层协议封装的,常见的有TCP、UDP
    }
    首部检验和:{
    用来保证IP头部的完整性
    }

<4> 传输层

  1. 基本功能:提供端到端的服务; 按端口寻址、 数据分割与重组、连接管理、差错管理和流量控制

  2. 协议:TCP、 UDP

  3. TCP/UDP 主要特点:{
    TCP:面向连接的、可靠的、 具有拥塞控制的、全双工通信、一对一的
    UDP: 不需连接、不可靠、没有拥塞控制、 不可靠信道、 可以一对多、速度快
    }

  4. TCP报文结构:源端口、 目的端口、 同步序列号、 确认序列号 、偏移量、保留、六个标志位、 滑动窗口、检验和、紧急指针、可选项、 填充、 数据
    源端口:{
    发送方的端口号
    }
    目的端口:{
    接收端端口号
    }
    同步序列号:{
    序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号,确保了TCP传输的有序性
    }
    确认序列号:{
    指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到
    }
    偏移量:{
    也叫首部长度,首部长度实际上指示了数据区在报文段中的起始偏移值
    }
    六个标志位:{
    URG:紧急指针,为1表示紧急指针有效
    ACK: 确认号有效否,为1时表示有效,为0时表示无效或忽略。
    psh: push标志,是否在缓冲区停留,为1时应尽快交给应用程序
    rst: 重置连接位,为1时,重置错误的连接或者拒绝连接请求
    syn: 用于建立连接时。
    fin : 用于断开连接时。
    }
    滑动窗口:{
    用来告知,接收端的缓冲区的大小,从而控制传输的速率,来达到流量控制的目的
    }
    校验和:{
    tcp头部和数据的大小,发送端计算和存储,接收端进行校验。
    }
    紧急指针:{
    URG置1时有效,用来控制发送端向接收端发送紧急数据的一种方式
    }
    可选项:{
    最常见的可选项字段是最大报文长度 MSS,通常在建立连接时的第一个报文中指明这个字段,不一定是32的整数倍所以要加填充
    }

  5. 三次握手:
    客户端向服务器发送了一个syn报文,(SYN=1,seq=j)
    服务器向客户端发送了一个ack报文,(SYN=1,ACK=1,ack=j+1,seq=k)
    客户端向服务器发送了一个ack报文,(SYN=0,ACK=1,ack=k+1)

  6. 四次挥手:
    客户端给服务器发送了一个fin报文,(FIN=1,seq=w)
    服务器给客户端发了一个ack报文,(ACK=1,seq=w+1)
    服务器给客户端发了一个fin报文,(FIN=1,seq=r)
    服务器给客户端发了一个ack报文,(ACK=1,seq=r+1)

<5> 应用层

  1. 跟应用程序相关的协议
  2. 主要的协议:{
    文件传输: ftp(文件传输协议)、tftp(简单的文件传输协议)
    邮件相关: smtp(简单的邮件传输协议)、 pop3(邮局协议3)、 IMAP(邮件访问协议)
    文本传输: http(超文本传输协议) https(安全的超文本传输协议)
    snmp : 简单的网络管理协议
    远程登录:SNMP(电信网络协议)、 ssh(安全外壳协议)
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值