1、OSI模型

目录

一、OSI模型

二、TCP / IP 模型 (协议簇)

1、TCP/IP简介

2、自下而上了解TCP/IP协议: (网络接口和物理层)

3、TCP/IP协议其他知识点

三、基本知识点

1、socket——插座

2、为什么需要socket

         3、什么是socket

4、IP地址

5、端口号(用于区分计算机中某一个具体的程序)

6、字节序

一、OSI模型

应示会输网数物

二、TCP / IP 模型 (协议簇)

1、TCP/IP简介

(1)TCP/IP协议事实上是一个工业标准。

(2)TCP/IP协议指的是能够在多个不同的网络间实现信息传输的协议簇。

(3)该协议并不是只由 TCP 和 IP协议组成,而是由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇。只是TCP/IP 协议比较有代表性所以被称为TCP/IP协议。

(4)TCP/IP只有4层

2、自下而上了解TCP/IP协议: (网络接口和物理层)

  • 物理层的主要设备就是中继器和集线器(交换机/路由)
  • 封装成帧(在数据的前后分别加上开始《纠错以及修正》和结束的标记后便构成了一帧)
  • 每一个数据链路层都规定了所能传输的一针数据中数据的长度上限称为最大传输单元(MTU)
  • 透明传输(指的是不管数据的二进制是如何组合都应该能够正常传输而不会被误以为是某些控制的命令, 确保数据安全到达)
  • 差错检测(在传输的二进制编码中加入适当的冗余度使得接收者可以发现在传输中是否出现了差错)
  • TCP /IP 协议的数据包组成:

3、TCP/IP协议其他知识点

(1)特点:不局限于某一台主机中的各个进程,只要网络可以到达,就可以实现跨平台的进程通信。

(2)协议:想要实现在两个或多个平台中稳定通信,就需要遵守(达成)同一个协议。

(3)TCP协议包含两个方面

tcp传输协议:用来检测网络传输中差错的传输控制协议

ip 网际协议:专门负责对不同网络进行互联的互联网协议IP

(通俗的来说TCP是专门负责传输过程中的出错问题,一旦出现传输的问题TCP协议则会 介入处理,并把出错的数据包重新传输直到数据安全到达为止。而IP协议则是在网络中负责不同的 网络之间的通信,给网络中的每一台主机分配一个不同的IP地址)

三、基本知识点

1、socket——插座

是一个编程接口

是一个特殊的文件描述符

不仅仅局限于TCP/IP协议

面向连接 TCP(视频通话)

无连接 UDP (发微信消息)

很多的应用 都依赖于socket的接口例如FTP\TELNET等

2、为什么需要socket

(1)普通IO操作的过程: 打开文件 >> 读/写操作 >> 关闭文件( 在同一个机器上的两个程序可以简单的通过某一个相同的文件进行数据的交流和传输)

(2)Socket相当于从网络向进程传递数据和从进程向网络传递数据的门户。(在网络中两个进程完全不存在统一个机器打开方式)

3、什么是socket

独立于具体协议的网络编程接口

在OSI模型中主要位于会话层和传输层之间

Socket的类型:

  • 流式套接字 (SOCK_STREAM) TCP :提供一个面向连接、可靠的数据传输服务,数据无差错、无重复、地发送并按顺序抵达。内设流量控 制,避免数据流淹没前面的数据。数据被查看时字节流,无长度限制。
  • 数据报套接字(SOCK_DGRAM) UDP :提供无连接服务,数据包以独立数据包形式被发送,不提供无差错保证,数据有可能丢失或重复到 达,顺序发送可能会乱序接收
  • 原始套接字(SOCK_RAW) :可以直接访问较低层次的协议例如 IP\ICMP

4、IP地址

  • IP地址是网络中主机(电脑)的标识
  • 在网络中主机想要与其他机器通信就必须拥有一个自己的IP地址
  • IP地址为32位(IPV4)或者128位(IPV6)
  • 每一个数据包都必须携带目的地址IP和源IP地址,路由器依靠此信息为数据包选择最优路由(路线)

