美文网首页
TCP/IP的简介

TCP/IP的简介

作者: Jaypc | 来源:发表于2018-11-28 16:58 被阅读0次

什么是 TCP/IP ?计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(protocol)。TCP/IP 是互联网相关的各类协议族的总称,比如:TCP,UDP,IP,FTP,HTTP,ICMP,SMTP 等都属于 TCP/IP 族内的协议。像这样把与互联网相关联的协议集合起来总称为 TCP/IP。也有说法认为,TCP/IP 是指 TCP 和 IP 这两种协议。还有一种说法认为,TCP/IP 是在 IP 协议的通信过程中,使用到的协议族的统称。

什么是 TCP ?

TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的RFC 793定义。TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,你可以把它想象成排水管中的水流。TCP 为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据将会被重传。

···连接建立

TCP是因特网中的传输层协议,使用三次握手协议建立连接。当主动方发出SYN连接请求后,等待对方回答 SYN + ACK ,并最终对对方的 SYN 执行 ACK 确认。这种建立连接的方法可以防止产生错误的连接,TCP 使用的流量控制协议是可变大小的滑动窗口协议。

TCP三次握手的过程如下:

客户端发送 SYN(SEQ=x)报文给服务器端,进入 SYN_SEND 状态。 

服务器端收到 SYN 报文,回应一个 SYN (SEQ=y)ACK(ACK=x+1)报文,进入 SYN_RECV 状态。 

客户端收到服务器端的 SYN 报文,回应一个 ACK(ACK=y+1)报文,进入 Established 状态。

建立一个连接需要三次握手,而终止一个连接要经过四次握手,这是由TCP的半关闭(half-close)造成的。具体过程如下图所示。

什么是 UDP ?

UDP 是 User Datagram Protocol 的简称, 中文名是用户数据报协议,是 OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768 是 UDP 的正式规范。UDP 在 IP 报文的协议号是17。 UDP 协议全称是用户数据报协议,在网络中它与 TCP 协议一样用于处理数据包,是一种无连接的协议。UDP 有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。UDP 用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用 UDP 协议。 UDP 是不具有可靠性的数据报协议。细微的处理他会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,确不能保证消息一定会到达。因此应用有时会根据自己的需要进行重发处理。

TCP 与 UDP 的区别

TCP 用于在传输层有必要实现可靠传输的情况。由于它是面向有链接并具备顺序控制、重发控制等机制的,所以他可以为应用提供可靠的传输。 而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。 我们举一个通过 IP 电话进行通话的例子。如果使用 TCP,数据在传送途中如果丢失会被重发,但这样无法流畅的传输通话人的声音,会导致无法进行正常交流。而采用 UDP,他不会进行重发处理。从而也就不会有声音大幅度延迟到达的问题。即使有部分数据丢失,也支持会影响某一小部分的通话。此外,在多播与广播通信中也是用 UDP 而不是 TCP。

什么是 IP ?

网络之间互连的协议(IP)是 Internet Protocol 的外语缩写,IP 是在 TCP/IP 协议中网络层的主要协议,任务是仅仅根据源主机和目的主机的地址传送数据。为此目的,IP 定义了寻址方法和数据报的封装结构。第一个架构的主要版本,现在称为 IPv4,仍然是最主要的互联网协议,尽管世界各地正在积极部署 IPv6。 IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。 IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。

什么是 Socket ?

应用在使用 TCP 或 UDP 时,会用到操作系统提供的类库。这种类库一般被称为 API(Application Programming Interface,应用编程接口)。 使用 TCP 或 UDP 通讯时,优惠广泛使用到套接字(Socket)的 API。套接字原本是由 BSD UNIX 开发的,但是后被移植到了 Windows 的 Winsock 以及嵌入式操作系统中。 应用程序利用套接字,可以设置对端的 IP 地址,端口号,并实现数据的发送与接收。 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个 Socket。 建立网络通信连接至少要一对端口号(Socket)。Socket 本质是编程接口(API),对 TCP/IP 的封装,TCP/IP 也要提供可供程序员做网络开发所用的接口,这就是 Socket 编程接口;HTTP 是轿车,提供了封装或者显示数据的具体形式;Socket 是发动机,提供了网络通信的能力。

---------------------

原文:https://blog.csdn.net/chaoshenzhaoxichao/article/details/79785318

相关文章

  • TCP/IP精要

    TCP/IP简介 1、 TCP/IP :传输控制协议/网际协议 (Transmission Control Pro...

  • TCP建立连接和断开连接图解

    TCP报文简介 TCP报文格式TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图...

  • 网络层面试题

    主要参考:[面试∙网络] TCP/IP(六):HTTP 与 HTTPS 简介[面试∙网络] TCP/IP(五):T...

  • TCP/IP 卷Ⅰ协议-绪论

    TCP/IP 概述 简介:本系列文章,主要对TCP/IP协议族进行概述,其实对于整个计算机网络来说,TCP/IP只...

  • TCP/IP 简介

    2017-09-27摘抄自W3school-TCP/IP 简介希望帮助自己系统地打好基础,也能在做笔记的同时添加一...

  • TCP/IP简介

    任何计算机想要连接互联网就必须支持互联网协议。但是互联网协议包含了上百种协议标准,但是最重要的两个协议是 TCP ...

  • TCP/IP简介

    网络和协议 网络是计算机或类似计算机的设备之间通过常用传输介质进行通信的集合。 网络协议就是一套通用规则,用来帮助...

  • TCP/IP简介

    本文转载自实验楼:TCP/IP简介 TCP/IP 背景和介绍 上世纪 70 年代,随着计算机技术的发展,计算机使用...

  • 常用网络通信协议说明

    一、TCP/IP 1.简介 TCP/IP 指传输控制协议/网际协议(Transmission Control Pr...

  • 《TCP/IP 详解》

    简介 TCP/IP已经是计算机网络的事实上的标准。在TCP/IP的著作中,Stevens的三卷《TCP/IP 详解...

网友评论

      本文标题:TCP/IP的简介

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