当前位置: 首页 > news >正文

随笔 漫游互联网

网络编程基础:漫游互联网

温故而知新,可以为师矣。互联网我们可以想象成一个立体的网状结构,由一个一个的小网络组成的网状结构,在一个一个小网络中通过一台一台机器组成,经过几十年的发展终于有了今天这个样子。谈论互联网时,我们需要知道网络解决的是一个怎样的问题?网络解决的是主机与主机之间通信的问题,无论这两台主机在哪里,相隔多远。但凡谈到通信,就需要有一定的规则,就如只会说中文的我无法与只会说英文的人交换信息,也就没有办法通信。而这个一定的规则就是我们熟知的TCP/IP协议族,虽然OSI提出的是七层网络模型,但是在实际生活中使用的是四层网络模型,从上到下分别是应用层,传输层,网络层,数据链路层。当然也可以再加一层物理层。每一层的作用网上一大把,这里并不想过多的赘述,这里主要介绍我们日常开发中我们会接触到的应用层与传输层。传输层主流的两个协议是TCP,UDP协议,其中我们知道的就是TCP基于连接,可靠,UDP 不可靠。但是我认为更加重要的不是协议的特点,而是传输层的主要责任是什么?我认为主要责任:将应用层的数据从一个主机传输到另外一个主机,根本不关系数据的内容。而应用层的主要责任:解析从传输层收到的数据,将数据转换为程序能够读懂的格式。举个例子,比如基于TCP协议的HTTP协议。当客户端发送一个HTTP请求的时候,这个HTTP请求的数据会被转换成一个bit流,并通过TCP发送到服务端,然后服务端接受到这些bit流,将这些bit流通过一定的手段解析成HTTP请求的格式。通过这个过程我们就可以看到,实现两个主机,程序之间的通信,应用层负责解析数据内容,传输层负责传输数据。既然传输层需要将数据从一个数据中的一个程序送到另外一个主机中的另外一个程序,就需要有东西可以标识这个程序,我们知道IP地址标识在网络中的一个主机,那么端口就是用来标识主机中的一个网络程序的


http://www.mrgr.cn/news/39865.html

相关文章:

  • 图片加文字怎么弄?分享6种图片加文字方法
  • YAML管理接口框架配置的最佳实践!!
  • QT开发:深入掌握 QtGui 和 QtWidgets 窗口管理:QMainWindow、QDialog 和 QWidget 的高级应用
  • C/C++ 中的未定义行为(Undefined Behavior, UB)
  • windows全局配置pip镜像源
  • Linux线程栈大小与进程栈大小关系
  • Linux云计算 |【第四阶段】RDBMS1-DAY6
  • SpringAOP学习
  • 【Android 14源码分析】WMS-窗口显示-流程概览与应用端流程分析
  • Vue 中的路由:构建强大的单页应用导航
  • OceanBase企业级分布式关系数据库
  • 读《巴菲特之道》:学会像运营企业一样投资,掌握战胜市场的关键技能
  • 设计模式与非设计模式什么情况下使用
  • 智源研究院推出全球首个中文大模型辩论平台FlagEval Debate
  • Java面试题整理
  • swizzle
  • 【STM32】 TCP/IP通信协议(3)--LwIP网络接口
  • JVM 系列知识体系全面回顾
  • 文件包含漏洞
  • C++ set,multiset与map,multimap的基本使用