美文网首页
了解TCP/IP协议

了解TCP/IP协议

作者: ___________枫林晚 | 来源:发表于2016-09-05 00:33 被阅读0次

 OSI (Open System Interconnection 开放式系统互联) 参考模型:

具体可参考:OSI参考模型

        它是由ISO国际标准化组织定义的一个标准,但只作为参考模型,所谓参考模型定义就是:供设备生产厂商或者软件厂商参考用的网络通信模型,而不是一个强制标准。TCP/IP 脱胎于OSI模型,所以要了解TCP/IP之前要先学习OSI。

OSI模型将网络通信的工作分为7层:也可以理解为7个步骤

OSI模型

1. 应用层:通常最具有代表性的协议:http、ftp、smtp、OICQ(QQ)等

2. 表示层:主要对数据进行处理,包括格式转化、加密、解密、压缩

3. 会话层:管理会话

4. 传输层:分配端口号port,建立连接 (TCP UDP)同时控制传输过程和资源开销

5. 网络层:提供路由选择(路由器),分配IP地址并寻址

6. 数据链路层:提供容错处理,差错控制,另一方面会将网络地址转化为mac地址,在物理层面进行寻址

7. 物理层:传输介质(网线、光纤),转化为二进制流通过光信号或电信号传输

对于我来说,并不需要深入理解每一层的机制,因为大部分的工作只停留在前4层。

TCP/IP 将OSI模型改写为4层

OSI TCP/IP关系

TCP协议(Transmission Control Protocol):传输控制协议

为了更好的理解TCP协议,可参考《使用wireshark分析TCP/IP协议中TCP包头的格式

1. 建立连接(3次握手)

    1>. 客户端向服务端发送SYN包,并进入SYN_SEND状态,等待服务器确认

    2>. 服务器接收到SYN包,必须确认接收状态,发送ACK包响应,同时发送自己的SYN包,并                                 

          进入SYN_RECV状态

     3>. 客户端接收到SYN+ACK包,进入ESTABLISHED状态,并向服务器发送SYN包确认ACK,服务器接收到ACK包,并进入ESTABLISHED状态

当客户端和服务端都进入ESTABLISHED状态,客户端和服务端就可以开始双向传递数据了。

具体流程如图:

3次握手

2. 关闭连接

    1>. 主动关闭方向被动关闭端发送FIN包,并进入FIN_WAIT1状态

     2>. 被动关闭端接收到FIN包后,向主动关闭方发送ACK包,并进入CLOSE_WAIT;主动关闭    方接收到ACK包,向被动关闭方发送ACK包,并进入FIN_WAIT2状态。

      3>. 被动关闭方发送FIN包,并进入LAST_ACK状态

      4>. 主动关闭方接收到FIN后,向被动关闭方发送ACK包,此时主动关闭方进入TIME_WAIT状态,在2MSL(生命周期)时间后关闭连接;被动关闭方在接收到ACK后,关闭连接


3. 保证可靠  :也是TCP最重要的特点


UDP协议(User Diagram Protocol)用户数据报协议

UDP和TCP的最主要的区别在于可靠性的保证上面,主要体现在没有3次握手的过程。

UDP非常简单

特点:1.  可靠性差 ,它不会去关注数据报是否传输成功,是否丢失

          2. 性能好

TCP/UDP报文格式

TCP和UDP选择问题

因为TCP基本可以使用所有场景,所用用TCP不会错,但是有些场景需要考虑性能和不需要可靠性保证,所以不需要所有数据的传输可靠,所以选择UDP,比如,视频聊天等

相关文章

  • TCP协议

    TCP/IP协议分层详解TCP/IP协议详解通俗易懂网络协议(TCP/IP概述)什么是TCP/IP协议?

  • http网络基础

    作者:李成文;标签: 网络基础TCP/IP TCP/IP 为了理解HTTP,首先先了解TCP/IP协议族,通常使用...

  • 《图解HTTP》读书笔记

    第一章:了解Web及网路基础 TCP/IP协议 把互联网想关联的协议集合起来总称为TCP/IP协议TCP/IP 协...

  • Socket

    Socket socket是什么 socket是什么?socket在哪?先了解TCP/IP协议 TCP/IP:传输...

  • TCP/IP协议

    一、关于TCP/IP TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP...

  • Android网络基础知识

    网络体系 主要关注TCP/IP模型,了解OSI模型即可image.png TCP/IP协议族 TCP/IP概念层模...

  • 关于网络基础知识TCP/IP(三)

    四、掌握TCP/IP协议:TCP/IP3次握手 4.1 IP协议是TCP/IP协议中最重要的协议,它为TCP UD...

  • TCP HTTPS专题

    TCP HTTPS专题 TCP协议 TCP/IP协议分层 TCP/IP 协议族里重要的一点就是分层。 TCP/IP...

  • (二)TCP/IP四层模型

    1、基本介绍 TCP/IP协议,也称TCP/IP协议族或TCP/IP协议栈,其中: TCP:Transmissio...

  • TCP/IP 网络协议 简记

    参考文档TCP/IP网络协议TCP/IP 协议 **************************** 常见协议...

网友评论

      本文标题:了解TCP/IP协议

      本文链接:https://www.haomeiwen.com/subject/ooblettx.html