美文网首页
OSI传输层中的TCP和UDP

OSI传输层中的TCP和UDP

作者: 毛茸茸的我总念成橡皮虾 | 来源:发表于2015-03-30 16:50 被阅读157次

UDP和TCP都属于Socket协议。

UDP的特点:

1、每一次发送数据都需要绑定IP和端口号。相当于发送邮件,只管是否发送成功,不保证对方是否接收到数据,所以UDP是不安全的,有可能会丢失数据包。

2、UDP:类似于HTTP,也属于短连接。

TCP的特点:

1、只需要一次连接,属于 长连接,只要不断开的情况可以一直使用。TCP好像打电话,双方要通话,首先,要确定对方不是开机(网络可以到达),然后要确定是不是没有信号,然后还需要对方接听(通信链接)。

2、TCP通过3次“握手”来保证数据发送的安全性,不会丢失数据包。


详解:

OSI:开放系统互连参考模型:由下往上为

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

其中:

传输层:分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。

图1

因为,对应传输层而言,它只需要知道目标主机上的哪个服务程序来响应这个程序,而不需要知道这个服务程序是干什么的。因此,我们只需要能够抽象的表示出来这些应用程序和服务程序即可。我们使用端口号来抽象标识每个网络程序。

传输层有两大协议,即:TCP(传输控制协议)UDP(用户数据包协议)。TCP和UDP可以接收来自多个应用程序的数据流,并用端口号标识他们,然后把他们送给Internet层处理。同时TCP和UDP接收来自Internet层的数据包,也用端口号区分他们,然后交给不同的应用程序。

因此:在同一IP地址(同一个目标主机)上不同的端口号是两个不同的链接。IP地址和端口号用来唯一的确定网络上数据的目的地。

TCP中的“三次握手”:

目的:TCP是面向链接的(即端to端),在面向链接的环境中,开始传输数据之前,在两个中端之间必须先建立一个链接。建立链接的过程可以确保通信双方在发送应用程序数据包之前,都已经准备好了传送和接收数据。并且使通信双方统一了初始化序列号。

过程:传输前,需要进行三次握手建立链接。而通信结束后,通信双方都会使用改进的三次握手来关闭链接。

图2

SYN:seq=X;

1、A的TCP程序,为这个链接分配一个端口(设为9090)。

2、同时逻辑上的将TCP连接的状态设置为:正在连接。(通过在链接状态表中添加一条记录,记录中状态为:正在连接)

3、同时,随机生成一个初始序列号X,生成一个TCP包,将初始化序列号X设置为TCP中的序列号,发送给主机B。

SYN:seq=Y   ACK:ack=X+1;

1、B上TCP程序收到该数据包,查询9091端口状态,如果可以链接。

2、同样的,在逻辑上的将TCP连接的状态设置为:正在连接

3、同时,随机生成一个初始化序列号Y,根据接收的序列号X,生成应答号X+1,生成一个TCP包,将序列号和应答号分别设置到TCP包头中,将TCP数据包发给主机A。

SYN:seq=X+1   ACK:ack=Y+1.

1、A上的TCP程序接收到数据包,查询9090端口状态。

2、根据收到的SYN:seq=Y;ACK:ack=X+1; 封装一个TCP包 SYN:seq=x+1;ACK:ack=Y+1;发送给主机B。同时,TCP程序将链接状态表中该条记录状态设置为已连接。

3、主机B收到数据包,TCP程序将链接状态表中该条记录状态设置为已连接。

至此,一个TCP链接建立(三次握手)完成。

我们可以看到:

第一:传送的都是IP数据包,其实只是将收到的数据包交给TCP程序处理。

第二:链接状态,只是TCP程序中的一个逻辑状态。

参见:java-mzd.iteye.com/blog/1007577

相关文章

  • 常见面试题-计算机网络

    一、简述TCP/UDP的区别 TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常...

  • 每日一问(二十二)简述TCP和UDP的区别

    tcp 和 udp 是 OSI 模型中的运输层中的协议。tcp 提供可靠的通信传输,而 udp 则常被用于让广播和...

  • TCP 与 UDP

    TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于广播和细节控制交给应用的...

  • TCP和UDP

    TCP和UDP是OSI模型中的运输层中的协议。TCP提供可靠的通信传输,而UDP则常被用于广播和细节控制交给应用的...

  • iOS 面试题

    一、网络层 1.简介 TCP 和 UDP 区别,他们位于哪一层?TCP和UDP同属于OSI七层网络模型的第四层传输...

  • TCP与UDP

    TCP与UDP都是OSI七层协议中传输层的协议。 TCP(传输控制协议) 1)面向连接的服务,可靠连接。(三次握手...

  • xdl12

    OSI七层与TCP/IP五层网络架构详解 OSI七层与TCP/IP五层网络架构详解 TCP与UDP,传输层协议 T...

  • iOS 网络相关面试题(IP协议、IP数据报分片、IPv4编址、

    之前有说到OSI七层协议中的应用层(HTTP协议)、传输层(TCP协议、UDP协议),在传输层之上就是网络层,网络...

  • OSI传输层中的TCP和UDP

    UDP和TCP都属于Socket协议。 UDP的特点: 1、每一次发送数据都需要绑定IP和端口号。相当于发送邮件,...

  • 计算机网络面试题

    简述 TCP 和 UDP 的区别 TCP 和 UDP 是 OSI 网络模型中的运输层的协议,TCP 提供可靠的通信...

网友评论

      本文标题:OSI传输层中的TCP和UDP

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