社区
Linux/Unix社区
帖子详情
TCP是一种无记录边界的字节流协议,其中的无记录边界怎样理解啊?
huangke2006
2009-03-02 08:03:15
如题!
...全文
803
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
传输
协议
是面向
字节流
的
协议
?如何解决粘包?
当用户通过
TCP
协议
发送消息的时候,消息可能会被操作系统分组成多个的
TCP
报文,也就是一个完整的用户消息被拆分为...之所以说
TCP
是面向
字节流
的,UDP是面向报文流的,是因为操作系统对
TCP
和UDP
协议
的发送方的机制不同。
TCP
是面向
字节流
的
协议
,UDP 是面向报文的
协议
?这里该如何
理解
?
之所以会说
TCP
是面向
字节流
的
协议
,UDP 是面向报文的
协议
,是因为操作系统对
TCP
和 UDP
协议
的发送方的机制不同,也就是问题原因在发送方。 先来说说为什么 UDP 是面向报文的
协议
? 当用户消息通过 UDP
协议
...
如何
理解
TCP
是面向
字节流
协议
及粘包问题解决
如何
理解
TCP
是面向
字节流
协议
之所以说
TCP
是面向
字节流
协议
,UDP是面向报文
协议
。主要是因为发送方的发送消息的机制不同 UDP是面向报文
协议
udp在发送消息时,在传输层直接就将一个消息打包成一个完整的包,组装好...
Linux/Unix社区
23,217
社区成员
74,540
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章