HCIA复习--TCP/IP

抽象语言(文字、语音、图片)----->电脑可以识别的机器语言

抽象语言---->编码

编码------->二进制数

二进制数---->电信号

处理电信号

OSI/RM七层参考模型

分层----核心思想

开放式系统互联模型------国际化标准组织ISO提出----协议组(协议模型)

应用层:接收用户数据,人机交互的接口

表示层:将编码转换为二进制(加密、解密)---其本质是将格式进行统一

会话层:针对传输的每一种数据建立一条连接(防止不同数据之间相互干扰)

传输层:区分流量、定义数据传输方式;TCP、UDP

网络层:通过IP地址进行逻辑寻址

数据链路层:通过MAC地址进行物理寻址

LLC----逻辑链路控制层

MAC----介质访问控制层

物理层:定义协议物理特性(电压、电气、接口规范);传输比特流

控制层面:上三层

数据层面:下四层

PDU

协议数据单元-----数据在不同层面的表现形式

上三层----数据

传输层----数据段

网络层----数据包

数据链路层-数据帧

物理层----比特流

ARP协议----地址解析协议

  • 正向ARP:根据已知的目标IP地址获取目标MAC地址

    • ARP缓存表--->通过ARP协议获取到的信息为动态信息。180S
  • 反向ARP:根据已知的目标MAC地址获取目标IP地址

  • 免费ARP:1.自我介绍;2.地址的冲突检测;一般是在DHCP获取到IP地址后使用。

TCP/IP协议栈

TCP/IP标准模型---4层

TCP/IP对等模型---5层

跨层封装

DHCP服务

动态主机配置协议--->C/S架构

DHCP Discover报文---广播

DHCP Offer报文

交换机转发原理:交换机收到电信号后,会将电信号转换为二进制,之后,截取数据帧。

1、首先查看数据帧中的源MAC地址,之后将该地址和数据进入接口的对应关系记录在本地的MAC地址表中。--->300S

2、查看数据帧中的目的MAC地址,基于本地MAC地址表进行查找,如果表中存在对应记录关系,则执行单播转发;如果表中不存在对应关系,则进行洪泛(交换机会将数据从除了进入的接口外的所有接口发送一遍)

交换机洪泛的情况:

1、收到广播帧或组播帧的情况下,会进行数据洪泛

2、收到未知单播帧

URL:http://www.baidu.com:80/news/index.html

DNS服务---域名解析服务

基于UDP/TCP 53号端口进行封装。一般在客户端和服务端之间的查询和响应使用UDP协议;TCP协议用于主备服务器之间的数据传输。

DNS的查询过程----递归查询、迭代查询

路由器的转发原理:路由器基于数据包中的目的IP地址,查询本地路由表。若表中存在对应路由信息,则无条件转发数据;若表中不存在,则丢弃该数据包。

TCP----传输控制协议

是一种面向连接的可靠传输协议。可靠、有序、无丢失和无重复

特点:

  • TCP是一种面向连接的传输协议

  • 每一条TCP连接有且只能存在两个端点,形成一种端到端的连接形式。

  • 可靠、有序、无丢失和无重复

  • TCP是提供全双工通讯。

    • 发送缓存

      • 想要发送的应用层数据

      • 已经发送但未收到确认的数据

    • 接收缓存

      • 按需到达但还未被应用程序提取的数据

      • 乱序到达的数据

  • TCP是面向字节流的。

源IP、源端口、目IP、目端口----->TCP会话的四元组信息。

套接字:IP:Port

TCP分段

TCP协议封装的数据不允许在IP层面进行分片操作。

MSS(最大传输段)= MTU-IP头部-TCP头部

PMTU---路径MTU发现协议

面向连接

三次握手

四次挥手

TCP报文段

确认序列号表明是接收方期望收到发送方发送的下一个字节的序号;且表示之前的所有数据均已接收。-->累积确认

ACK确认位:当ACK=1时,确认序列号有意义。在连接建立后所有传输的报文段都必须将该标记位置为1。
SYN同步位:代表连接请求。
FIN终止位:表明此报文段发送方数据已发送完毕,要求释放连接。

RST复位:当TCP连接出现严重错误时,必须释放连接,然后重新建立传输连接。
URG紧急位:当URG=1时,表明此报文段中存在紧急数据,是高优先级数据,应尽快传输给应用层程序处理,不再缓存在排队。配合紧急指针使用。
PSH推送位:当PSH=1时,接收方应尽快交付数据给应用层程序,不再等待缓存填满再向上交付。

TCP的可靠性

排序机制

MTU---最大传输单元

MSS---最大段长度----TCP分段--->该参数是需要在TCP建立握手过程中通过前两次SYN报文段来进行协商确定。

如果在本地进行了分段操作,则不需要进行分片操作

确认机制和重传机制

RTT---往返时间

RTO---超时重传时间;略大于RTT时间--->动态变化的数值。加倍的形式进行变化。

超时重传---快速重传

在快速重传机制中,并不是因为RTO时间到达从而触发重传机制,该重传机制是根据对端的反馈信息进行重传,当连续3三收到相同的ACK报文时,发送端会重传数据。这3个连续的ACK报文被称为冗余ACK

累积确认----选择确认

选择确认机制也是需要进行协商的

流控---流量控制机制

窗口:指定的是无需等待确认应答,而可以继续发送数据包的最大值

窗口大小体现在缓存区的大小

TCP要求发送方依据接收窗口rwnd来控制数据的发送量。rwnd等于接收方接收缓存大小减去已存数据量大小。即rwnd变量是可变的

TCP面向连接

TCP连接的建立

TCP连接建立需要解决的问题:

1、要使双方均知晓对方的套接字信息。

2、允许双方进行参数协商(MSS、窗口值、是否使用选择确认机制)

3、给各设备进行资源分配

TCP连接释放

1、对双方各自资源的释放过程

2、任何一方都可以在数据传输结束后发送连接释放通知

相关推荐
静止了所有花开1 小时前
SpringMVC学习笔记(二)
笔记·学习
爱吃生蚝的于勒1 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
长安11082 小时前
前后端、网关、协议方面补充
网络
L_cl3 小时前
Python学习从0到1 day26 第三阶段 Spark ④ 数据输出
学习
Mephisto.java3 小时前
【大数据学习 | HBASE】hbase的读数据流程与hbase读取数据
大数据·学习·hbase
红中马喽4 小时前
JS学习日记(webAPI—DOM)
开发语言·前端·javascript·笔记·vscode·学习
hzyyyyyyyu5 小时前
隧道技术-tcp封装icmp出网
网络·网络协议·tcp/ip
尘浮生5 小时前
Java项目实战II基于微信小程序的移动学习平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·学习·微信小程序·小程序
南猿北者5 小时前
docker Network(网络)
网络·docker·容器
Young_202202026 小时前
学习笔记——KMP
笔记·学习