传输层(3)-缓冲区大小及限制、TCP输出

3.缓冲区大小及限制

影响IP数据报大小的限制。

1)IPv4数据报,最大大小是65535.

2)硬件规定的MTU。以太网的MTU是1500字节、SLIP链路1006字节或296字节

3)路径MTU。两个主机之间路径中最小的MTU。1500字节常见的路径MTU

4)IP数据报>MTU,IPv4执行分片

5)IPv4,DF位被设置(不分片)。路由器接收到一个超过其外出链路MTU大小且设置了DF位的IPv4数据报时,它将产生一个ICMPv4"destination unreachable, fragmentation needed but DF bit set"出错消息。

DF位用于路径MTU发现。

6)最小重组缓冲区大小,IPv4为576字节

7)TCP有一个MSS,用于向对端TCP通告对端在每个分节中能发送的最大TCP数据量。

4.TCP输出

说明:

调用write调用

1.当某个应用进程调用write时,内核从该应用进程的缓冲区中复制所有数据到缩写的套接字的发送缓冲区。如果套接字发送缓冲区容纳不下,则应用进程将被投入睡眠;如果应用进程缓冲区中所有数据都赋值到套接字发送缓冲区,则返回成功。

2.写一个TCP套接字的write调用成功返回仅仅表示我们可以重新使用原来的应用进程缓冲区,并不表明对端的TCP或应用进程已接收到数据。

TCP处理数据

1.TCP以MSS大小的或更小的块把数据传递给IP,同时给每个数据块安上一个TCP首部以构成TCP分节。

2.IP给每个TCP分节安上一个IP首部以构成IP数据报,并按照其目的IP地址查找路由表项以确定外出接口,然后把数据报传递给相应的数据链路。

3.每个数据链路都有一个输出队列,如果该队列已满,那么新到的分组将被丢弃,并沿协议栈向上返回一个错误:从数据链路到IP,再从IP到TCP。TCP将注意到这个错误,并在以后某个时刻重传相应的分节。应用进程并不知道这种暂时的情况。

时间: 2024-10-08 01:22:14

传输层(3)-缓冲区大小及限制、TCP输出的相关文章

传输层协议介绍、重要的TCP三次/四次握手(理论部分,敲黑板!)

本次我和小伙伴分享的是网络七层中的传输层,我将会分成以下几步为大家进行分解说明:1.TCP协议介绍2.TCP报文格式3.TCP三次握手4.TCP四次握手5.UDP协议介绍6.常见协议及其端口 一.TCP和UDP协议1.TCP是面向连接的.可靠的进程到进程通信的协议2.TCP提供全双工服务,即数据可在同一时间双向传输3.TCP报文段(不超过1500字节,1.5kb) TCP将若干个字节构成一个分组,叫报文段(Segment) TCP报文封装在IP数据报中TCP报文段:1.源端口号(16)2.目标端

TCP/IP传输层,你懂多少?

1. 传输层的主要功能是什么?2. 传输层如何区分不同应用程序的数据流?3. 传输层有哪些协议?4. 什么是UDP协议?5. 为什么有了UDP,还需要TCP?6. 什么是TCP协议?7. 怎么理解协议和程序?8. TCP是否真的有链接?9. 链接是如何建立的(逻辑上)?10. 所谓的建立TCP链接开销很大,具体是指什么?11. 三次握手的目的是什么?12. TCP如何提供可靠性?13. 什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?14. TCP中,序列号和应答号有哪些作用?15. 

TCP/IP和OSI传输层

一.传输层协议: 1.TCP 可靠传输 面向连接:数据传输之前需要先建立连接,传输成本相对较高,通过重传机制实现数据纠错,具备流控制功能. 什么是流控制:就是主机1给主机2发送数据的过程中,可能一次发送的数据量较大,那么主机2告诉主机1,自己的缓冲区没有足够的能力一次处理这么多数据,那么下一次发送数据的时候,主机1发送的数据量就相应的减少 2.UDP 不可靠传输 无连接:不需要事先建立连接,传输成本相对较低 两种传输有各自的应用领域 二.TCP和UDP包头的对比 从图中可以看出TCP包头是20字

