运输层TCP/UDP 笔记

一、运输层协议概述

1.1 严格地讲,二个主机进行通信,就是二个主机中的应用进程进行通信。也就是端到端的通信是主机中应用进程的通信。

运输层提供应用进程间的逻辑通信,网络层为主机之间提供逻辑通信。运输层要对收到的报文进行差错检测,IP数据包首部的校验和字段,只是检查首部是否出错,不检验数据部分。

1.2 UDP 用户数据包协议 TCP 传输控制协议

二个对等的实体在通信时,传递的数据单元叫做运输协议数据单元。

UDP不需要建立连接,不需要给出任何确认。

TCP提供面向连接的服务,tcp不提供广播和多播,面向连接的服务多了很多开销,比如确认,流量控制,计时器,连接管理等。

     1.3 运输层端口

应用层所有的应用进程都可以通过运输层在传送到IP层,这就是复用(网络层),运输层从ip层收到数据包以后必须交付指明的应用进程,这就是分用。

运输层使用16位的端口号来标识一个端口。一个端口号标志着主机上的一个进程。

二、用户数据包协议UDP

     2.1  Udp是面向报文的,发送方对于应用程序下来的报文,既不合并,也不拆分,一次发送一个报文,在添加udp头部时,就交给ip层。
UDP没有阻塞控制,因此网络出现的阻塞,不会使源主机发送速率降低。
UDP支持一对一,一对多,多对多,多对一交互。
    
     2.2 UDP首部
只有8个字节,源端口,目的端口,长度,校验和,每个字段站2个字节。
     数据报部分就是应用程序直接发下来的报文。

三、传输控制协议TCP

3.1 tcp主要特点
tcp只能有2个断点
tcp提供可靠交付的服务,通过tcp传送的报文,无差错,不丢失,不重复,并且按序到达。
tcp提供全双工通信
面向字节流。tcp把应用程序叫下来的数据看作是一连串无结构的字节流。tcp便不知道所传送字节流的意思。当然接收方应该能够识别字节流,把他还原成有意义的应用层数据。
tcp不关心应用程序一次把多长的报文,发给给tcp,tcp会根据网络情况和窗口值,自己确定每次发送的报文长度。
3.2 tcp连接
tcp的二个端点叫做socket套接字。一个ip加上端口号,就表示一个socket套接字。
socket={IP地址:端口号}
每一条tcp连接,唯一地被通信二端的二个端点确定。一个ip可以有多个tcp连接,一个端口也可以有多个tcp连接。

猜你喜欢

转载自blog.csdn.net/liang0000zai/article/details/51320571