首页 > 其他分享 >计算机网络基础

计算机网络基础

时间:2023-04-30 16:55:48浏览次数:50  
标签:操作系统 计算机 基础 计算机网络 互联网协议 Internet 软件 客户端

计算机及网络基础

一、C/S架构

  C:client(客户端软件)     S:server(服务端软件)

  python程序员是应用开发程序员,开发的软件都是应用软件,应用软件必须运行于操作系统之上,操作系统则运行于硬件上,应用软件不能接操作硬件,应用软件对硬件的操作。

  必须调用操作系统接口,由操作系统操作硬件。

1、客户端软件基于网络发送消息给服务端软件流程

  1)客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存
  2)客户端操作系统收到数据后,按照客户端软件指定的协议、调用网卡发送数据
  3)网络传输数据
  4)服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中
  5)服务端操作系统受到4的指令后,使用与客户端相同的协议,从网卡接收到数据,然后拷贝给服务端软件

img

二、网络通信原理

1、互联网协议(Internet Protocol Suite)

  计算机之间的通信也应该有一个像英语一样的通信标准,这个标准称之为互联网协议, 可以很明确地说:互联网协议就是计算机界的英语,网络就是物理链接介质+互联网协议。

  img

  我们需要做的是,让全世界的计算机都学会互联网协议,这样任意一台计算机在发消息时都严格按照协议规定的格式去组织数据,接收方就可以按照相同的协议解析出结果了,这就实现了全世界的计算机都能无障碍通信。

  互联网协议的功能:定义计算机如何介入Internet,以及接入Internet的计算机通信标准。

2、OSI七层协议

  按照功能不同,人们将互联网协议分为osi七层或tcp/ip五层或tcp/ip四层。

  img

每层常见的物理设备:

  传输层:四层交换机、四层路由器
  网络层:路由器、三层交换机
  数据链路层:网桥、以太网交换机、网卡
  物理层:中继器、集线器、双绞线

3、tcp/ip五层模型详解

  将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议就理解了整个互联网通信的原理。

  每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件。

  TCP/IP五层模型详解

4、TCP/IP

  Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础。

  1974年,TCP/IP诞生,TCP/IP有一个非常重要的特点,就是开放性,即TCP/IP的规范和Internet的技术都是公开的。目的就是使任何厂家生产的计算机都能相互通信,使Internet成为一个开放的系统。

5、OSI七层模型

  国际标准化组织ISO于1977年成立了一个委员会,在现有网络的基础上,提出了不基于具体机型、操作系统或公司的网络体系结构,称为开放系统互联模型。

  OSI/RM模型(Open System Interconnection / Reference Model)的设计目的是成为一个所有计算机厂商都能实现的开放网络模型,来克服使用众多私有网络模型所带来的困难和低效性。

标签:操作系统,计算机,基础,计算机网络,互联网协议,Internet,软件,客户端
From: https://www.cnblogs.com/laogai13/p/17365426.html

相关文章

  • 数据结构与算法基础复习--(1)
    基本术语1.数据(Data)数据是能输入计算机且能被计算机处理的各种符号的集合信息的载体是对客观事物符号化的表示能够被计算机识别、存储和加工包括:数值型的数据:整数、实数等非数值型的数据:文字、图像、图形、声音等2.数据元素数据元素是数据的基本单位,在计......
  • CS144 计算机网络 Lab3:TCP Sender
    前言在Lab2中我们实现了TCPReceiver,负责在收到报文段之后将数据写入重组器中,并回复给发送方确认应答号。在Lab3中,我们将实现TCP连接的另一个端点——发送方,负责读取ByteStream(由发送方上层应用程序创建并写入数据),并将字节流转换为报文段发送给接收方。代码实现TCPSe......
  • 2 第2章 Python语言基础、IPython及Jupyter notebook
    IPython基础运行IPython:在终端输入ipython运行Jupyternotebook:在终端输入jupyternotebookShift+Enter来执行命令当在命令行输人表达式时,按下Tab键即可为任意变量(对象、函数等)搜索命名空间;当输入任意路径(甚至是Python字符串)时,按下Tab键将补全你的计算机文件系统文件名;......
  • C++ 基础语法
    C++基础语法基本输入输出#include<iostream>usingnamespacestd;intmain(){cout<<"xtloveac"<<endl;return0;}头文件#include<cstdio>包含printf(输出),scanf(输入)#include<iostream>包含cin(读入),cout(输出)usi......
  • 基础绘图(有向、无向、权重、迪杰斯特拉)
    在线绘图网站:GraphEditor(csacademy.com)1.基础绘图1.1无权重图graph(s,t)可以在s和t中的对应节点之间创建边并生成图s和t必须具有相同的元素数注意:编号从1开始,且是连续的编号s1=[1,2,3,4];t1=[2,3,1,1];G1=graph(s1,t1);plot(G1)%通过下面这句可以不显式坐标......
  • java 基础复习
    4-29号专题java大数处理和精度外理方法整理java中整数有四个类型,byteshortintlong.java中byte1个字节,short2个字节,int4个字节,long8个字节以long为例,long会占8*8=64个位,转成10进制就是19位。如果想表达更大的数字就需要用biglnteger以下内容专业针对大数处理方法讲解......
  • Spark安装部署与基础实践
    安装java运行命令sudoaptinstallopenjdk-8-jdk-headless进行安装运行java-version测试安装是否成功,结果如下,安装成功安装Spark运行wgethttp://mirror.bit.edu.cn/apache/spark/spark-2.4.5/spark-2.4.5-bin-hadoop2.7.tgz下载spark运行tar-xzvfspark-2.4.5-bin-......
  • 【c++基础】程序运行时间计时
    使用std::chrono计算程序运行时间#include<iostream>#include<string>#include<chrono>voidRun(){ for(inti=0;i<1000000000;++i) { }}intmain(){ autobeforeTime=std::chrono::steady_clock::now(); Run(); autoafterTime......
  • javaScript基础之 --- 作用域和闭包
    本文是我学习《你所不知道的javaScript上卷》的读书笔记的整理。更多详细内容,请微信搜索“前端爱好者“,戳我查看。作用域和闭包作用域是什么javaScript工作原理中的角色引擎-从头到尾负责整个javascript程序的编译及执行过程编译器-负责语法分析及代码生成......
  • 物联网基础知识1
    1.万物互联:贯穿于互联网的信息采集、信息传输、信息处理。2.物联网的概念最早由MITAuto-ID中心Ashton教授于1999年在研究射频识别(RFID)时提出。3.国际电信联盟(ITU):无所不在的“物联网”通信时代即将来临,世界上所有的物体,可以通过因特网主动进行信息交换,横向领域:覆盖普适计算机、传......