假设一个5000KB的http报文,传输时怎么样被分段?
如题.假设一个5000KB的HTTP报文用TCP从客户端向服务器端传输.
在传输层(TCP)需要把这个报文分成几段吗? 因为一个TCP消息段(SEGMENT)的大小一般是MSS(值是536).或者是512。
如果不是在传输层分段,难道是在应用层,即由浏览器等程序自行控制。
[解决办法]
up
[解决办法]
在IP层进行分段和重组
[解决办法]
分段啊
自定义一个简单协议,接收方能将报文组合就可以了!
[解决办法]
对于以太网,MSS值可达1460字节。使用IEEE802.3的封装,MSS可以达到1452字节。
BSD/386和SVR4的MSS为1024,这是因为许多BSD的实现版本需要MSS为512的倍数。其它的系统,如SunOS4.1.3, Solaris2.2和AIX3.2.2,当双方都在一个本地以太网上时都规定MSS为1460。
如果目的IP为“非本地的(nonlocal)”, MSS通常的默认值为536。
[解决办法]
你直接传递给TCP,这个时候是不管理报文的大小的,到IP的时候,才会进行分组。
你可以不管的,由系统来处理。
[解决办法]
直接发送不用处理,关于分片的处理都是又IP层来做的和传输层没有关系,TCP协议已经保证了数据的可靠到达。但如果发送时已经返回一个wouldblock的错误就不要发送了。