网络七层

应,表,会,传,网,数,物

HTTP应用层
TCP传输层
IP网络层

应用层
与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。
表示层
这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。
会话层
它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
传输层
这层的功能包括是选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。
网络层
这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
数据链路层
它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。
物理层
OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

拔掉网线后, 原本的 TCP 连接还存在吗

TCP 连接在 Linux 内核中是一个名为 struct socket 的结构体,该结构体的内容包含 TCP 连接的状态等信息。当拔掉网线的时候,操作系统并不会变更该结构体的任何内容,所以 TCP 连接的状态也不会发生改变。

TCP协议为什么是三次握手而不是两次呢?

原因1:主要是为了防止已经失效的连接请求报文突然又传送到了服务器,从而导致不必要的错误和资源的浪费。

如果使用的是两次握手建立连接,假设有这样一种场景,客户端发送的第一个请求连接并且没有丢失,只是因为在网络中滞留的时间太长了,由于TCP的客户端迟迟没有收到确认报文,以为服务器没有收到,此时重新向服务器发送这条报文,此后客户端和服务器经过两次握手完成连接,传输数据,然后关闭连接。此时之前滞留的那一次请求连接,因为网络通畅了, 到达了服务器,这个报文本该是失效的,但是,两次握手的机制将会让客户端和服务器再次建立连接,这将导致不必要的错误和资源的浪费。

如果采用的是三次握手,就算是那一次失效的报文传送过来了,服务端接受到了那条失效报文并且回复了确认报文,但是客户端不会再次发出确认。由于服务器收不到确认,就知道客户端并没有请求连接。

原因2: 两次握手只能保证单向连接是畅通的。因为TCP是一个双向传输协议,只有经过第三次握手,才能确保双向都可以接收到对方的发送的数据。

三次握手过程:

第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。

网络:七层,HTTP应用层、TCP传输层、IP网络层,拔网线TCP还在,三次握手保证双向与减少因延时传输错误相关推荐

  1. 计算机网络中TCP属于,【填空题】TCP/IP协议将计算机网络的结构划分为应用层、传输层、网络互连层等4个层次,其中IP协议属于【1】层。...

    [填空题]TCP/IP协议将计算机网络的结构划分为应用层.传输层.网络互连层等4个层次,其中IP协议属于[1]层. 更多相关问题 [单选] 数据格式为透明的是()的通道,它与信号速率及电调制方式无关, ...

  2. 【JavaEE】TCP的五层协议栈之应用层与传输层的UDP协议

    文章目录 一.应用层 1.简单介绍 2.xml(Simple Object Access Protocol ) 2.json(JavaScript Object Notation) 4.protobu ...

  3. TCP/IP 协议族 简介(应用层,传输层,网络层,链路层)

    互联网协议(Internet Protocol Suite [swi:t])是一个 网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构.它常被通称为TCP/IP 协议族(TCP/IP P ...

  4. 【TCP/IP网络协议】(五)传输层UDP协议

    文章目录 传输层协议 一.端口 二.UDP概述 三.UDP报文 四.程序测试 传输层协议 从之前介绍的网络层协议来看,通信的两端是两台主机,IP数据报首部就标明了这两台主机的IP地址,但是从传输层来看 ...

  5. 计算机网络-应用层和传输层协议分析实验(PacketTracer)

    实验三.应用层和传输层协议分析实验 一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验 ...

  6. 计算机网络复习————概述,应用层,传输层

    计算机网络复习----概述,应用层,传输层 绪论 概述 交换技术 网络性能指标 协议栈 应用层 应用体系架构 Web和HTTP FTP和SMTP DNS p2p应用 传输层 传输层服务 UDP 可靠数 ...

  7. 实验四 应用层和传输层协议分析(PacketTracer)

    具体细节待完善!! 一.实验目的: 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验内容: 研究应 ...

  8. 计算机网络实验四:应用层和传输层协议分析(PacketTracer)

    实验目的 通过本实验,熟悉PacketTracer的使用,学习PacketTracer中仿真分析应用层和传输层协议,加深对协议工作过程的理解. 实验内容 从PC使用URL捕获Web请求,运行模拟并捕获 ...

  9. 【计算机网络】实验四 应用层和传输层协议分析(PacketTracer)

    一.实验目的 通过本实验,熟悉PacketTracer的使用,学习在PacketTracer中仿真分析应用层和传输层协议,进一步加深对协议工作过程的理解. 二.实验内容 研究应用层和传输层协议 从 P ...

最新文章

  1. 上海巴斯德所在新型冠状病毒早期进化机制方面取得进展
  2. java语言编写简易表达式_将简单的表达语言放入Java
  3. webalizer日志分析软件的安装
  4. 每天学一点儿shell:vi和vim命令使用
  5. matlab无限循环怎么停下来,[求助] 关于matlab无限循环的问题
  6. 使用浏览器获取网页模板(HTML+CSS)
  7. python 散点图 不同颜色_python – pandas – 每个点都有不同颜色图例的散点图
  8. 我的flash头像编辑上传控件
  9. js模仿块级作用域(js没有块级作用域私有作用域)
  10. String、StringBuilder、StringBuffer、StringConcatFactory
  11. and design pro实现打印电子面单(菜鸟物流-可批量打印)
  12. 神经网络控制与matlab仿真,神经网络模型matlab例子
  13. python实现简易动态贝叶斯网络的推断
  14. @cosme宣布“@cosme THE BEST COSMETICS AWARDS 2020 ”@cosme上半年美妆新品大赏榜单中获奖新产品
  15. 计算机桌面壁纸希望,电脑励志的图片桌面壁纸
  16. Codeforces Round #831 (Div. 1 + Div. 2) problem C
  17. 【MySQL从入门到精通】【高级篇】(九)InnoDB的B+树索引的注意事项
  18. MaxEnt运行错误
  19. 网页视频播放速度修改器,亲测可用
  20. Java Word文档如何转为PDF文件

热门文章

  1. day09---(02)课程大纲-小节添加修改删除(前端)
  2. shell 99乘法口诀表
  3. 【网络--实验】华三防火墙命令行调试实例
  4. 逻辑漏洞之无密码登录(vlcms)
  5. java mqtt发布_使用kura或MQTT将消息发布到kapua
  6. VMware虚拟机中安装的Linux系统无法识别U盘解决方法
  7. 应用网易轻舟,德邦快递核心系统入选云原生应用十大优秀案例
  8. 【matlab】解方程组
  9. 啤酒与尿布的蝴蝶效应——关联分析
  10. Java EE 7 Hands-on Lab,CDI deployment failure:WELD-000072,解决办法