计算机网络 -- 运输层(1)TCP和UDP基础

1.运输层与网络层关系

  • 网络层(IP)实现了不同主机之间的通信。
  • 运输层(TCP/UDP)实现了不同主机上的进程之间的通信(通过端口号实现)。

2.TCP实现可靠传输方法

流量控制,序号,确认,定时器

3.多路复用/分解

  • 多路分解:将运输层报文段中的内容交付到正确的套接字。(UDP通过二元组实现,TCP通过四元组区分实现分解到响应套接字。
  • 多路复用:在主机的不同套接字中搜集数据块,为其装上首部数据,生成报文段,将报文段传递到网络层。

 

4.UDP特性

4.1 UDP特点

  • UDP只做了运输层协议能够做的最少工作,除了复用/分解以及少量差错检测外,几乎没有对IP增加其他东西。
  • UDP在传输数据之前不需要握手连接。

4.2 UDP优点

  • 由于没有拥塞控制,数据传输实时性高。
  • 由于不需要建立连接,可以立即传输数据,时延低。

4.3 UDP缺点

  • 由于没有拥塞控制,造成分组溢出。
  • 数据传输不可靠,只提供差错检测,不提供差错纠正。

4.4 UDP使用场景

流式多媒体,因特网电话,SNMP, DNS

 

5. TCP特性

  • TCP是面向连接的可靠协议。
  • TCP协议只在端系统中运行,不在路由器交换机中运行(只看到数据报,而不是TCP连接)。
  • TCP提供点对点全双工服务。

5.1 TCP报文段

源端口/目的端口:用于多路复用/分解来自或送到上层应用的数据。

序号/确认号字段:实现可靠数据传输。

  • 序号是建立在传送的字节流之上,而不是建立在传送的报文段系列之上。一个报文段的序号是指该报文段首字节字节流编号。
  • 确认号是指主机期望收到的下一个字节的序号。

接收窗口:表示接收方愿意接受的字节数量,用于流量控制。

数据偏移/首部长度:由于首部可能含有可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为60字节。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。

URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。

ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。

PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应尽快将这个报文段交给应用程序,而不是在缓冲区排队。(仍然要经过缓冲区,只不过迅速将缓冲区中数据进行交付。

RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。

SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。

FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。

紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示紧急数据最后一个字节的序号。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。(紧急数据不经过缓冲区,直接交付到应用程序)

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值