23.网络协议(一)

网络基本概念:
客户端:移动设备上的App;
服务器:远程服务器或者本地服务器
请求:客户端索要数据的方式;
响应:需要客户端解析数据;
数据库:存储数据(一般指服务器端的数据来源);

一、网络协议

基本定义:网络协议是网络上所有设备(网络服务器、计算机及交互机、路由器、防火墙)之间通信规则的集合、

1. 模型

  • OSI/RM(系统互连参考模型)是一种分层的体系结构,参考模型共有7层。
  • TCP/IP(Transmission Control Protocol/Internet Protocol)作为Internet的核心协议。它是个协议族,包含多种协议。
屏幕快照 2017-10-31 09.57.00.png

2. 模型分层思想

  • 分层的基本想法是每一层都在它的下层提供的服务基础上提供更高级的增值服务,而最高层提供能运行分布式应用程序的服务。

3. 数据在模型中的传输过程

  • 发送请求的过程是从最顶层(应用层)出发,每一层负责封装属于自己的信息到请求中,最后将一整个请求发送给对方。
  • 接收请求的过程是从最底层(网络接口层)开始,每一层的协议负责解析属于自己的东西,比如网际层(IP)处理ip信息,传输层(TCP)处理点对点的端口,应用层(HTTP)处理Request或Response的Line\Header\Body。
屏幕快照 2017-11-03 11.03.53.png
屏幕快照 2017-11-03 15.02.07.png

二、OSI/RM各层的作用

屏幕快照 2017-11-03 11.31.10.png

下面我们来看看一些基本的概念

屏幕快照 2017-11-03 13.31.16.png
1.总
  • 1.每一层之间相对独立,层之间存在接口
  • 2.相邻的下层只能为相邻的上层提供服务,相邻的上层只能传递命令给相邻的下层。
  • 3.在两个主机通信时。只有物理层之间可以实现物理通信,其他的层次间只是逻辑通信。(上图中实线代表物理通信,虚线代表逻辑通信)
2.物理层

物理层经典设备:线缆,中继器,集线器

3.数据链路层
  • 数据链路层经典设备:网卡,交换机,网桥

  • 以太网主要工作在数据链路层

以太网技术标准主要解决的问题是

1.信道(介质)的访问控制方式?


屏幕快照 2017-11-03 13.46.44.png

解决办法是:


屏幕快照 2017-11-03 13.50.16.png

2.寻址?
屏幕快照 2017-11-03 13.47.51.png

解决办法:
通过Mac地址:Mac地址是一组12位的16进制数,前六位是(供应商标识,比如IBM),后六位是(供应商对网卡的唯一标识),这里的寻址代表的是物理寻址,因为Mac地址都是烧治在网卡或者交换机上的,无法通过后期设置更改,而网络层的IP寻址是属于逻辑寻址。


屏幕快照 2017-11-03 13.53.53.png

3.规范的格式?
以太网帧格式


屏幕快照 2017-11-03 13.58.57.png
4.网络层

1.定义了基于IP地址的逻辑寻址
2.路由选择(数据通过网络的最佳途径)

5.传输层

1.建立,管理,和维护端对端的连接,其实说的简单一些就是当数据传送到指定的IP地址对应的主机之后,怎样找到主机里面对应的服务。
2.这里有一个端口(port)的概念,这个TCP/IP协议中的概念,是基于TCP的系统服务,例如:常用的保留TCP端口:HTTP 80,FTP 20/21 Telnet 23 DNS 53
常用的保留UDP端口:DNS 53 TFTP 69
3.socket套接字层是传输层和会话层中间的一个层次。

6.应用层

一般情况下可以将最上面的三层用应用层来表示,提供应用程序间的交换和数据交换。常见的应有层协议有:

SMTP (simple Mail Transfer Protocol,简单邮件传输协议)
BOOTP(Boot trap.Protocol)
FTP (File Transfer Protocol,文件传输协议)
HTTP(Hypertext Transfer Protocol,超文本传输协议)
AFP (Apple Talk文件协议)--Apple公司的网络协议族,用于交换文件
SNMP (Simple Network Management Protocol)
SMB (Server Message Block Protocol)
TFTP(简单文件传输协议)
telnet
dns

三:网络寻址的过程

屏幕快照 2017-11-03 15.28.02.png

1.其中Mac地址在数据链路层 ,IP在网络层,FQHN代表请求地址。
2.FQHN经过域名解析得到目标地址的IP地址,IP地址ARP(地址解析协议)解析出Mac地址,这样就完成了网络寻址的过程。

四:理解HTTP连接

1.浏览器和http请求?

答:浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示想要访问的网络资源。这里资源一般是指 HTML 文档,图片等其他的类型。资源的位置由用户使用 URL(统一资源标示符)指定。

而浏览器的核心——渲染引擎便是负责显示请求的内容。如果请求的内容是 HTML,它就负责解析 HTML 和 CSS 内容,并将解析后的内容显示在屏幕上。

工作流程:
 1. 输入URL地址或者点击URL的一个链接
 2. 浏览器根据URL地址,结合DNS,解析出URL对应的IP地址
   1)浏览器通过发送一个TCP的包,要求服务器打开连接
   2)服务器也通过发送一个包来应答客户端的浏览器,告诉浏览器可以发送数据给服务器
   3)发送HTTP请求
 4. 服务器接到请求后,返回相应的响应内容
 5. 浏览器解析从服务器端返回的响应内容,并且把页面显现出来
当输入URL之后,浏览器就要知道这个URL对应的IP是什么,只有知道了IP地址,浏览器才能准备的把请求发送到指定的服务器的具体IP和端口号上面。然后服务器端把响应结果发送到客户端。这个响应结果就是html的文档,不包含什么图片,脚本,CSS等的,也就是页面的html结构。下一步就是浏览器解析页面的过程,也就是一步步从上到下的解析html的骨架了。如果此时在html文档中,遇到了img标签,那么浏览器就会发送HTTP请求到这个img响应的URL地址去获取图片,然后呈现出来。
注:在app项目中,发送一个请求和接受到回应的过程和这个是一样的。

2.http请求的详细过程

1、连接:当输入一个请求时,首先建立一个socket连接,因为socket是通过ip和端口建立的,所以,之前则还有一个DNS解析过程。如把www.baidu.com变成一个ip,如果url不包含端口号,则会使用该协议的默认端口号,HTTP协议的默认端口号为80。

2、请求:连接成功后,开始向web服务器发送请求,这个请求一般是GET或POST请求。

3、应答:web服务器收到这个请求,进行处理。web服务器会把文件内容传送给响应的web浏览器。 包括:HTTP头信息,体信息。

4、关闭连接:当应答结束后,web浏览器与web服务器必须断开,以保证其它web浏览器能够与web服务器建立连接。

摘自:http://www.cnblogs.com/ImBit/p/5513401.html#two.one
http://blog.csdn.net/jinzhencs/article/details/50460611

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

推荐阅读更多精彩内容

  • 名词延伸 通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。如果把IP地址比作一间房子...
    杨大虾阅读 20,593评论 2 57
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,642评论 18 139
  • 一、职场定律:1、公司的问题,是你改善的机会。2、客户的问题,是你提供服务的机会。3、职场,就是让解决问题的人高升...
    时尚古树阅读 343评论 0 0
  • 整理一些常见的Android面试题(针对于2~3年开发经验中所遇到的问题) synchronized锁静态方法和非...
    appzy阅读 2,279评论 4 18