社区
Linux/Unix社区
帖子详情
TCP是一种无记录边界的字节流协议,其中的无记录边界怎样理解啊?
huangke2006
2009-03-02 08:03:15
如题!
...全文
801
9
打赏
收藏
TCP是一种无记录边界的字节流协议,其中的无记录边界怎样理解啊?
如题!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
独孤过儿
2009-03-04
打赏
举报
回复
[Quote=引用 8 楼 yuchenchen2003 的回复:]
比如我使用socket发送数据,数据要一层层封装,然后经过网卡从我的主机,通过网线在网线上传输0、1序列。能说说 一层层封装,这个层具体是什么? 是我主机里面的操作系统的软件?
假设我的数据通过网线传到了一个路由器上,路由器要做什么?是什么负责做的,协议栈?
[/Quote]
比如TCP/IP,实际上从上到下是应用层,传输层,网络层,链路层。应用层的协议有FTP,HTTP,传输层的协议现
在有三种,TCP,UDP,SCTP,网络层的IP,链路层的以太网,X.25。这四层立体的结构,就叫做协议栈。
包在源端由上层往下逐层封装,最后从物理网口出去,通过光纤或者电缆到达对端,再从协议栈的底层网上逐层
解包,最后将数据传到相应的层,这样就实现了通信
yuchenchen2003
2009-03-04
打赏
举报
回复
比如我使用socket发送数据,数据要一层层封装,然后经过网卡从我的主机,通过网线在网线上传输0、1序列。能说说 一层层封装,这个层具体是什么? 是我主机里面的操作系统的软件?
假设我的数据通过网线传到了一个路由器上,路由器要做什么?是什么负责做的,协议栈?
独孤过儿
2009-03-04
打赏
举报
回复
[Quote=引用 3 楼 yuchenchen2003 的回复:]
数据最终在物理传输介质上传输 0和1的序列,接收端如何判断序列的开始结束,是否接收完?
[/Quote]
我给你举个例子啊,在通信的链路上,MTP2协议的包结构就是这样的,它以一个F标识做为一个数据包的首尾结
束标识,这个F是11111,如果接收端发现五个1,就认为这是一个包的起始和上一个包的结束了,并且在包内有
CRC检验和LI标识包的长度,这样就确保了包在传输过程中导致的bit位意外变化了。而如果实际传输的上层数
据要是包含五个1,那就会在连续五个1以后,插入一个0,而接收端接收到以后,会把那个0再去掉,这样就保
证了五个1仅仅是用来做首尾的flag的作用了
once_and_again
2009-03-04
打赏
举报
回复
数据 流?
linkagehorse
2009-03-04
打赏
举报
回复
[Quote=引用 1 楼 fetag 的回复:]
上层传下来的是以bit流的形式传下来的,比如限定在一个固定数值的bits,到这个固定长度断一下,这就是无边
界的。如果上层传下来的是一个完整的包的形式,比如有像固定的包头,CRC检验码,长度标志位等等这些信息的
,打成一个包的形式发给下层的,这样的就是有边界的了
[/Quote]
的确是这样的,通常情况下,协议报文都是有长度位的,比如IP,无长度位的报文,其data可能很大。
challenge99
2009-03-04
打赏
举报
回复
比如你发送100个字节的数据, 可能的情况
1 个 100字节的包
2 个 50 字节的包
1 个 99 字节的包, 1个1字节的包
......
yuchenchen2003
2009-03-04
打赏
举报
回复
数据最终在物理传输介质上传输 0和1的序列,接收端如何判断序列的开始结束,是否接收完?
猫已经找不回了
2009-03-02
打赏
举报
回复
[Quote=引用 1 楼 fetag 的回复:]
上层传下来的是以bit流的形式传下来的,比如限定在一个固定数值的bits,到这个固定长度断一下,这就是无边
界的。如果上层传下来的是一个完整的包的形式,比如有像固定的包头,CRC检验码,长度标志位等等这些信息的
,打成一个包的形式发给下层的,这样的就是有边界的了
[/Quote]
up
独孤过儿
2009-03-02
打赏
举报
回复
上层传下来的是以bit流的形式传下来的,比如限定在一个固定数值的bits,到这个固定长度断一下,这就是无边
界的。如果上层传下来的是一个完整的包的形式,比如有像固定的包头,CRC检验码,长度标志位等等这些信息的
,打成一个包的形式发给下层的,这样的就是有边界的了
TCP
是
一种
无
记录
边界
的
字节流
协议
无
记录
边界
:上层传下来的是以bit流的形式传下来的,比如限定在一个固定数值的bits,到这个固定长度断一下,这就是无边 界的。如果上层传下来的是一个完整的包的形式,比如有像固定的包头,CRC检验码,长度标志位...
如何
理解
是
TCP
面向
字节流
协议
?
之所以会说
TCP
是面向
字节流
的
协议
,UDP 是面向报文的
协议
,是因为操作系统对
TCP
和 UDP
协议
的发送方的机制不同,也就是问题原因在发送方。 先来说说为什么 UDP 是面向报文的
协议
? 当用户消息通过 UDP
协议
...
TCP
是面向
字节流
的
协议
,UDP 是面向报文的
协议
?这里该如何
理解
?
之所以会说
TCP
是面向
字节流
的
协议
,UDP 是面向报文的
协议
,是因为操作系统对
TCP
和 UDP
协议
的发送方的机制不同,也就是问题原因在发送方。 先来说说为什么 UDP 是面向报文的
协议
? 当用户消息通过 UDP
协议
...
如何
理解
TCP
是面向
字节流
协议
及粘包问题解决
如何
理解
TCP
是面向
字节流
协议
之所以说
TCP
是面向
字节流
协议
,UDP是面向报文
协议
。主要是因为发送方的发送消息的机制不同 UDP是面向报文
协议
udp在发送消息时,在传输层直接就将一个消息打包成一个完整的包,组装好...
(学习笔记)如何
理解
TCP
是面向
字节流
的
协议
,UDP是面向报文的
协议
?
之所以会说
TCP
是面向
字节流
的
协议
,UDP是面向报文的
协议
,是因为操作系统对
TCP
和UDP
协议
的发送方的机制不同,也就是问题原因在发送方。当两个消息的某个部分内容被分到同一个
TCP
报文时,就是常说的
TCP
粘包问题,这时...
Linux/Unix社区
23,216
社区成员
74,539
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章