网络协议的几个概念

一、网络的五层划分

网络协议的五层划分从下到上可以分为:

1、物理层

物理层就是指光纤、电缆或者电磁波等真实存在的物理媒介。这些媒介可以传输物理信号,信号的传输是以二进制的形式传递的。

2、数据链路层

在连接层中,数据是以帧(frame)为单位传输的。所谓的帧,就是一段有序的 0/1序列,连接层的功能就是要识别 0/1序列 中所包含的帧。比如说,它会根据一定的 0/1 组合识别出帧的开始和结束。
在帧中,有源地址(Source)和目标地址(Destination),还有能够探测错误的校验序列(Frame Check Sequence)。当然,还有最重要的就是数据(data)。
以太网和WiFi是现在最常见的连接层协议。通过连接层协议,我们可以建立局域的以太网或者WiFi局域网,并让位于同一局域网中的两台计算机通信。

3、网络层

网络层用来处理网络上流动的数据包。数据包是网络层传输的最小单位。在这一层中,接收端会将数据链路层传递过来的帧剥离IP首部,然后将其转发给传输层。在该层中,常用的协议为IP协议。

4、传输层

如果只是两台计算机之间的通信,利用上面所说的三层协议就可以实现。但是我们知道一般的通信都是应用间的通信,也就是端口对端口之间的通信,这个时候就需要用到传输层了。在传输层中,有TCP和UDP两种协议,这两种协议都可以使用端口号来识别需要通信的应用。

5、应用层

通过上面的四层协议,我们基本上是可以在不同的应用之间实现通信。而应用层的出现,则进一步规范了通信双方所遵循的数据传输格式,例如:在Web中我们经常使用HTTP协议,在传输文件时经常使用FTP协议,而在发送电子邮件时经常使用IMAP协议等都属于应用层的协议。

层与层之间数据的发送与接收如下图所示:


二、TCP和UDP的区别

1、UDP的特点:

UDP是无连接的,即发送数据前不需要建立连接,因此减少了开销和发送数据之前的时延。
UDP尽最大努力交付,即不保证可靠交付。
UDP没有拥塞控制,即网络出现的拥塞不会使源主机的发送速率降低。

2、TCP的特点

TCP是面向连接的,在使用之前必须先建立TCP连接。
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。
TCP提供可靠交付的服务,也就是说通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。

三、TCP的三次握手和四次挥手

1、三次握手

客户端向服务器发出请求连接的报文,这时SYN=1,seq=x。这时客户端进入SYN-SENT(同步已发送)状态。
服务器收到连接请求报文后,如果同意连接则向A发送确认,在确认报文中将SYN位和ACK位都置1,确认号ack=x+1,同时消耗一个序号seq=y。这时服务器进入SYN-RCVD(同步收到)状态。
这时客户端收到服务器请求后,还要向服务器给出确认。确认报文ACK为1,确认号ack=y+1,序号是seq=x+1。这个时候TCP连接已经建立,客户端都进入了ESTABLISHED(已建立连接)状态。当服务器收到客户端的请求后,也进入ESTABLISHED(已建立连接)状态。
为什么客户端还多发送一次请求呢?这主要是因为防止已经失效的连接请求报文突然又传送到B,因而产生错误。
考虑一种情况:
客户端发出的第一个连接请求在某个网络结点滞留了,以致于延误到连接释放后的某个时间才到达服务器。服务器收到了后,误以为是客户端又发送的一个请求,所有向客户端发出请求确认,同意建立连接。如果不采用三次握手,那么只要服务器发出确认,新的连接就建立了。由于客户端没有发出建立连接的请求,所有根本不会理睬服务器的确认,也不会向服务器发送数据,但服务器却以为新的运输数据已经建立了,并一直在等待客户端发过来的数据,这样服务器的很多资源就白白浪费了。

2、四次挥手

数据传输完成后,通信的双方都可释放连接。如果客户端向服务器发出释放连接的报文,并停止发送数据,主动关闭TCP连接,然后进入FIN-WAIT-1(终止等待1)状态,等待服务器的确认。服务器收到后发出确认,然后服务器进入CLOSE-WAIT(关闭等待)状态。于是客户端到服务器这个方向的连接已经断开。但是服务器到客户端这个方向的连接却未断开。客户端收到来自服务器的确认后,就进入FIN-WAIT-2(终止等待2)状态,等待服务器发出的连接是否报文。若服务器没有要向客户端发送的数据,则向客户端发送一个释放连接的报文,然后进入LAST-ACK(最后确认)状态,等待客户端的确认。客户端在收到B的连接释放报文后,需要对此做出确认,然后进入TIME-WAIT1(时间等待状态),客户端需要经过2MSL(最长报文段寿命)的时间才能结束TCP连接。

四、参考文章

# 协议森林01 邮差与邮局 (网络协议概观)

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

推荐阅读更多精彩内容

  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,053评论 6 174
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,051评论 0 8
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,934评论 6 13
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,399评论 0 2
  • 沁宇姓马,是四班唯一的一个回族男孩儿,沁宇和我印象中其他的回族男孩儿不一样。沁宇身上没有浮躁张扬,没有精明强势,有...
    wsx书女阅读 782评论 0 1