盖州| 克拉玛依| 赤城| 鄂托克前旗| 陈仓| 汶川| 略阳| 乳山| 元氏| 景县| 白银| 鄂托克前旗| 青田| 日喀则| 烟台| 珊瑚岛| 闻喜| 河源| 防城港| 东台| 射洪| 桂东| 兴业| 麻江| 长丰| 全南| 普安| 镇江| 安岳| 英德| 新都| 丰宁| 双江| 嘉鱼| 方城| 巴东| 克拉玛依| 城阳| 黄龙| 岚山| 沐川| 石林| 南山| 满洲里| 同安| 马边| 平南| 灌南| 阳西| 榕江| 高台| 芮城| 彝良| 浑源| 盱眙| 北辰| 富锦| 辽源| 靖远| 互助| 灌云| 长子| 信丰| 新乐| 南靖| 班戈| 商洛| 汉沽| 莆田| 修水| 开封市| 昌平| 江山| 临泉| 荣县| 海城| 荆门| 金溪| 玛沁| 墨竹工卡| 南昌县| 梁山| 正阳| 纳雍| 威海| 阿克陶| 商水| 衡南| 灵武| 深州| 泰宁| 聂荣| 木里| 吉首| 二连浩特| 稷山| 察哈尔右翼中旗| 和林格尔| 富阳| 文水| 防城港| 吴堡| 封开| 江夏| 密山| 万安| 颍上| 尉氏| 林周| 怀远| 赤壁| 神木| 临高| 衡东| 伊金霍洛旗| 郸城| 蒙城| 五莲| 洞口| 临沧| 石阡| 新津| 梧州| 五莲| 武冈| 临夏县| 蓝山| 赣州| 白河| 铜陵县| 邕宁| 和布克塞尔| 钓鱼岛| 宿豫| 阿鲁科尔沁旗| 仁怀| 辛集| 伊宁县| 怀来| 温泉| 双辽| 琼海| 荔波| 隆子| 甘棠镇| 定边| 平山| 和田| 新津| 长治市| 蒙城| 延长| 永福| 大港| 扶余| 鹤岗| 丰顺| 海宁| 肥乡| 安徽| 鹰潭| 米林| 大洼| 珊瑚岛| 太湖| 吉隆| 邻水| 荣成| 达拉特旗| 铅山| 漯河| 涞水| 墨玉| 景东| 河间| 额济纳旗| 土默特左旗| 正镶白旗| 天柱| 贵南| 雄县| 合山| 乌当| 衡山| 岐山| 洋县| 大龙山镇| 平坝| 嫩江| 南芬| 滦平| 江津| 子长| 赞皇| 玉龙| 双桥| 荣县| 平定| 安泽| 江安| 新都| 左云| 通许| 红岗| 江都| 金门| 景县| 抚松| 新干| 青田| 嘉善| 玉门| 汝南| 海南| 玉树| 蠡县| 威信| 迭部| 扎鲁特旗| 珙县| 高港| 甘德| 获嘉| 和龙| 沅陵| 文安| 拉孜| 二连浩特| 高淳| 宜春| 汝城| 峨边| 霍邱| 萨迦| 榆林| 扶沟| 海原| 南昌县| 武胜| 太谷| 交城| 焦作| 从化| 新泰| 孟州| 云梦| 马龙| 昌邑| 奇台| 召陵| 肥乡| 龙泉驿| 突泉| 定安| 建昌| 马鞍山| 阿克塞| 朝阳县| 阿荣旗| 长顺| 湘阴| 蕉岭| 五寨| 安徽| 澳门拉斯维加斯官网
|
|
51CTO旗下网站
|
|
移动端

如何通俗地解释一下 TCP/UDP 协议和 HTTP、FTP、SMTP 等协议之间的区别?

先来假设没有TCP,甚至没有IP层,只有MAC对应的数据链路层,HTTP等协议能跑多远!

作者:车小胖谈网络来源:车小胖谈网络|2019-01-18 11:22

先来假设没有TCP,甚至没有IP层,只有MAC对应的数据链路层,HTTP等协议能跑多远!

直接把HTTP封装在Ethernet Frame 里,可以吗?

当然可以,在同一个二层广播域里,通过MAC地址来识别对方,然后HTTP的数据通过网卡接口函数完成发送和接收。

第二个问题:如何保证数据万无一失地到达对方?

让网卡来保证数据的可靠传输吗?网卡只对Ethernet 帧头做解释,以太网头14个字节也没有哪个字段可以胜任这个可靠传输的任务,那HTTP是不是要自己实现数据传输得可靠机制,比如发送一段1000字节的数据,要等待对方给自己确认收到,然后再来发送,这样是可以保证数据可靠传输。

同样FTP,STMP,POP3,BGP都是要保证数据可靠的传输,那他们是不是也要自己实现这些可靠的机制呢?

必须的!

换句话说,只要有一个应用,要可靠传输,必须由 application protocol 来实现!是不是很笨啊???这所有application protocol 的可靠传输机制是同样的实现,代码都应该类似,如果我们把这些被重用的代码封装起来,即接口函数API,让他实现数据的可靠传输,同时用一个标识符来表明这是哪个application protocol,是不是可行呢?

当然可行了,快递公司不就是这样操作的嘛!

这就是伟大TCP/IP协议的缔造者所高度抽象出来的流量调度员:TCP!

TCP

