HCIA第二次笔记

目录

OSI/RM七层参考模型——开放式的系统互联参考模型

核心——分层

TCP/IP模型——TCP/IP协议簇

应用层

应用层协议

封装与解封装

传输层

TCP协议和UDP协议的区别

TCP的报文

TCP的三次握手

TCP的四次挥手

TCP的四种可靠传输机制


OSI/RM七层参考模型——开放式的系统互联参考模型

每一层都在上一层的基础上提供增值服务

  • 应用层:为应用程序通过网络服务,它包含了各种用户使用的协议

  • 表示层:用于处理在两个通信系统中交换信息的表示方式,主要包括数据格式变换、数据的加密与解密、数据压缩与恢复等功能

  • 会话层:负责维护通信中两个节点之间的会话连接的建立、维护和断开,以及数据的交换

  • 传输层:向用户提供端到端的数据传输服务(实现端对端的传输),实现为上层屏蔽低层的数据传输问题,并可以区分不同的进程和服务→依靠端口号实现(根据端口号识别应用)

    端口号的实质是16位二进制,共2^16=65536个端口号

    0号作为保留端口号,实际上能够被使用的有65535个端口号

    1-1023:知名(著名)端口号

  • 网络层:逻辑寻址(IP地址)

  • 数据链路层:物理寻址(MAC地址)

    MAC:介质访问控制层

    LLC:逻辑链路控制层

  • 物理层:利用传输介质为通信的网络节点之间建立、维护和释放物理连接,实现比特流的透明传输,进而为数据链路层提供数据传输服务

核心——分层

1.更利于标准化——每一层的功能及所提供的服务都有精确的细化说明

2.降低层次之间的关联性——每一层只执行对应的功能,某一层出现的问题、某一层协议的增加或减少不会影响到其他层 

TCP/IP模型——TCP/IP协议簇

两种模型的区别

应用层

应用层协议

①HTTP协议:超文本传输协议,80端口

②HTTPS协议(==HTTP+SSL):超文本传输安全协议,443端口

③Telnet协议:远程终端协议,23端口

④DNS协议:域名解析协议,53端口

⑤FTP协议:文本传输协议,20/21端口

⑥DHCP协议:动态主机配置协议,67/68端口

封装与解封装

封装

  • 封装原理:

封装:将数据变为比特流的过程中,参考模型的每一层需要添加上特定的协议报头

        ——从高层往低层依次封装,每一层都把上层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包

  • 协议数据单元(PDU)

(TCP/IP)                                           (OSI-RM)

应用层——数据报文                         应用层——L7PDU

传输层——数据段                             表示层——L6PDU

网络层——数据包                             会话层——L5PDU

数据链路层——数据帧                         ······

物理层——比特流                              物理层——L1PDU

  • 封装过程:

应用层:原始数据 → 二进制数据

传输层:二进制数据 + TCP头部 → 数据段 (TCP头部的关键信息–端口号)

网络层:数据段 + IP头部 → 数据包 (IP头部的关键信息–IP地址)

数据链路层:数据包 + MAC头部 → 数据帧 (MAC头部的关键信息–MAC地址)

物理层:数据帧 → 比特流,在网线中传输

解封装

  • 解封装原理:

解封装 :封装的逆过程,数据从比特流还原为数据的过程

        ——从底层往高层依次解封装,每解封装一层,会将该层的封装的那个协议报头去掉

  • 解封装过程:

物理层:电信号 → 二进制数据,并将其送至数据链路层

数据链路层:查看MAC地址,地址是自己 → 拆掉MAC头部,继续传输;地址不是自己,就丢弃数据

网络层:查看IP地址,地址是自己 → 拆掉IP头部,继续传输;如果IP地址不是自己,则会路由表查找去往该网段的下一跳地址。如果存在转发路径,会为数据包添加一个新的二层帧头和帧尾部。

传输层:查看TCP头部(端口号),判断应该传到哪里,然后重组数据,传输到应用层

应用层:二进制 → 原始数据

传输层

TCP协议和UDP协议的区别

TCP协议和UDP协议的区别TCPUDP
连接面向连接无连接
传输可靠性可靠——可靠传输机制:排序、确认、重传、流控不可靠
分段可以分段不能分段
流控可以进行流控不能进行流控
转发效率较低较高
适用场景对于数据可靠性要求比较高,但是对于实时性要求相对较低的场景,如电子邮件对于数据可靠性要求比较低,但是对于实时性要求相对较高的场景,如视频聊天
  1. UDP是无连接的,在传输数据前不需要与对方建立连接

    TCP是面向连接的,在通信之间双方必须建立TCP连接
  2. UDP提供不可靠的服务,数据可能不按发送顺序到达接收方,也可能会重复或者丢失数据

    TCP提供可靠的服务,TCP协议可以保证传输的数据按发送顺序到达,且不出差错、不丢失、不重复  

