网络相关知识

网络五层模型
应用层:通过应用进程间的交互来完成特定网络应用,指的是遵循 http,ftp等协议运行的应用进程

传输层:两台主机中进程之间的通信提供通用的数据传输服务,指的是将应用层的数据通过tcp或者udp协议进行传输,tcp传输过程就是遵循socket接口(套字节)

网络层:网络层负责为分组交换网上的不同主机提供通信服务,指的是将传输层的数据进行分组打包,通过IP协议,选择适合的路由进行传递

数据链路层:指的是网络层传输数据的过程中的步骤,因为传输数据是在一段一段链路上传送的,所以这里也遵循链路层协议来保证传输信息的可靠性

物理层:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。具体地说,数据链路层的数据在这一层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备

HTTP
http超文本传输协议 包含请求行(方法 路径 协议)、请求头(key-vaule)、请求主体(数据)、响应行(协议版本 状态码 状态说明)、响应头、响应主体
HTTP 协议:超文本传输协议,对应于应用层,用于如何封装数据.
TCP/UDP 协议:传输控制协议,对应于传输层,主要解决数据在网络中的传输。
IP 协议:对应于网络层,同样解决数据在网络中的传输。
传输数据的时候只使用 TCP/IP 协议(传输层),如果没有应用层来识别数据内容,传输后的协议都是无用的。
应用层协议很多 FTP,HTTP,TELNET等,可以自己定义应用层协议。
web 使用 HTTP 作传输层协议,以封装 HTTP 文本信息,然后使用 TCP/IP 做传输层协议,将数据发送到网络上
1、http keep-alive
在一次tcp连接中可以连续发送多次数据,即可以保持一段时间的tcp连接,在这个保持的通道上有多个request、多个response。而不用每发一次数据就要重新进行三次握手连接,发完一次数据就要立即进行四次挥手释放连接。 这样可以提高性能和吞吐率。

2、tcp keep-alive
为了检测tcp的连接状况。经过设定的时间之后,服务器会发出检测包去确认tcp连接是否还在。如果出现了问题就关闭连接。

http和websocket
http协议决定了浏览器端总是主动发起方,http的服务端总是被动的接受、响应请求。http提供的长连接服务器可以不接受。而websocket协议,在连接之后,客户端、服务端是完全平等的。websocket是真正的长连接。

TCP三次握手
标记位标记状态 序号用来标记顺序 确认好用来确认
第一次握手客户端向服务端发送报文包含标记位、序号(请求建立新连接)
第二次握手服务端接收到客户端的TCP报文后,向客户端发送报文包含序号、确认号、标记位(表示同意创建新连接)
第三次握手客户端接收了来自服务端的TCP报文,向服务端发送报文包含序号标记位确认号(确认收到服务器端同意连接的信号)
至此完成三次握手

四次挥手
第一次客户端想释放连接,向服务端发送了一段TCP报文,其中包含标记位,序号,随后客户端停止了向服务端发送数据,等待服务端回应(表示请求释放连接)
第二次服务端接收了来自服务端的TCP报文,确认了客户段想释放连接,并返回了一段报文包含标记位、序号、确认号(表示收到)随后服务端开始准备释放到服务端的连接
第三次服务端发送万确认报文之后,做好了释放服务端到客户端的连接,再一次向客户端发送了报文包含标记位、序号、确认号(表示已经准备好了释放)
第四次客户端收到服务端发送的报文,确认了服务端已经做好释放的准备,并向服务端发送了一段报文包含标记位、序号、确认号,随后客户端开始等待2msl后结束了连接
至此完成四次挥手

注:后“两次挥手”既让客户端知道了服务器端准备好释放连接了,也让服务器端知道了客户端了解了自己准备好释放连接了。于是,可以确认关闭服务器端到客户端方向上的连接了,由此完成“四次挥手”
与“三次挥手”一样,在客户端与服务器端传输的TCP报文中,双方的确认号Ack和序号Seq的值,都是在彼此Ack和Seq值的基础上进行计算的,这样做保证了TCP报文传输的连贯性,一旦出现某一方发出的TCP报文丢失,便无法继续"挥手",以此确保了"四次挥手"的顺利完成。

问:为什么客户端要等待一段时间?
当客户端发出报文时候不确定服务端有没有收到,所以会设置2msl时间来计时,正好服务端和客户端发送确认报文的最大时长是2msl,如果在这个1msl里没有收到和客户端的报文就回再次询问,否则认为已确认则断开连接

问:为什么握手是三次挥手是四次?
答:因为握手是请求建立连接,没存在数据传输的状态准备,而挥手是断开连接属于数据传输中则需要各自确认数据传输状态,已达到传送数据安全和完整

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

推荐阅读更多精彩内容

  • 一.计算机网络体系结构 OSI体系结构TCP/IP体系结构五层体系结构应用层应用层(HTTP)应用层表示层会话层传...
    雷涛赛文阅读 363评论 1 1
  • 面试专题我放在git上了,地址Github 欢迎fork然后一起更新 1,基础知识 ip地址和端口号:ip地址是唯...
    hloong阅读 1,009评论 0 1
  • 一、HTTP 问题1:HTTP是什么? HTTP是超文本传输协议。 包含请求/响应报文(具体说出报文包含的字段)。...
    huoshe2019阅读 374评论 0 3
  • 一、网络模型分层 1、OSI模型(开放式系统互联通信参考模型,英语:Open System Interconnec...
    小春虫冲冲冲阅读 461评论 0 1
  • TCP(传输控制协议) 什么是TCP? 回答TCP的特点+功能 特点 面向连接 可靠传输无差错无重复按序到达 面向...
    喜歡w阅读 220评论 0 0