网络基础TCP/IP协议

我们通常使用的网络是在TCP/IP协议族的基础上运作的,HTTP属于它内部的一个子集。
HTTP是一个基于TCP/IP通信协议来传递数据。(HTML 文件, 图片文件, 查询结果等)

网络基础TCP/IP

通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的。HTTP属于它内部的一个子集。

TCP/IP协议族

计算机与网路设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标,由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需事先确定。不同的硬件,操作系统之间的通信,等都需要一种规则,我们把这种规则称之为协议(protocol)


TCP/IP是互联网相关的各类协议的总称

TCP/IP的分层管理

TCP/IP协议族里最重要的一点是分层。TCP/IP协议族按层次分可分为4层:应用层,传输层,网络层和数据链路层。
分层的好处是什么呢?如果互联网只有一个协议统筹,某个地方需要改变设计时,就必须把所有部分整体替换掉。分层之后,只需要把变动的层次替换掉。把各层之间的接口部分规划好之后,每个层次内部的设计可自由改动。


TCP模型图

应用层

应用层决定了向用户提供应用服务时通信的活动。
TCP/IP协议族内预存了各类通用的应用服务。如:FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统),HTTP协议也属于网络层。

表示层

表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式;主要负责数据格式的转换,确保一个系统的应用层信息可被另一个系统应用层读取

会话层

会话层:负责建立和断开通信连接(数据流动的逻辑通路),记忆数据的分隔等数据传输相关的管理

传输层

传输层对上层应用层,提供处于网络连接中的两台计算机直接的数据传输。
这一层有两个不同性质的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)。

网络层(网络互连层)

网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。这层规定了通过怎样的路径(即传输路线)到达对方计算机,并把数据包传给对方。
如果与对方计算机之间通过多台计算机或网络设备进行传输时,网络层的作用就是在多个选项内选择一条传输路线。网络层的协议有IP,
ICMP(Internet Control Message Protocol,Internet控制报文协议,用于在IP主机、路由器之间传递控制消息。),
IGMP(互联网组管理协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况)

链路层(数据链路层,网络接口层)

数据链路层用来处理连接网络的硬件部分。包括控制操作系统,硬件的设备驱动,NIC(Network INterface Card,网络适配器,即网卡),及光纤等物理可见部分。硬件上的范畴均在链路层的作用范围内。


TCP/IP通信传输流

利用TCP/IP协议族网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则从链路层往上走。

物理层

物理层:负责0、1 比特流(0/1序列)与电压的高低、逛的闪灭之间的转换
规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性;该层为上层协议提供了一个传输数据的物理媒体。只是说明标准
在这一层,数据的单位称为比特(bit)
用http举个栗子:

  1. 发送端的客户端在应用层(Http协议)发出一个想看某个Web页面的http请求;
  2. 为了传输方便,在传输层(TCP协议)把从应用层收到的数据(HTTP请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。
  3. 在网络层(IP协议),增加作为通信目的的MAC地址后转发给数据链路层。这样整个发往网络的通信请求准备齐全。
  4. 接收端的服务器在数据链路层接收到数据,按照往上层发送,一直到应用层。直到传输到应用层,才算真正接收到客户端发送过来的Http请求。

与HTTP关系密切的协议:IP、TCP、DNS

负责传输的IP协议

按照层次分,IP(Internet Protocol)网际协议位于网络层。
IP协议的作用:把各种数据包传送给对方。若要保证确实传送到对方那里,则需要满足割裂条件。其中两个重要的条件是IP地址和MAC地址(Media Access Control Address).
IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变化,但MAC地址基本上不会改变。

使用ARP协议凭借MAC地址进行通信

IP间的通信依赖MAC地址。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是通过多台计算机和网路设备中转才能连接到对方。那么在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标。此时,会采用ARP协议(Address Resolution Protocol)。
**ARP是一种用来解析地址的协议,根据通信方的IP地址就可以反查出对应得MAC地址。

ARP协议凭借MAC地址进行通信

各层之间传输数据

TCP协议确保可靠性

TCP位于传输层,提供可靠的字节流服务。
字节流服务(Byte Stream Service):为了便于传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。
可靠的传输服务:能够吧数据准确可靠的传给对方。
TCP协议为了更容易传送大数据才把数据分割,且TCP协议能够确认数据最终是否送达到对方。
为了准确无误的将数据送达目标处,TCP协议采用了三次握手(three-way handshaking)策略。
用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志——SYN(synchronize)和ACK(acknowledgement).
发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带有ACK标志的数据包,代表'握手'结束。
(若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包)

TCP三次握手

第一次握手
客户主动(active open)去connect服务器,并且发送SYN 假设序列号为J,
服务器是被动打开(passive open)
第二次握手
服务器在收到SYN后,它会发送一个SYN以及一个ACK(应答)给客户,
ACK的序列号是 J+1表示是给SYN J的应答,新发送的SYN K 序列号是K
第三次握手
客户在收到新SYN K, ACK J+1 后,也回应ACK K+1 以表示收到了,
然后两边就可以开始数据发送数据了

负责域名解析的DNS服务

DNS(Domain Name System)服务是和HTTP协议一个位于应用层的协议。
它提供域名到IP地址之间的解析服务。
(我们通常使用主机名或域名来访问某个网站,如www.baidu.com,而不是之间通过IP地址来访问)
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。

DNS域名解析

下图为IP协议,TCP协议,DNS服务在使用HTTP协议通信过程中各自发挥的作用


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

推荐阅读更多精彩内容