它把可靠传输机制代码封装成了接口函数API,即socket , 同时用TCP Port来辨别其服务的application Protocol。而application protocol 只需要对自己的协议本身和协议数据做解释,完成端对端的会话。

第二个问题:现在 Ethernet + TCP + application protocol ,这个包能跑多远?

也就是一个广播域那么大的范围了吧?小样再怎么得瑟也逃不出广播域的圈圈!

IP层就是来解决这个问题的,有了IP层可以让Internet 成为可能,一句广告词:impossible is nothing! 要知道IP就是 Internet Protocol 的缩写。

你可能要问了, 我想要IP层,不想要TCP层,直接把数据封装在IP层可以吗?

太可以了!不光可以,而且好多协议也是这么做的,OSPF,EIGRP,GRE,ESP,AH等协议都是这么做的,如果他们想保证可靠传输,他们自己用代码来实现,这当然可以。

问题是IP只用一个字节来表示协议号,理论上只能辨识255种上层协议,资源非常紧张,而且都被知名的大牌协议所霸占着,比如TCP,ICMP,IGMP,包括上面提到的,哪里轮的上你哦!

为了解决这个资源紧张问题,于是就有了另外一个小发明,只用来辨别application protocol 的小傀儡:UDP!

UDP

其实UDP除了提供一个Port来分辨application protocol , 确实没干点别的,但是Port 号占用2个字节,理论上可以分辨65535种 application protocol ,就这一条就可以让其功德圆满了,正是因为它不像TCP,是完全无状态协议,所以也深得一些应用程序的青睐,因为UDP无状态,IP也无状态,会话所有的状态都由application protocol 来进行控制,这也是一种选择。

另外UDP-based 的应用可以实现可靠传输,比如TFTP,那就由TFTP自己来实现可靠传输;也可以把数据交给UDP,让其发送出去即可,对发送出去的数据不需要确认,同学们会问:这是哪种应用啊?语音流量,丢了就丢了,对方听不见大不了再说一遍。

综述

TCP提供一种可靠传输机制,有状态。

UDP提供更多的门牌号来辨别上层的协议,无状态。

【编辑推荐】

  1. HTTP请求的整个过程
  2. HTTPS学习总结拿走不谢
  3. 下一代 HTTP/3 协议将弃用 TCP 改用 QUIC
  4. 即将标准化的 HTTP/3 协议杂谈
  5. 你一定要知道,关于HTTPS的五大误区
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

框架设计(第2版)CLR Via C#

作为深受编程人员爱戴和尊敬的编程专家,微软.NET开发团队的顾问,本书作者Jeffrey Richter针对开发各种应用程序(如Web Form、Windows For...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
下赤桥 沙忍 柏舍小学 赖家祠堂 乌拉特前旗
陈村回族乡 京燕饭店 泗家水村 紫霄镇 细河
手机百家乐 四大赌场官网 现金网论坛 澳门大富豪赌场注册 在线赌博游戏
九乐棋牌 现金网导航 葡京网上赌场 澳门巴黎人注册 澳门葡京国际
斗牛下载 澳门威尼斯人官网 赛马会赌场网站 老虎机破解 澳门太阳城赌场
奔驰宝马老虎机下载 澳门银河注册 澳门足球博彩 现金扎金花 捕鱼游戏网站
老虎机定位器 澳门大富豪网址 现金三公注册网址 牛牛游戏下载 现金骰宝 年度十大电子游戏 大小点游戏 玩什么游戏可以挣钱 电子游戏厅 方法奇葩赌博网 巴黎人网站 pt电子游戏哪个最会爆 澳门巴黎人游戏 澳门龙虎斗注册 澳门大富豪网站 押大小排行 真钱打牌 明升网站 十三水技巧 电子游戏下载 二十一点平台 现金网游戏开户平台 澳门百老汇游戏官网 皇博压大小 真钱捕鱼 跑马机游戏 赌博技巧 巴比伦赌场官网 现金三公 地下网址 捕鱼游戏技巧 英皇网站 手机玩游戏赚钱平台 现金网排行 pt电子游戏注册 赌博技巧 电脑玩游戏赚钱平台 海立方游戏 ag电子游戏排行 希尔顿官网 太阳网上压大小 现金赌钱游戏 现金棋牌游戏 真人网站网址 地下开户 九五至尊娱乐网址 澳门梭哈游戏官网 奇葩袖赌博网 鸿胜国际压大小 博狗扑克游戏 德州扑克游戏规则 庄闲代理 奔驰宝马老虎机下载 现金三公开户注册 免费试玩电子游戏 GT压大小 新濠天地注册 现金老虎机网站 纸牌赌博种类 乐天堂开户 澳门永利平台 电脑版捕鱼达人 玩电子游戏入门 斗牛游戏 bbin压大小 网上电子游戏网址 澳门网络下注平台 明升国际网址 明升娱乐 捕鱼达人电子游戏 mg电子游戏试玩 二十一点游戏赌场 澳门万利赌场官网 大小对比网站 现金电子游戏 电子游戏实用技术 老虎机破解器 澳门梭哈官网 澳门百老汇赌场注册 千炮捕鱼兑换现金 网上合法赌场 PT电子游戏 波克棋牌官方下载 天天棋牌 凤凰棋牌 美少女战士电子游戏 什么游戏可以赚人民币 银河国际娱乐 澳门番摊官网 澳门梭哈官网 胜博发电子游戏 电子游戏打鱼机 澳门现金网 大三巴网站 PT电子游戏 澳门银河国际娱乐