云计算寒假----第三天

TCP和UDP
1,TCP是面向链接的协议,而UDP是无连接的协议;
2,TCP协议的传输是可靠的,而UDP协议的传输“尽力而为”;
3,TCP协议可以实现流控,而UDP不行;
4,TCP可以分段,而UDP不行;
5,TCP消耗资源较大,传输效率较低;UDP耗费资源较小,速度快。
TCP和UDP的使用场景:
TCP协议更适用于对可靠性要求较高,但是对传输效率和资源占用要求较低的场景;UDP更
适用于对传输效率要求较高,可靠性要求较低的场景(即时类通讯)。
TCP:面向链接,速度慢,可靠传输,20字节头(最短)
UDP:无连接,速度快,不可靠传输,8字节头(最短)
什么是面向链接?
在正式传输数据之前,先适用预先的协议,建立点到点的链接。 //侧面说明tcp无法广播或组播
TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。
TCP的头部: //八位等于一字节

URG:Urget pointer is valid (紧急指针字段值有效)

SYN: 表示建立连接

FIN: 表示关闭连接

ACK: 表示响应

PSH: 表示有 DATA数据传输

RST: 表示连接重置。

伪头部校验 --- 除了校验传输层头部和数据内容外,还会将网络层头部中的一部分内容一起进
行校验。 --- 确保数据完整性
UDP头部
封装和解封装图

 

TCP的三次握手: 

 

第一次握手:客户端给服务端发一个 SYN 报文,并指明客户端的初始化序列号 ISN©。此时客户端处于 SYN_SEND 状态。

首部的同步位SYN=1,初始序号seq=x,SYN=1的报文段不能携带数据,但要消耗掉一个序号。

第二次握手:服务器收到客户端的 SYN 报文之后,会以自己的 SYN 报文作为应答,并且也是指定了自己的初始化序列号 ISN(s)。同时会把客户端的 ISN + 1 作为ACK 的值,表示自己已经收到了客户端的 SYN,此时服务器处于 SYN_REVD 的状态。

在确认报文段中SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y。

第三次握手:客户端收到 SYN 报文之后,会发送一个 ACK 报文,当然,也是一样把服务器的 ISN + 1 作为 ACK 的值,表示已经收到了服务端的 SYN 报文,此时客户端处于 ESTABLISHED 状态。服务器收到 ACK 报文之后,也处于 ESTABLISHED 状态,此时,双方已建立起了连接。

确认报文段ACK=1,确认号ack=y+1,序号seq=x+1(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。

发送第一个SYN的一端将执行主动打开(active open),接收这个SYN并发回下一个SYN的另一端执行被动打开(passive open)。

//第三次握手的时候,是可以携带数据的。但是,第一次、第二次握手不可以携带数据

TCP的四次挥手:

第一次挥手:客户端发送一个 FIN 报文,报文中会指定一个序列号。此时客户端处于 FIN_WAIT1 状态。

即发出连接释放报文段(FIN=1,序号seq=u),并停止再发送数据,主动关闭TCP连接,进入FIN_WAIT1(终止等待1)状态,等待服务端的确认。

第二次挥手:服务端收到 FIN 之后,会发送 ACK 报文,且把客户端的序列号值 +1 作为 ACK 报文的序列号值,表明已经收到客户端的报文了,此时服务端处于 CLOSE_WAIT 状态。

即服务端收到连接释放报文段后即发出确认报文段(ACK=1,确认号ack=u+1,序号seq=v),服务端进入CLOSE_WAIT(关闭等待)状态,此时的TCP处于半关闭状态,客户端到服务端的连接释放。客户端收到服务端的确认后,进入FIN_WAIT2(终止等待2)状态,等待服务端发出的连接释放报文段。

第三次挥手:如果服务端也想断开连接了,和客户端的第一次挥手一样,发给 FIN 报文,且指定一个序列号。此时服务端处于 LAST_ACK 的状态。

即服务端没有要向客户端发出的数据,服务端发出连接释放报文段(FIN=1,ACK=1,序号seq=w,确认号ack=u+1),服务端进入LAST_ACK(最后确认)状态,等待客户端的确认。

第四次挥手:客户端收到 FIN 之后,一样发送一个 ACK 报文作为应答,且把服务端的序列号值 +1 作为自己 ACK 报文的序列号值,此时客户端处于 TIME_WAIT 状态。需要过一阵子以确保服务端收到自己的 ACK 报文之后才会进入 CLOSED 状态,服务端收到 ACK 报文之后,就处于关闭连接了,处于 CLOSED 状态。

即客户端收到服务端的连接释放报文段后,对此发出确认报文段(ACK=1,seq=u+1,ack=w+1),客户端进入TIME_WAIT(时间等待)状态。此时TCP未释放掉,需要经过时间等待计时器设置的时间2MSL后,客户端才进入CLOSED状态。

收到一个FIN只意味着在这一方向上没有数据流动。客户端执行主动关闭并进入TIME_WAIT是正常的,服务端通常执行被动关闭,不会进入TIME_WAIT状态

挥手为什么需要四次?

因为当服务端收到客户端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当服务端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉客户端,“你发的FIN报文我收到了”。只有等到我服务端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四次挥手。

2,TCP协议的传输是可靠的,而UDP协议的传输“尽力而为”;
TCP的可靠性 --- 确认,重传,排序,流控//流控与窗口有关
3,TCP协议可以实现流控,而UDP不行;
4,TCP可以分段,而UDP不行;
5,TCP消耗资源较大,传输效率较低;UDP耗费资源较小,速度快。
IP协议

 

TTL --- 生存时间 --- 数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为
0是,路由器将不再转发而直接丢弃。
协议号 --- 上层所适用的协议类型 --- TCP --- 6,UDP --- 17
IP的分片和TCP的分段
MTU --- 最大传输单元 --- 默认值1500字节
MSS --- 最大段长度 --- 理论值1460字节,这个值需要进行协商,这个参数在TCP的SYN包携
带,如果双方不一致,则将按照小的执行。
ENSP
GE --- 代表接口支持千兆的转发速率
Ethernet --- 代表接口支持百兆的转发速率
VRP --- 通用路由平台
<Huawei> --- 用户视图 ---- < > ---- 只能作查看类型的操作,不能配置
<Huawei>display ip interface brief --- 查看接口IP地址的摘要信息
<Huawei>system-view --- 进入系统视图的命令
Enter system view, return user view with Ctrl+Z.
[Huawei] ---- 系统视图的标志 --- [ ] --- 可以进行配置,但是只能进行一些全局类的配置
[Huawei]sysname aa
[aa]
[aa]interface GigabitEthernet 0/0/0 --- 进入接口视图
[aa-GigabitEthernet0/0/0]
[aa-GigabitEthernet0/0/0]ip address 192.168.1.1 24 --- 接口配置IP地址
[aa-GigabitEthernet0/0/0]quit --- 退回到上一个视图中
[aa]
[aa-GigabitEthernet0/0/1]undo ip address 192.168.2.1 255.255.255.0 --- 华为设备所有的删除操作
都是在原命令前面加undo
帮助系统
TAB --- 可以补全命令
? --- 可以展示以定义字母开头的所有命令。或者在命令完成后执行,可以将后面跟的参数进
行展示

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值