一、初识网络编程

一、初识网络编程

  • 1、协议模型



1.1、OSI模型

  • OSI(Open System Interconnect)开放系统互联参考模型,是在网络历史的早期,国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版的开放系统互联的七层参考模型,它把网络分为七层。



1.2、TCP/IP协议簇模型的演变

  • ISO制定的OSI参考模型的过于庞大复杂,招致了许多批评,为此后续的TCP/IP模型得到了广泛的应用。
  • TCP/IP是一系列模型的集合,早期的TCP/IP模型是四层结构,后来借鉴OSI的七层参考模型,形成了一个新的五层结构。

  • 存在问题:TCP/IP网络模型与传输层的TCP/UDP协议有什么联系?

    答:两者无必然联系,TCP/IP网络模型是从宏观上讲的,指的应用层到物理层所有层结合起来的模型框架,传输层的TCP/UDP是指操作系统的软件协议。

  • 存在问题:TCP/IP网络模型中四层与五层的区别?

    答:两者差别不大,五层协议只是借鉴OSI模型在四层协议的基础上将网络接口层分为数据链路层和物理层。



1.3、OSI模型与TCP/IP协议簇模型对比



2、网编中数据组包解包

数据包组包过程


数据包解包过程


  • 存在问题:TCP/IP网络模型编程中我们该如何进行数据封装?
  • 答:数据的封装是操作系统帮我们做的,如果自定义协议去实现复杂程度不言而喻,大家如有兴趣可对各级数据的封装格式了解,初级学习中主要着重与学会使用API函数进行网络数据通信,并不对各级的数据该如何封装做具体了解。

提醒:在以后的学习中,需对各级协议数据的封装格式详细了解,并记录博客!!

原文地址:https://www.cnblogs.com/retry/p/9308749.html

时间: 2024-11-05 15:55:26

一、初识网络编程的相关文章

初识网络编程

初识网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了. 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等.我们可以在我们的电脑上和别人聊

Java网络编程:初识网络编程

网络编程 什么是计算机网络 两台或更多的计算机组成的网络 同一网络内的任意两台计算机可以直接通信 所有计算机必须遵循同一种网络协议 什么是互联网 互联网是网络的网络 互联网采取TCP/IP协议 其中最重要的两个协议是TCP协议和IP协议 IP地址和网关 IP地址用于唯一标识一个网络接口 IPv4采用32位地址 IPv4地址实际是一个二进制32位的整数,为了便于识别,用十六进制表示后可以分为4组数字,每组数字转换成十进制后用"."隔开就是我们见到的IP地址: IPv6采用128位地址 公

初识网络编程(一)

引子 对于我们日常的编程,当我们需要在两个程序之间传递信息时可以使用一个程序将信息写入一个文件,再用另外一个程序从这个文件中读取信息就好了,可是如果两个程序不在一个电脑上是,我们这时候就需要引入网络编程才能实现以上功能,今天就说一下网络编程! 首先了解一下软件开发的架构: 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq.微信.网盘.优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度.知乎.博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都

Python之网络编程(一)网络编程初识

网络编程初识 C/S B/S架构 C/S B/S架构 C: client端 B: browse 浏览器 S: server端 C/S架构: 基于客户端与服务端之间的通信 ? QQ, 游戏,皮皮虾, 快手,抖音. ? 优点: 个性化设置,响应速度快, ? 缺点: 开发成本,维护成本高,占用空间,用户固定. B/S架构: 基于浏览器与服务端之间的通信 ? 谷歌浏览器,360浏览器,火狐浏览器等等. ? 优点: 开发维护成本低,占用空间相对低,用户不固定. ? 缺点: 功能单一,没有个性化设置,响应速

初识Socket通信:基于TCP和UDP协议学习网络编程

学习笔记: 1.基于TCP协议的Socket网络编程: (1)Socket类构造方法:在客户端和服务器端建立连接 Socket s = new Socket(hostName,port);以主机名和端口号作为参数来创建一个Socket对象. Socket s = new Socket(address,port);以InetAddress对象和端口号作为参数来创建一个Socket对象. 创建Socket对象时可能抛出UnknownHostException或IOException异常,必须捕获它们

网络编程<<初识socket>>

楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好.但是如果这两个程序之间想要传递一个数据,你要怎么做呢?这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢?**类似的机制有计算机网盘,qq等等.我们可以在我们的电脑上和别人聊天,可以在自己的电脑

Android中网络编程以及与服务器上Web项目的基础交互

该博文中内容通过老师上课的内容对于Android下的网络通信编程等内容进行总结: 1.Android网络编程初识 2.Android实现HTML源码查看 3.Android实现网络图片查看 4.Android实现与服务器上JavaWeb项目交互 1.Android网络编程初识 Android手机终端作为客户端发送Http请求到终端服务器上,并且当发送请求到服务器,如果请求成功,响应码:200:服务器会通过客户端返回请求并且处理后的信息数据,一般情况下,在正式项目中多用JSON,不会使用没有规定格

网络编程—网络基础概览、socket,TCP/UDP协议

网络基础概览 socket概览 socket模块-TCP/UDP的实现 TCP/UDP总结 网络基础概览 osi七层协议各层主要的协议 # 物理层传输电信号1010101010 # 数据链路层,以太网协议,arp协议.对这些信号进行分组,同时规范了分组形式--以太网协议,头部是mac地址中间是信息, # 网络层:ip协议,arp协议帮忙找到mac地址,ip,子网掩码,网关(下面有一些简单概括) # 传输层:tcp协议,udp协议 # (socket)就是一组接口,将复杂的tcp协议和udp协议隐

网络编程 套接字socket 及 粘包

网络编程 套接字socket 及 粘包 sockt 初识 五层协议 : 从传输层包括传输层以下 , 都是操作系统帮我们封装的各种head socket套接字充当的就是内置模块的角色 socket 套接字,它存在于传输层与应用层之间的抽象层 避免你学习各层的接口以及协议的使用, socket已经封装好了所有的接口 . 直接使用这些接口或者方法即可 , 使用起来方便,提升开发效率 socket 就是一个模块 , 通过使用学习模块提供的功能 , 建立客户端与服务端的通信 套接字的工作流程(基于TCP和