HCIP 复习tcp

# 第一章,HCIA复习

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


抽象语言---->编码
编码------->二进制数
二进制数---->电信号
处理电信号
```

## OSI/RM七层参考模型

分层----核心思想

```
应用层---->人机交互的接口
表示层---->将编码转换为二进制,其本质是将格式进行统一。
会话层---->搭建一个端到端的连接。
传输层---->区分不同点的应用。端口号
网络层---->IP地址(IP协议)--->逻辑寻址
数据链路层---->MAC地址(以太网协议)--->物理寻址
物理层---->物理特性(端口数量大小、电气电压标准)
```

#### 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报文
```

| 应用层   | DHCP-Discover                           |
| -------- | --------------------------------------- |
| 传输层   | UDP;源端口:68;目端口:67             |
| 网络层   | 源IP:0.0.0.0     目IP:255.255.255.255 |
| 数据链路 | 源MAC:PC的MAC    目MAC:FFFF-FFFF-FFFF |

```
    交换机转发原理:交换机收到电信号后,会将电信号转换为二进制,之后,截取数据帧。
                1、首先查看数据帧中的源MAC地址,之后将该地址和数据进入接口的对应关系记录在本地的MAC地址表中。--->300S
                2、查看数据帧中的目的MAC地址,基于本地MAC地址表进行查找,如果表中存在对应记录关系,则执行单播转发;如果表中不存在对应关系,则进行洪泛(交换机会将数据从除了进入的接口外的所有接口发送一遍)
                
    
    交换机洪泛的情况:
    1、收到广播帧或组播帧的情况下,会进行数据洪泛
    2、收到未知单播帧
```

| 应用层     | DHCP-offer(携带可用的IP地址及掩码、网关、DNS等信息)        |
| ---------- | ------------------------------------------------------------ |
| 传输层     | UDP;源端口:67;目端口:68                                  |
| 网络层     | 源IP:2.1 ;目IP:2.101(华为设备会将即将分配的IP作为目的IP地址) |
| 数据链路层 | 源MAC:服务器MAC   目MAC:PC的MAC                            |

| 应用层     | DHCP-Request(正式请求自己想要的IP地址) |
| ---------- | ---------------------------------------- |
| 传输层     | UDP;源端口:68;目端口:67              |
| 网络层     | 源IP:0.0.0.0 ;目IP:255.255.255.255    |
| 数据链路层 | 源MAC:PC的MAC   目MAC:FFFF-FFFF-FFFF   |

| 应用层     | DHCP-ACK                          |
| ---------- | --------------------------------- |
| 传输层     | UDP;源端口:67;目端口:68       |
| 网络层     | 源IP:2.1 ;目IP:2.101           |
| 数据链路层 | 源MAC:服务器MAC   目MAC:PC的MAC |

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

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

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

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

| 应用层     | DNS请求报文                                   |
| ---------- | --------------------------------------------- |
| 传输层     | UDP;源端口:随机数;目端口:53               |
| 网络层     | 源IP:PC  ;目IP:本地记录的DNS服务器的IP地址 |
| 数据链路层 | 源MAC:PC;目MAC:网关的MAC地址               |

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

## TCP----传输控制协议

<font color='red'>**是一种面向连接的可靠传输协议**</font>。可靠、有序、无丢失和无重复

特点:

- TCP是一种面向连接的传输协议
- 每一条TCP连接有且只能存在两个端点,形成一种端到端的连接形式。
- 可靠、有序、无丢失和无重复
- TCP是提供全双工通讯。
  - 发送缓存
    - 想要发送的应用层数据
    - 已经发送但未收到确认的数据
  - 接收缓存
    - 按需到达但还未被应用程序提取的数据
    - 乱序到达的数据
- TCP是<font color='red'>**面向字节流**</font>的。

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

套接字:IP:Port
```

##### TCP报文段

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

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

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

**TCP的可靠性**

###### 排序机制

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

​    <font color='red'>**如果在本地进行了分段操作,则不需要进行分片操作**</font>。

###### 确认机制和重传机制

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

超时重传---快速重传

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

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

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

###### 流控---流量控制机制

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

​    **窗口大小体现在缓存区的大小**。

​    <font color='red'>**TCP要求发送方依据接收窗口rwnd来控制数据的发送量。rwnd等于接收方接收缓存大小减去已存数据量大小。即rwnd变量是可变的**</font>。

##### TCP面向连接

###### TCP连接的建立

```
TCP连接建立需要解决的问题:
1、要使双方均知晓对方的套接字信息。
2、允许双方进行参数协商(MSS、窗口值、是否使用选择确认机制)
3、给各设备进行资源分配
```

###### TCP连接释放

```
1、对双方各自资源的释放过程
2、任何一方都可以在数据传输结束后发送连接释放通知
```

同步连接,同步释放连接等过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值