5、端口号(用于区分计算机中某一个具体的程序)

  • 用于区分一台主机中接收到的数据包应该转交给哪一个进程进行处理。
  • TCP端口号与UDP端口号是相互独立的
  • 端口号一般由IANA(Internet Assigned Numbers Authority) 统一管理
  • 众所周知端口: 1 - 1023 (1-25之间为众所周知端口 , 256 - 1023 为UNIX系统占用) 何为总所周知端口其实就是早已固定号的端口比如80端口分配给WWW服务,21端口分配给FTP服务等
  • 注册端口: 1024 -49151 分配给进程或者应用。这些端口号在还没有被服务器资源占用时,可以由用户的APP 动态注册获得。
  • 动态端口号:49152 - 65535 被称为动态端口号他一般不固定分配某种服务而是动态分配的。一般可以使用 65000 以上的就可以随便用

6、字节序

  • 小端序(Little-Endian):低序(低有效位)存储在低地址(起始地址),Intel\AMD 等采用的方式
  • 大端序(Big-Endian) :高序(高有效位)存储在低地址 ARM采用的存储方式

为了避免在不同的处理器中收到的数据出现字节序带来的问题,因此网络中传输的数据必须按照网 络字节序来处理,也就是大端序。发送者在发送数据前必须先转换为网络字节序,而接收者需要在收 到网络中的数据时再转换为自己合适的主机字节序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/2127.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】夯实基础|线性表刷题01

作者:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: 【数据结构|刷题专栏】:该专栏专注于数据结构知识,持续更新&a…

【三维几何学习】从零开始网格上的深度学习-3:Transformer篇(Pytorch)

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 从零开始网格上的深度学习-3:Transformer篇引言一、概述二、核心代码2.1 位置编码2.2 网络框架三、基于Transformer的网格分类3.1 分类结果3.2 全部代码引言 本文主要内容如下&#…

linux中写定时任务

场景:我们生产环境中有大量的日志记录,但是我们的磁盘没有太大,需要定时清理磁盘 文章目录crond 定时任务详解安装定时任务crontab服务启动与关闭crontab操作crontab 命令test.sh查看日志丢弃linux中的执行日志Linux进入nano模式方式一方式二…

Unreal Engine 网络系统(四):UEC++的RPC

目录 行为同步 On Server:服务端的RPC代码 On Client:客户端的RPC代码 NetMulticast:广播的RPC代码 属性同步 行为同步 借助UFUNCTION进行函数标记 UFUNCTION(Server):声明一个在客户端调用,在服务端执行的函数U…

测试老鸟都在用的接口抓包常用工具以及接口测试工具都有哪些?

目录 接口 接口测试的重要性 常用抓包工具 常用接口测试工具 接口 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间…

pkg打包node项目到linux中运行

首先看一下pkg的一些基本操作 pkg打包node项目为exe_node静态项目 导出exe_疆~的博客-CSDN博客由于win7最高只支持node13.14.0,而pkg不支持node13,为了既兼容win7,又能使用pkg打包,故使用node12.22.11。新建node_global和node_ca…

这一次,吃了Redis的亏,也败给了GPT

关注【离心计划】,一起离开地球表面 背景 组内有一个系统中有一个延迟任务的需求,关于延迟任务常见的做法有时间轮、延迟MQ还有Redis Zset等方案,关于时间轮,这边小苏有一个大学时候做的demo: https://github.com/JA…

好用的5款国产低代码平台介绍

一、云程低代码平台 云程低代码平台是一款基于springboot、vue.js技术的企业级低代码开发平台,平台采用模型驱动、高低码融合、开放扩展等设计理念,基于业务建模、流程建模、表单建模、报表建模、大屏建模等可视化建模工具,通过拖拉拽零代码方…

安装flume

