【第二章】

第二章

一、OSI--互联参考模型(ISO--国际标准化组织)

1、背景

(1)各大厂商都有自己的协议(不利于通信)

(2)跨厂商设备不兼容

(3)用户购买维护设备成本高

2、每层作用

  1. 应用层:为应用程序提供网络服务
  2. 表示层:定义数据的格式,对数据进行加密、解密、压缩、解压缩
  3. 会话层:对通信双方间的回话进行建立、维护、拆除---sesssion id--同一个应用程序的不同(进程)页面
  4. 传输层:建立端到端的连接(逻辑上的连接)--端口号

端口号:0-65535,0和65535系统保留端口号

知名端口号:1-1023, 众所周知的协议提供给端口号

HTTP:超级文本传输协议--80---TCP

HTTPS:安全的超级文本传输协议(加密)--8080---TCP

FTP:文件传输协议--20、21---TCP

SMTP:简单邮件传输协议,发送--25---TCP

POP3:邮局协议(第三版),接收--110---TCP

DNS:域名解析系统--将域名和IP地址进行转换--53---TCP/UDP

DHCP:动态主机配置协议,自动获取IP地址--67、68

Telenet协议:远程登录协议--23---TCP

动态端口号:1024-65534,客户端

  1. 网络层:网络层地址寻址(IP地址),提供路由--路由器
  2. 数据链路层:交换机--MAC地址寻址,封装成帧、差错检测、流量控制
  3. 物理层:传输比特流(传输二进制)、定义一些参数标准(定义电压【一根线两端电压,防止烧坏设备】、接口【原厂商充电线】、线缆、传输距离【依线缆而定】、物理拓扑、信号传输的模式等物理参数)

信号传输的模式:

  1. 单工模式:同一时刻,只有一个设备进行收或者发
  2. 半双工模式:同一时刻,两端的设备不能同时发送或者接收数据(对讲机)
  3. 全双工模式:同一时刻,两端的设备都能同时发送或者接收数据

  1. 通讯过程(封装与解封装)

封装:在原始数据的基础上额外加了一些头部信息

解封装:拆掉封装的额外头部信息,漏出最原始的数据

过程:

数据发送:从上至下层层封装

接收时:从下至上层层解封

  • TCP/IP参考模型
  1. 背景
  1. OSI抢占市场失败
  2. OSI划分层次太多,会话层和表示层存在意义不大
  1. 模型类型or区别

一般为5层模型(实战)

  1. 通讯过程

PDU:协议数据单元

  • TCP/IP协议簇抓包分析

SNMP:简单网络管理协议

TFTP:简单文件传输协议(类似http与https)

TCP/UDP/IP

Ethernet:以太网协议

  1. TCP协议---传输控制协议
  1. 头部:固定长度20字节,范围:20-60字节

  1. Source port:源端口
  2. Destination port:目标端口号
  3. Seq number:序列号,标识本机发出的数据报文的编号【找错】
  4. Ack number:确认序列号
    • 标识请求对方下次放松的数据报文的编号
    • 表示已经收到对方的数据报文
  5. Data offset:数据偏移,表示数据分段在完整数据中的位置
  6. Reserved:保留字段,留给未开发的功能
  7. URG=1,urgent pointer,紧急指针位(优先发送紧急数据)
  8. PSH:push推,使缓冲区的数据尽快的到达发送端
  9. RST:重置字段(路由器-恢复出厂设置)重新发送数据
  10. Window:窗口,通告我本机的接受或者发送数据的能力(以少的为主)
  11. Checksum:校验和(两端校验和一致为正确,不一致则在传输中没有丢失或者黑客篡改)保证数据在传输中的完整性
  12. Data:从应用层传下来的数据

(2)TCP可靠机制

TCP连接机制:

(一次连接)三次握手:第三次时已经将自己的数据发送出去

SYN:连接建立

(三次连接过程)

第一次:由客户端发出连接请求到服务器,服务器收到后可以确定客户的发送与自身的接收没问题。

第二次:再由服务器回话个客户,让客户知道自己的发送与接受没问题,这时服务器还不知自己的发送是否有碍,

第三次:需客户在此回话表示服务器的发送无碍时,方可以稳定建立连接,三次握手完成后就可以进行数据传输。

TCP三次握手抓包图

(传输层)MSS---最大分段长度--1k5字节

TCP的四次挥手:

FIN:标志断开连接

TCP四次挥手抓包图

(四次挥手过程) 

第一次:若由客户端发出断开请求时,当服务器收到后,表明了客户没有要给服务器发送数据的事。

第二次:当服务器收到后,再次回复给客户端表明同意你的请求。

第三次:再次由服务器给客户端发送关闭连接的请求。

第四次:客户端收到后,再次给服务器发送同意的信息时,就会关闭连接,此时当客户端等待2msl时,客户端依旧没有收到信息时,则证明服务器已正常关闭,此时客户端就可以正常关闭。

TCP确认重传机制(发消息/延迟):

Ack=上一次的seq+上一次的len(已连接ing)

Seq=上一次的Ack

滑动窗口机制:通过窗口大小,通告本机的接收能力,从而实现流量控制

完整性校验机制:通过checksum字段,实现对数据完整性的校验,保证数据在传输过程中的完整性

(3)TCP协议的特点

面向连接,可靠协议;

实现流量控制;

进行数据分段;

(4)适用场景:

对传输效率要求较低,对可靠性要求较高,浪费带宽资源

  1. UDP协议---用户数据协议
  1. 头部

  1. UDP特点:

不面向连接,不可靠协议;

没有流量控制机制;

  1. 适用场景

对传输效率要求高,可靠性要求低,不浪费带宽资源

  1. IP协议---互联网协议
  1. IP头部格式

Version:版本号,IPV4/IPV6

IHL:IP报文的头部长度,固定长度:20字节(八位一节、32*5/8),范围:20-60字节

Type of service:服务类型,QOS(服务质量),控制数据的优先级

Total length:总长度=IP头部+上层传下来的数据长度

Identification:标识符,保证数据被分片后区别与网络中其他IP数据报文(防止混淆)

MTU---最大传输单元---1k5字节(超过就分片)

Flags:标志位

  1. DF=1,不分片
  2. MF=1,分片

Fragment offset:分片偏移,表示在原始数据报文中分片后的位置(接收端收到数据包不好重组)

TTL:生存时间,代表数据包经过的路由器数量,0-255(每经过一个路由器-1直到为0丢弃)

Protocol:标识上层协议

Header checksum:头部校验和,对IP协议的头部做个校验(只保证头部信息不被篡改)

(2)TCP分段和IP分片

TCP分段:MSS

IP分片:MTU

  1. ICMP协议---网际报文控制协议
  1. 作用:差错(异常)报告;---ping

网络探询;---tracert

  1. 头部

  1. 实现工具

Ping命令:测试网络连通性

  1. 查询报文:我们可以通过发包数量与回报数量来判断目标的状况

Echo request:ping命令请求

Echo  reply:ping命令回复

  1. 差错检测报文:

网络不可达:网络故障

主机不可达:寻找的IP地址有问题

协议不可达:协议不兼容

端口不可达:防火墙禁ping服务,端口不连通

重定向:(最优)

指导数据报文的流向,使数据流向正确的网关;

特定情况下,当路由器检测到一台机器使用非优化路由时,它会向该主机发送一个ICMP重定向报文,请求主机改变路由

  1. 以太网帧协议
  1. 头部

前同步码:调整接收端的时钟周期使其与发送端一样(做准备)

帧开始定界符:标识数据帧的开始

FCS:MAC帧的尾部,帧校验序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值