第二章:两种参考模型:OSI参考模型、TCP/IP模型

一、OSI/RM---开放式的互联系统参考模式

(1)产生背景

各大厂商都有自己的私有协议;

跨厂商的设备不兼容;

用户维修成本增加;

ISO--国际标准化组织。

(2)OSI模型的通信过程

应用层:为各种应用程序提供网络服务

表示层:定义了数据的加密、解密、压缩、解压缩等格式

会话层:建立、维护我们通信双方的会话

传输层:建立端到端的连接----端口号---逻辑上的连接

知名端口号:1-1023

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

FTP协议---文件传输协议----21、22

SMTP协议----简单邮件传输协议----25---邮件发送方

pop协议----邮局协议---110---邮件接收方

telnet协议---远程登录协议----23

DNS---域名解析系统--53

TFTP协议---简单文件传输协议

动态端口号: 1024-65535 分配给不固定的服务

网络层:转发数据、提供路由

数据链路层:交换机,根据MAC地址寻址、转发数据、封装成帧、差错检测

LLC子层:逻辑链路控制子层:为传输数据提供一个安全的通道

MAC子层:媒体接入控制子层:控制线缆的传输物理层:定义一些传输标椎(线缆标准、电压标准、传输速率的标椎等)、传输电信号

(3)具体的通信过程:

封装:在原始数据的基础上加一些新的字段信息,形成一个新的数据

解封装:在最终形成新的数据的基础上,去掉一些字段信息,还原成最原始的数据。

二、TCP/IP模型----传输控制协议/互联网协议

(1)产生背景:

OSI模型划分层次太多,有的层次没有存在的必要;

OSI模型抢占市场失败;

(2)TCP协议(传输控制协议)

source port:源端口号

Desination port:目的端口号

Sequence number:序列表,标识从我本机发出去的数据的编号

Ack:确认序号,确认收到对方的消息,同时我也期望收到对方的下一条消息。

Data offset:数据偏移,

Reserved:保留,给未开发出的功能留出的空间

Window:窗口,标识收发数据的能力

checksum:校验和,检查数据的完整性

urgent pointer:紧急指针,可以让数据紧急发送

options:选项

padding:填充,

date:数据

TCP首部长度20字节

(3)TCP的机制:

TCP的三次握手

第一次握手

客户端给服务器发送一个SYN段(在 TCP 标头中 SYN 位字段为 1 的 TCP/IP 数据包), 该段中也包含客户端的初始序列号(Sequence number = x)。

第二次握手

服务器返回客户端 SYN 和ACK 段(在 TCP 标头中SYN和ACK位字段都为 1 的 TCP/IP 数据包), 该段中包含服务器的初始序列号(Sequence number = y);同时使 Acknowledgment number = x + 1来表示确认已收到客户端的 SYN段(Sequence number = x)。

第三次握手

客户端给服务器响应一个ACK段(在 TCP 标头中 ACK 位字段为 1 的 TCP/IP 数据包), 该段中使 Acknowledgment number = y + 1来表示确认已收到服务器的 SYN段(Sequence number = y)。

SYN:连接建立的标志

ACK=1,用于确认收到对方消息

TCP四次挥手:

在断开连接之前客户端和服务器都处于ESTABLISHED状态,双方都可以主动断开连接,以客户端主动断开连接为优。

第一次挥手:客户端打算断开连接,向服务器发送FIN报文,FIN报文中会指定一个序列号,之后客户端进入FIN_WAIT_1状态。也就是客户端发出连接释放报文段(FIN报文),指定序列号seq = u,主动关闭TCP连接,等待服务器的确认。

第二次挥手:服务器收到连接释放报文段(FIN报文)后,就向客户端发送ACK应答报文,以客户端的FIN报文的序列号 seq+1 作为ACK应答报文段的确认序列号ack = seq+1 = u + 1。

接着服务器进入CLOSE_WAIT(等待关闭)状态,此时的TCP处于半关闭状态,客户端到服务器的连接释放。客户端收到来自服务器的ACK应答报文段后,进入FIN_WAIT_2状态。

第三次挥手:服务器也打算断开连接,向客户端发送连接释放(FIN)报文段,之后服务器进LASK_ACK(最后确认)状态,等待客户端的确认。

服务器的连接释放(FIN)报文段的FIN=1,ACK=1,序列号seq=w,确认序列号ack=u+1。

第四次挥手:客户端收到来自服务器的连接释放(FIN)报文段后,会向服务器发送一个ACK应答报文段,以连接释放(FIN)报文段的确认序号 ack 作为ACK应答报文段的序列号 seq,以连接释放(FIN)报文段的序列号 seq+1作为确认序号ack。

之后客户端进入TIME_WAIT(时间等待)状态,服务器收到ACK应答报文段后,服务器就进入CLOSE(关闭)状态,到此服务器的连接已经完成关闭。

客户端处于TIME_WAIT状态时,此时的TCP还未释放掉,需要等待2MSL后,客户端才进入CLOSE状态。

FIN=1:连接释放的标志

传输确认机制:

TCP协议特点:

  1. 建立一个面向连接的可靠传输;

  1. 对数据分段;

  1. 进行流量控制

TCP适用场景:对传输效率要求高、对传输速率要求低

(4)UDP---用户数据协议

length:指udp头部长度+从上层传下来的数据长度

UDP协议特点:

  1. 建立一个不可靠的传输

  1. 没有流量控制、没有数据分段

UDP适用场景:对传输效率要求低、对传输速率要求高

(5)IP协议-----互联网协议

version:版本 v4或者v6

IHL:IP报文的首部长度

type of service:服务类型,标识数据的优先级

Total Length:IP头部+从上层传下来的数据长度

Identification:标识符,区分与其他的IP数据

Flags:标志位,代表数据是否需要分片

Fragment offset:片偏移

time to live:生存时间,数据每经过一个路由器,生存时间减1

protocol:协议,数据携带的上层协议

header checksum:首部校验和

source address:源地址

destionationaddress :目的地址

options:可选项

padding:填充

IP报文首部长度固定20字节

区分:

TCP的分段:1460字节---最长数据分段1500字节

IP的分片:1480字节----最大传输单元1500字节

(6)ICMP协议:----网际报文控制协议

ping命令:测试网络连通性

Echo reply:ping回复报文

Echo reply:ping请求报文

FCS:帧校验序列

PDU——-协议数据单元

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值