传输层协议(TCP/UDP)介绍

一,TCP/IP协议族的传输层协议概况:1,TCP:传输控制协议2,UDP:用户数据报协议二,TCP/UDP协议详解:1,TCPa.TCP是面向连接的,可靠的进程到进程通信的协议 :TCP提供全双工服务,即数据可在同一时间双向传输.b.TCP报文段:TCP将若干个字节构成一个分组.叫报文段.TCP报文段封装在IP数据报中.数据段详解:.序号(32):发送端为每个字节进行编号,便于接收端正常重组.确认号(32):用于确认发送端的信息.窗口大小(16):用于说明本地可接收数据段的数目,窗口大小是可变

传输层的安全

1.tcp与udp协议的安全问题 tcp作为互联网中非常重要的一个协议,攻击者对它的攻击自然也是相当关注.突然想起经常听到tcp数据流服务这个词,为什么称数据流呢?这里数据流指的是应用层将数据下发给tcp层时是以字节流的形式的发送的.tcp维护着一个tcp发送缓冲区和一个接收缓冲区,所有应用层发来的字节流会存放在发送缓冲区中,网络层上传的tcp数据会存放在接收缓冲区中.对于tcp协议的安全将从四个方面来进行分析,分别是头部.协议.流量和验证. 基于头部的攻击可分为2类:一是攻击者可以发送无效的头

第五章 传输层

传输层的两个协议 TCP(Transmission Control Protocol,传输控制协议)需要将要传输的        文件分段传输   建立会话     可靠传输      流量控制 UDP(User Data Protocol,用户数据报协议)  一个数据包就能够完成数据通信 不分段 不需要建立会话 不可靠传输  不需要流量控制 常见使用UDP协议:QQ消息  屏幕广播 多播 广播  DNS解析 查看会话 netstat -n 查看建立会话的进程 netstat -nb 传输层协议

传输层协议总结

传输层 1.只有主机才有的层次 2.传输层使用网络层的服务为应用层提供通信服务 传输层的功能 1.传输层提供进程与进程之间的通信 2.网络层提供主机之间的逻辑通信 3.复用和分用 4.传输层对收到的报文进行差错检测 5.传输层的两种协议:tcp,udp tcp与udp tcp: 1.面向连接的传输控制协议tcp 2.传送数据之前必须建立连接,数据传送结束后要释放连接,不提供广播或多播服务,由于tcp要提供可靠的面向连接的传输服务,因此不可避免增加了许多开销,确认,流量控制,计时器及连接管理等 3

Mesh Profile (3.5)低传输层

(翻译自<MeshProfile v1.0>3.5 Lower Transport Layer) 综述 低传输层利用来自高传输层的PDU组成自身的消息,并且将这些消息发送给对侧的低传输层.这些高传输层PDU的大小可能适合一个单独的地传输层PDU,也可能被分片为多个低传输层PDU.当接收到消息时,低传输层处理低传输层PDU,可能需要将多个PDUs重组为高传输层PDU,一旦重组完成便将他们递交给高传输层. 低传输层PDU 低传输层PDU用于将高传输层PDU发送给其他节点. 低传输层PDU第一个oc

传输层协议详细介绍(重点4,网络小白必备知识)

一.首先我们先了解一下传输层里面的两种协议TCP协议特点:安全,低效.UDP协议特点:高效,不安全二.TCP报文段的详细介绍TCP协议就是端和端的连接,应用到应用的通信源端口号:你自己服务或应用的端口号目标端口号:对应的别人的服务或应用的端口号我们来了解一下常用的端口号序号:发送端为每个字节编号,便于接收端正确重组确认号:用于确认发送端的消息首部长度:这个TCP头部的长度标志位:URG:紧急指针位,是1就是开启,是0就是关闭,不经过缓存直接到对方主机的应用层PSH:快速接受传递给应用层,需要经过