flume最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入到hdfs中架构:开始安装一,上传压缩包,解压并更名解压:[rootsiwen install]# tar -zxf apache-flume-1.9.0-bin.tar.gz -C ../soft/[rootsiwen install]#…

太强了,英伟达面对ChatGPT还有这一招...

大家好,我是 Jack。 今年可谓是 AI 元年,ChatGPT、AIGC、VITS 都火了一波。 我也先后发布了这几期视频: 这是一个大模型的时代,AI 能在文本、图像、音频等领域大放异彩,得益于大模型。而想要预训练大模型&#xff0c…

nodejs篇 express(1)

文章目录前言express介绍安装RESTful接口规范express的简单使用一个最简单的服务器,仅仅只需要几行代码便可以实现。restful规范的五种接口类型请求信息req的获取响应信息res的设置中间件的使用自定义中间件解决跨域nodejs相关其它内容前言 express作为nodejs必学的…

前缀树(字典树/Trie) -----Java实现

目录 一.前缀树 1.什么是前缀树 2.前缀树的举例 二.前缀树的实现 1.前缀树的数据结构 1.插入字符串 2.查找字符串 3.查找前缀 三.词典中最长的单词 1.题目描述 2.问题分析 3.代码实现 一.前缀树 1.什么是前缀树 字典树(Trie树)是一种树形…

机器学习——无监督学习

机器学习的分类一般分为下面几种类别:监督学习( supervised Learning )无监督学习( Unsupervised Learning )强化学习( Reinforcement Learning,增强学习)半监督学习( Semi-supervised Learning )深度学习(Deep Learning)Python Scikit-learn. http: // …

用Pytorch构建一个喵咪识别模型

本文参加新星计划人工智能(Pytorch)赛道:https://bbs.csdn.net/topics/613989052 目录 一、前言 二、问题阐述及理论流程 2.1问题阐述 2.2猫咪图片识别原理 三、用PyTorch 实现 3.1PyTorch介绍 3.2PyTorch 构建模型的五要素 3.3PyTorch 实现的步骤 3.3.…

app自动化测试——app自动化控制、常见控件定位方法

文章目录一、app自动化控制1、清理数据:2、启动:3、关闭:二、常见控件定位方法1、android知识2、ios 基础知识3、元素定位4、控件基础知识5、app dom 结构解析6、iOS 与 Android dom 结构的区别7、定位方法测试步骤三要素定位方式&#xff1a…

大环境不好,找工作太难?三面阿里,幸好做足了准备,已拿offer

三面大概九十分钟,问的东西很全面,需要做充足准备,就是除了概念以外问的有点懵逼了(呜呜呜)。回来之后把这些题目做了一个分类并整理出答案(强迫症的我狂补知识)分为软件测试基础、Python自动化…

超专业解析!10分钟带你搞懂Linux中直接I/O原理

我们先看一张图: 这张图大体上描述了 Linux 系统上,应用程序对磁盘上的文件进行读写时,从上到下经历了哪些事情。 这篇文章就以这张图为基础,介绍 Linux 在 I/O 上做了哪些事情。 文件系统 什么是文件系统 文件系统&#xff0…

docker版jxTMS使用指南:数据查询

本文讲解docker版jxTMS的数据查询,整个系列的文章请查看:docker版jxTMS使用指南 请按前文所述先做好相关的准备工作,然后多在helloWorld界面输入各种数据后点【点我】按钮,以多创建点数据来为查询做下准备。 分页查询 首先在we…

python网上选课系统django-PyCharm

学生选课信息管理系统,可以有效的对学生选课信息、学生个人信息、教师个人信息等等进行管理。 开发语言:Python 框架:django Python版本:python3.7.7 数据库:mysql 数据库工具:Navicat11 开发软件&#x…

RK3588平台开发系列讲解(NPU篇)NPU调试方法

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、日志等级二、NPU 支持查询设置项沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起来看一下NPU的调试方法。 一、日志等级 NPU 的运行库会根据开发板上的系统环境变量输出一些日志信息或者生成…