TCP的报文

TCP报头最小是20字节→只有功能数据,无可选项(1字节=8位,即一层4字节,除去选项有五层,4*5=20字节)

源端口和目的端口:端口是传输层与应用层的服务接口(源IP,目的IP,源端口,目的端口,TCP→可以唯一标识一个TCP连接)

序号(seq):TCP是面向字节流的,TCP传送的报文可看成为连续的字节流。TCP报文段中每一个字节都有一个编号,该字段指明本报文段所发送的数据的第一个字节的序号

确认序号(ack):期望收到的下一个报文段首部的序号字段的值,确认具有累积效果。若确认号为M,则表明序号M-1为止的所有数据都已经正确收到

首部长度:TCP报头长度,大小不固定(不含数据部分的长度)

标志位:用于区分不同类型的TCP报文,相应标志位置位时有效

标志位含义
URG紧急标志位,表明此报文段中包含紧急数据
ACK确认标志位,表明确认号字段有效
PSH推送标志位,表明应尽快将此报文段交付给接收应用程序
RST重置标志位,表明TCP连接出现严重差错,需释放连接,然后再重新建立连接
SYN同步标志位,在连接建立时用来同步序号
FIN完成标志位,用来释放一个连接

窗口:该字段在传输过程中经常动态变化,表明现在允许对方发送的数据量,以字节为单位。TCP使用滑动窗口机制进行流量控制

校验和:校验数据包的完整性,检验和字段检查的范围包括伪首部、TCP首部和数据两部分,与UDP校验和计算方法相同,但是伪首部中的协议字段值是6

紧急指针:只有在URG=1时才有效,指明本报文段中紧急数据的字节数

选项:长度为0~40字节,注意必须填充为4字节的整数倍。最常用的选项字段是最大段长度MSS

TCP的三次握手

TCP三次握手的工作过程

(1)主机A的TCP向服务器B的TCP发出连接请求报文段,其首部中的同步比特标志位SYN应置为1,同时选择一个初始序号(随机)seq=x

(2)服务器B的TCP收到连接请求报文段后,则发回确认,标志位ACK应置为1,确认号应为ack=x+1。因为连接是双向的,所以服务器B也发出和A的连接请求,在报文段中同时应将SYN置为1,为自己选择一个初始序号seq=y

(3)主机A的TCP收到此报文段后,还要向服务器B给出确认,ACK应置为1,其确认号为ack=y+1;第一次握手发出的seq=x,由于ACK报文段不携带数据则不消耗序号,所以第三次握手发出的seq=x+1

TCP的四次挥手

TCP四次挥手的工作过程

(1)主机A的TCP通知对方要释放从主机A到服务器B这个方向的连接,将发往主机B的TCP报文段首部的终止比特标志位FIN置1,假定此时序号为seq=m

(2)服务器B的TCP收到释放连接的通知后,即发出确认,FIN需要消耗一个序号,所以其确认号为ack=m+1,这样从主机A到服务器B的连接就释放了,连接处于半开闭状态。此时如果服务器B还发送数据,主机A仍接收

(3)服务器B向主机A的数据发送结束后,TCP释放服务器B到主机A的连接。服务器B发出的连接释放报文段必须将终止比特标志位FIN置1,并假定其序号seq=n,因为标志位ACK不需要消耗序号,所以此时的确认号仍是ack=m+1

(4)主机A必须对此发出确认,因为FIN需要消耗一个序号,所以给出的确认号为ack=n+1。最终双方连接释放全部完成

TCP的四种可靠传输机制

(1)排序

TCP数据包分段

假设有一份较大的数据包,如果这份数据包在发送的过程中出现丢包现象,TCP会发生重传,重传的是这一大份数据包。如果TCP把这份数据包分段成几个小的数据包,此时如果在发送过程中发生丢包,那么TCP只会重传丢失的那一小部分数据包

MTU最大传输单元——默认最大1500字节,是数据链路层的参数(限制二层数据)

MSS最大分段大小——MTU-IP协议报头最小长度,最大1480字节(限制分段)

(2)确认

接收端接收到分段数据时,根据fen'duan数据序号向发送端发送一个确认

(3)重传

如果发送端发完数据段之后,并没有收到接收端反馈的确认报文,重新发送一遍

(4)流控——滑动窗口机制

根据接收方的接收能力,通过接收窗口实现端到端的流量控制,接收端将接收窗口的值放在TCP报文中的“窗口”字段中传送给发送端

发送窗口在连接建立时由双方商定初始值。在通信的过程中,接收端可根据自己的资源情况,随时动态地调整自己的接收窗口,然后告诉发送方,使发送方的发送窗口和自己的接收窗口一致

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值