HTTP基础(一):TCP/IP概述

一、网络协议

到底什么叫网络协议呢?
我们举个例子说明:我们国家有很多方言,一个人说四川话,另一个人说东北话,如果这两个人都不懂对方的方言,这两个人就没办法交流了。于是我们规定一种官方的语言(普通话),大家都用这种语言交流。

类似的,不同的计算机可能安装了不同的操作系统,有不同的硬件等等,为了让它们能互相沟通,我们也制定一种官方语言/规则(协议),只要他们都遵守网络协议的规则发送和接收信息,那么他们之间就可以进行通信。

网络协议实际上就是为了解决计算机之间的沟通(数据交换)问题制定的一系列规则、标准或约定。如图所示:

网络协议

我们把与互联网相关联的协议集合起来总称为TCP/IP

二、TCP/IP分层模型

TCP/IP协议族分为以下四层:

TCP/IP分层模型

如何理解分层模型?我们可以将分层理解为一种封装。

1.理解分层

应用层向用户提供服务。比如HTTP协议,它只处理客户端请求和服务的反馈,至于如何为两台计算机建立连接,它并不关心,而是直接把任务扔给下级(传输层TCP):

应用层之间是一种虚拟连接

以传输层TCP为例:它主要功能是提供两台计算机之间的数据传输服务。
建立连接后上层(老大)要传什么文件,它是不知道的。
建立连接的数据包怎么走,也就是数据在网络上的通路的选择(经过多个中转找到目标计算机),它直接甩锅给下级去干了(也可以理解为调用下级的接口)。

所以,分层模型的封装指的是使用下层提供的服务(接口),实现自己的功能,为上层提供接口

2.各层功能

  1. 应用层
    应用层决定了向用户提供应用服务时通信的活动。
  2. 传输层
    传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
  3. 网络层
    网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计
    算机,并把数据包传送给对方。
  4. 链路层
    用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(NetworkInterfaceCard,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在
    链路层的作用范围之内。

3.举例说明

举个例子类比一下网络分层:
比如你打电话给你的朋友。

你和你的朋友类比为应用层。你们之间聊天的话题,说什么,怎么回复。这就是你们(应用层)关心的话题(服务)。至于怎么打通你朋友的电话,你只需要知道朋友的电话号码(IP地址)就行了。其他的就交给电话了,只需要拨号,朋友那边就能收到通话请求,接通了,你们就可以通话了。

传输层:电话的功能就是用来提供通话服务的,它关心的是,拨号之后开始呼叫,接通了之后要保证通话畅通。至于怎么通过电话号码找到另一台电话,以及声音怎么传输,它移交给了电话转接中心。

网络层:电话转接中心负责声音怎么传输,怎么通过一个个转接中心找到这个号码的手机。物理层的一些处理,比如声音实际的转码,电流的传输。它也需要移交给实际的中转设备。

链路层:这条通话路线经过的各种设备(信号塔,卫星等),都属于链路层。

4.数据流动

发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去:


数据流动

三、使用ARP协议和路由选择协议进行通信

1.ARP协议

ARP协议参考这篇文章:[图解]ARP协议(一)
这里简单介绍一下:
之前我们说了,http数据在经过每一层时都会被打上一个该层所属的首部信息。比如经过传输层会被打上TCP首部(本机IP地址、目标IP地址),经过网络层会被打上IP首部(本机MAC地址、目标MAC地址)。

不知道MAC地址无法通信

注意,这里有一个问题:我只知道目标的IP地址,我不知道MAC地址啊!那怎么办呢?ARP协议就是用来获取MAC地址的:

ARP协议获取MAC地址

首先,在本机的ARP缓存表查询有没有记录目标ip对应的MAC地址,如果有,就找到了,没有的话,问一下局域网里面的计算机,有没有哪一个是这个ip地址。(方法是向局域网广播消息,如果有这个ip地址的电脑收到了消息,会根据广播里面的“自我介绍”:我的ip是XXX,MAC地址是XXX返回自己的IP和MAC地址)。

但是很少会遇到要访问的计算机恰好就在局域网的情况。所有如果本地又没有记录,局域网又没有。怎么办呢,这时候我们之间填写局域网网关的MAC地址。(获取方法同上)。这样就把数据包传输给了网关。我们就不管了(甩锅~)。

2.路由选择协议

在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。
这种机制称为路由选择(routing),有点像快递公司的送货过程。想要寄快递的人,只要将自己的货物送到集散中心,就可以知道快递公司是否肯收件发货,该快递公司的集散中心检查货物的送达地址,明确下站该送往哪个区域的集散中心。接着,那个区域的集散中心自会判断是否能送到对方的家中。


路由选择中转

四、DNS服务(域名解析)

计算机既可以被赋予IP地址,也可以被赋予主机名和域名。比如www.hackr.jp
用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址访问。因为与IP地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。
但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。
为了解决上述的问题,DNS服务应运而生。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

DNS服务

五、各种协议与HTTP协议的关系

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

推荐阅读更多精彩内容

  • # 图解TCP/IP 标签(空格分隔): 2018招聘 --- ##第1章 网络基础知识 ### ### 1.1 ...
    Kai_a3da阅读 1,440评论 0 2
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,054评论 0 8
  • 协议基础 协议就是计算机之间通过网络实现通信时实现所达成的一种“约定”,这种约定使得那些由不同厂商的设备,不同的C...
    d9fc24a0c9a9阅读 2,362评论 0 6
  • TCP/IP 协议族 Transmission Control Protocol/Internet Protoco...
    槑小姐_1419阅读 923评论 0 1
  • 0. 介绍 本文源自《图解TCP/IP》第四、五章读书笔记。一篇文章让你了解IP协议。阅读的时候,注意一般知识点结...
    天才木木阅读 5,149评论 0 14