TCP/IP 协议分层模型.

大学教科书中有说分成7层,也有说分成4层的,笔者觉得4层更合适一些,像七层中的第5、6层完全不是必须的,就算有也是各自制定协议,而制定协议的人基本不会去考虑第5层叫会话层第6层叫表示层,在私有应用层协议中,更多的是会私定一个握手互信协议,以表示通讯双方是互信的.

TCP/ IP 协议,是一组协议簇.而不是两种协议,其范围以其分层模型来进行分类

图片.png
  • 应用层:
    程序员所编写好的网络程序,就是应用层.qq,微信,浏览器等等.基于网络编程的,都属于应用层的范涛.

应用层协议:
常见与常用的 http协议,ftp协议,telnet,smpp,xmpp等共有协议. 还有诸如六毛的私有协议.

  • 传输层
    什么是传输层,传输层是干嘛的,传输层,是用来做数据传输的.数据是什么,数据就是我们在使用应用层网络程序时产生的一系列数据,这些数据需要在网络上流动,传输,才能实现数据在通过网络在各客户端程序之间的交互与传输.怎么传输这些数据,就需要使用到传输层的传输协议:TCP/UDP协议.传输层就只有这两种公有标准传输协议

tcp/udp 协议不仅指定了数据传输的标准,同时也代表着两种截然不同的数据传输方式.应用与不同的数据传输场景与需求.他们各自有各自的优点与针对点,也各有不足.我们在选择何种传输协议的时候.需要按数据传输的类型和需求来选择合适的传输协议.

  • tcp协议的主要实现点对点通信,需要知道彼此都在家呆着,(通过四次握手建立连接)数据发送需要进行确认.是数据安全的.由客户端发起连接,向服务端请求数据.

  • UDP协议,客户端知道服务器的家在哪,而不需要却定其是否在家.直接发送数据包过去.如果服务器不在.则信息丢失.数据的传输不可靠,不安全.具有一定的风险性.

应用层在将数据传输给传输层后,传输成为数据贴上相关信息,发往指定的地址.

传输层传输的数据,是应用层数据进行一次包装后的整体数据包.(就相当于一个快递包裹).传输层协议贴上的标记信息,就是头部数据.

  • 网络层
    ip,icmparp,rarp协议等.

对于普通编程人员来说,做需要关注,与最容易涉及到的,无疑就是应用层,与传输层.我们在编写网络程序的时候,一定会有各种不同场景下的数据交互需求,因此,应用层协议与传输层协议是我们必须得详细的学习和运用的.

应用层与传输层之间的关系也是十分紧密.

  • 以http协议来说:
    http协议是一个简单的请求-响应协议.我们最常使用的通过浏览器浏览网站,网页.大多都是基于这类协议的(http,https,总之一定是请求-响应协议).

http协议是建立在TCP协议之上的一种应用层协议.我们在访问一个网站的时候.浏览器会通过TCP协议发送如下字符串到服务器的应用层:

GET /test/abtest HTTP/1.1
    Host: 127.0.0.1
    Connection: keep-alive
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Encoding: gzip, deflate, br
    Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
    Cookie: PHPSESSID=970260278652571648
图片.png

我们随意访问一个网站,进入开发模式,即可查看到相关的消息头与参数.这些字符串就是应用层数据,应用层数据是按照一定格式来组织的.这个格式就是应用协议.譬如http协议.

传输层在往应用层传递数据的时候,并不保证每次传递的数据都是一个完整的应用层数据包.(以http协议为例,并不能保证应用层收到的一定是一个完整的http数据包)这就是半包与粘包,传输层只负责传递buye[]数据,应用层需要自己对byte[]数据进行解码.


2020.1.19

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容

  • 1. 协议分层与OSI参考模型 协议分层就如同计算机软件中的模块化开发,OSI参考模型的建议是比较理想化的。 OS...
    公子七阅读 2,076评论 4 38
  • TCP/IP 与 OSI 参考模型 硬件(物理层)  TCP/IP的最底层是负责数据传输的硬件,相当于以太网或电话...
    one_zheng阅读 1,670评论 1 0
  • 硬件物理层tcp/ip 最底层是负责从数据传输的硬件 网络接口层- 数据链路层网络接口层利用以太网中的数据链路层进...
    Yix1a阅读 554评论 0 0
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,019评论 0 8
  • 她是一个漂亮的女孩,在她四岁的时候,因为一场车祸失去了他的双腿,因为家里没钱换不了假肢,所以他每天只能呆在房子里出...
    bc66119ed7f7阅读 122评论 0 0