热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

网络编程OSI模型,TCP/IP协议族,数据通讯过程

网络编程TCPIP协议OSI理论分层模型TCPIP模型OSI模型和TCPIP协议对比TCPIP族http协议(应用层)ICMP协议(网络层)ARP协议(数据链路层)以太网(数据链路

网络编程

  • TCP/IP协议
    • OSI理论分层模型
    • TCP/IP 模型
      • OSI模型和TCP/IP协议对比
    • TCP/IP族
      • http协议(应用层)
      • ICMP协议(网络层)
      • ARP协议(数据链路层)
      • 以太网(数据链路层)
    • TCP/IP协议通信模型
    • 数据的封装与传递过程

TCP/IP协议

不同物理传输介质(如光纤、金属网线、电平、波特率、不同网段等)的计算机之间,数据在传输时一般会产生延迟、错误、丢包、保密性等问题,为了解决这些问题以实现不同计算机之间的通信,需要制定一个让不同的计算机都遵循的协议。那么这个都遵循的协议就是TCP/IP协议。
但是一个协议要实现这么多的功能会使得这个协议很复杂,因此为了解决传输过程中的各种问题,
即把复杂问题简单化,需要对TCP/IP协议进行分层功能处理。于是引出OSI分层(7层)模型 和 TCP/IP 模型(4层)。

OSI理论分层模型

网络编程-OSI模型,TCP/IP协议族,数据通讯过程
1)物理层:把不同的物理介质(如光纤、金属网线、电平、波特率等)转化成统一的标准网络接口,向上一层屏蔽了物理层的区别。
(2)数据链路层:把有用的数据打包成数据块:帧
(3)网络层:所有的网络设备都是由路由器路通过选择算法把数据转发出去的(路由器工作在此层)。
(4)传输层:保证数据传输过程中的准确可靠,差错处理/恢复。基本上网络编程的应用都是基于传输层做的处理,TCP / UDP都是在传输层。
(5)会话层:实现两个通信实体之间的通信联络。

网络编程-OSI模型,TCP/IP协议族,数据通讯过程

TCP/IP 模型

TCP/IP协议是Internet实际应用的工业标准,对OSI模型的简化。

OSI模型和TCP/IP协议对比

网络编程-OSI模型,TCP/IP协议族,数据通讯过程
网络编程-OSI模型,TCP/IP协议族,数据通讯过程

TCP/IP族

TCP(Transport Control Protocol):传输控制协议
IP(Internetworking Protocol):网间协议
UDP(User Datagram Protocol):用户数据报协议
ICMP(Internet Control Message Protocol):互联网控制信息协议
SMTP(Simple Mail Transfer Protocol):简单邮件传输协议
SNMP(Simple Network manage Protocol):简单网络管理协议
HTTP(Hypertext Transfer Protocol) :超文本传输协议
FTP(File Transfer Protocol):文件传输协议
ARP(Address Resolution Protocol):地址解析协议

http协议(应用层)

https:s是加密的安全的意思,加密超文本传输协议
超文本传输协议
HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。

ICMP协议(网络层)

ICMP协议,“Internet Control Message Protocol”(Internet控制消息协议)的缩写,是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
ICMP协议也是Ping命令使用的协议,用来检查网络是否通畅或者网络连接速度的命令。
ping的原理:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。

ARP协议(数据链路层)

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。解析物理地址:MAC地址

以太网(数据链路层)

规定了包括物理层的连线、电子信号和介质访问层协议的内容。

TCP/IP协议通信模型

网络编程-OSI模型,TCP/IP协议族,数据通讯过程

数据的封装与传递过程

网络编程-OSI模型,TCP/IP协议族,数据通讯过程


推荐阅读
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 三角测量计算三维坐标的代码_双目三维重建——层次化重建思考
    双目三维重建——层次化重建思考FesianXu2020.7.22atANTFINANCIALintern前言本文是笔者阅读[1]第10章内容的笔记,本文从宏观的角度阐 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文介绍了几种常用的图像相似度对比方法,包括直方图方法、图像模板匹配、PSNR峰值信噪比、SSIM结构相似性和感知哈希算法。每种方法都有其优缺点,适用于不同的应用场景。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • Panabit应用层流量管理解决方案
    Panabit是一款国内领先的应用层流量管理解决方案,提供高度开放且免费的专业服务,尤其擅长P2P应用的精准识别与高效控制。截至2009年3月25日,该系统已实现对多种网络应用的全面支持,有效提升了网络资源的利用效率和安全性。 ... [详细]
  • 深入了解 Azure Standard Load Balancer 的核心功能与应用场景
        Azure的负载均衡器就不需要多说了,属于很基础的组件了,各个云的LB功能其实也不太一样,Azure的4层LB属于相对来说功能比较基础的,不过好处是这东西也不要钱,不过Az ... [详细]
  • 直播带货系统中的推流技术详解
    本文介绍了RTMP(实时消息传输协议)及其在直播带货系统中的应用,并详细探讨了带货直播系统的连麦方案,包括服务端合流和客户端合流的优势与劣势。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
author-avatar
QingGang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有