网络协议-TCP、IP协议和互联网协议群

TCP/IP协议群包括应用层、传输层、网络层、链接层和物理层,确保设备间的通信。三次握手用于建立连接,确保双方都能通信,而四次挥手则用于可靠地终止连接。TCP协议通过序列号和确认号保证数据的有序传输和可靠性。
摘要由CSDN通过智能技术生成

目录

TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite)

应用层(Application)(合并简化了展示层,会话层)

传输层(Transport)

网络层(Internet)

链接层(Link)

 物理层(Pysical)

 TCP/IP封包

 完整的TCP协议头

TCP协议封包(传输层协议)

建立TCP/IP连接为什么需要三次握手?

传输和处理数据顺序

确定一个消息的顺序:绝对时间

TCP/IP协议的处理方法

挥手(中断连接)

TCP的结束(场景)

总结与思考


TCP/IP协议群简介(互联网协议群)(Internet Protocol Suite)

类似OSI模型,一种网络协议的概念模型。

应用层(Application)(合并简化了展示层,会话层)

提供应用间通信能力

传输层(Transport)

提供主机到主机(host-to-host)的通信能力

网络层(Internet)

提供地址到地址的通信能力

链接层(Link)

提供设备到设备的通信能力

 物理层(Pysical)

 TCP/IP封包

 

 完整的TCP协议头

TCP协议封包(传输层协议)

  • 每个封包称作一个TCP信息段(TCP Segment)
  • Header用于描述传输行为(如源端口,目标端口等)
  • Header后面跟若干个byte数据,每个byte拥有自己的序列号

建立TCP/IP连接为什么需要三次握手?

客户端SYN_SEND【通过connect()】——请求同步SYN——》服务端【listen()】收到,状态变为SYN-RECEIVED

——我确认收到你的同步请求SYN-ACK——》客户端收到状态变为ESTABLISHED(客户端处于连接状态)——确认——》服务端收到ESTABLISHED(服务端处于连接状态)【然后开始交换数据】

具体步骤如下图:

 努力保证数据的可靠

传输和处理数据顺序

确定一个消息的顺序:绝对时间

使用发送、接收时间

  • 服务器时间差异如何解决?

使用自增序号

  • A-B-A-B类型会话可以解决?
  • A-(AB)-B类型会话如何解决?

TCP/IP协议的处理方法

消息的绝对顺序用(SEQ,ACK)这一对元组描述(不变量)

SEQ(Sequence):这个消息发送前一共发送了多少字节

ACK(Acknowledge):这个消息发送前一共收到了多少个字节

挥手(中断连接)

TCP的结束(场景)

可靠性

TCP的四次挥手

发起者close()【FIN_WAIT1】——FIN——>接收者CLOSE_WAIT【先处理自己的响应】LAST_ACK——ACK~FIN——》发起者【FIN_WAIT_2】【TIME_WAIT】——ACK——>CLOSED&&CLOSED

一个人说就聊到这,然后2个人把正在发和回复的消息处理完,都对对方说了就聊到这。然后连接就断了。

总结与思考

  • 最简化原则:没有足够的事情要做,就不必分层
  • 思考计算机对话和人对话的区别?为什么需要三次握手?

人对话是有上下文context的,计算机之间没有那么多上下文

  • 网络中的顺序问题,TCP协议给了完美的解法,这个方法是可以迁移的。(学算法的价值)

不变量(SEQ,ACK)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值