1.C/S架构(client/server)

  即客户端(泛指客户端程序exe)与服务端架构

2.B/S架构(Browser/Server)

  浏览器端与服务器端架构

3.广播

  主机之间‘一对所有’的通讯模式,网络对其中每一台主机发出的信号无条件复制并转发,所有主机都可无条件接收

  特点:一对多,不用考虑路径,网络成本低

  应用领域:有线电视网,它实质接收所有频道的信号,但只将一个频道的信号还原成画面

  PS:数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机

4.ip地址与ip协议(四段十进制数)

  规定网络地址的协议被称为ip协议,它所定义的地址被称为ip地址,广泛采用的是v4版本,规定网路地址由32位2进制表示

  范围:0.0.0.0——255.255.255.255

  一个ip地址通常被写成四段十进制数,如175.152.154.022

  IP协议作用:为每一台计算机分配IP地址;确定哪些地址在同一个子网格

5.mac地址

  每个网卡出厂时都被定制上唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)

6.ARP协议(地址解析协议)

  通过IP地址找到MAC地址的过程,交换机只能看懂物理(mac)地址

  将消息(包含IP地址和MAC地址的ARP请求)广播到网络上的所有主机上,并接受返回信息,以此确定目标MAC地址

7.路由器(跨局域网之间的通信-路由表)

  链接因特网中各个局域网,广域网的设备,它会根据信道情况自主选择和设定路由,以最佳路径,按顺序发送信号

  路由和交换机之间主要区别就是交换机发生在OSI模型第二层(数据连接层),而路由发生在第三层(网格层)

  网关IP,内置在路由器中

路由器和交换机的区别:

  1:交换机:是负责内网里面的数据传递(arp协议)根据MAC地址寻址

   路由器:在网络层,路由器根据路由表,寻找该ip的网段

  2:路由器可以处理TCP/IP协议

  3:路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。

   交换机可以把很多主机连起来,这些主机对外各有各的IP。

  4:交换机是做端口扩展的,也就是让局域网可以连进来更多的电脑。

   路由器是用来做网络连接,也就是;连接不同的网络

8.局域网

  局域网(local area network),简称LAN,指在某一区域由多台计算机互联而成的计算机组,属于封闭型网络

  作用:可以实现文件管理,应用软件共享,打印机共享等

9.子网掩码(跟网关有关,主要用来查看机器是否在同一局域网内)

  它是表示子网特征的一个参数,在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全是1,主机部分全是0

  如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0

  知道了子网掩码,就能判断两个IP地址是都在同意各自网格

比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,172.16.10.1:10101100.00010000.00001010.000000001
255255.255.255.0:11111111.11111111.11111111.00000000
AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0172.16.10.2:10101100.00010000.00001010.000000010
255255.255.255.0:11111111.11111111.11111111.00000000
AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0
结果都是172.16.10.0,因此它们在同一个子网络。

10.端口(port)(网络访问必须经过端口,用于应用程序之间的通信)

  端口范围:0-65535

  在同一台机器上,同一时刻每一个端口只能为一个运行中的程序提供服务

  只有用到互联网通信的程序才会用到端口的概念

  通过IP和端口,可以找到全世界唯一的一台电脑上的一个程序

11.域名解析(DNS)

  在互联网上,所有的地址都是ip地址,现阶段主要是IPv4(比如:110.110.110.110)。

  但是这些ip地址太难记了,所以就出现了域名(比如http://baidu.com)。

  域名解析就是将域名,转换为ip地址的这样一种行为。

12.tcp协议和udp协议 

TCP协议:

  当应用程序希望通过 TCP 与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP 将在两个应用程序之间建立一个全双工 (full-duplex) 的通信。

  这个全双工的通信将占用两个计算机之间的通信线路,直到它被一方或双方关闭为止

  特点:可靠安全,面向连接,但是速度慢

  应用:web浏览器,电子邮件,文件传输程序等

UDP协议:

  一种简单的面向数据包的运输层协议,它只是把应用程序传给IP层的消息发送出去,但无法保证对方可以接收

  特点:不可靠的,无连接的服务,面向数据包,但是速度快,且不会长期占用系统链接资源

  应用:域名系统 (DNS);视频流;IP语音(VoIP)

13.TCP三次握手和四次挥手

  TCP三次握手:通过三次握手在两个服务之间建立了双相通信连接(全双工)

  • A向B发起建立连接请求:A——>B;
  • B收到A的发送信号,并且向A发送确认信息:B——>A;
  • A收到B的确认信号,并向B发送确认信号:A——>B

  第一次握手,B可以知道A能发送数据,第二次握手,A可以知道B能发送数据,根据第一次握手和第二次握手,A可以知道B能接收收据。第三次发送数据,B可以知道A能接收数据

  TCP四次挥手:通过四次挥手断开两个服务之间的连接

  • A向B发起请求,表示A没有数据要发送了:A——>B;
  • B向A发送信号,确认A的断开请求请求:B——>A;
  • B向A发送信号,请求断开连接,表示B没有数据要发送了:B——>A;
  • A向B发送确认信号,同意断开:A——>B

  二次和三次挥手不能同时发送,因为此时A虽然不能再发送数据,但是还可以接收数据,B可能还有数据发送给A

14.OSI七层协议(互联网协议)

  即互联网协议,互联网核心就是由一堆协议(标准)组成,所有计算机都是通过一套标准去接收和发送请求

  它根据功能可以分为osi七层或tip\ip五层或tip\ip四层 

  应用层:在Python程序内将信息编码

  传输层:在此确定当前服务端口和传输使用(TCP或UDP)协议

  网络层:确定IP地址

  数据连接层:获取对方MAC地址

  物理层:网卡,网线

每层运行物理设备(对应硬件):

  物理层:与电信号的传输相关

  数据链路层:和MAC地址相关

  网路层:和IP地址相关           # 三层交换机:兼备交换和路由功能,既能识别IP地址,也能识别MAC地址

  传输层:和端口相关        

每层运行常见协议:

网络编程具体介绍链接:http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label5

转载于:https://www.cnblogs.com/LearningOnline/p/8981190.html

网络编程基础知识(待更新补充)相关推荐

  1. Linux网络编程基础知识

    Linux网络编程基础知识 1. 协议的概念 1.1 什么是协议 1.2 典型协议 2 网络应用程序设计模式 2.1 C/S模式 2.2 B/S模式 2.3 优缺点 3 分层模型 3.1 OSI七层模 ...

  2. Java 网络编程基础知识

    Java 网络编程基础知识 基础概念 计算机网络的基本概念 ​ 网络:多台计算机使用网络设备互联在一起,计算机之间可以进行通信,这样就组成了一个计算机网络. ​ 网络设备:集线器(HUB),路由器,交 ...

  3. 多实例多进程网络编程PHP,php socket网络编程基础知识(四):多进程

    标签:status   传递   windows   返回   修改   队列   _for   响应   关联 说明 php在web编程时是不需要考虑多进程的,但整个php流程是涉及到多进程的,只不 ...

  4. python网络编程基础知识_python网络编程基础

    一.客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发. 二.scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有 ...

  5. 网络编程基础知识概括帮助你了解架框组成客户端服务端架构

    阅读目录 1.楔子 2.客户端/服务端架构 3.网络基础 4.套接字(socket)初使用 写python代码 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分 ...

  6. 11.网络编程-基础知识 C++/Linux-2022-10-20

    linux网络编程 1.网络基础 网络应用程序设计模式 C/S - client/sercver 优点:1.协议选用灵活,2.可以缓存数据 缺点:用户安全,开发工作量大,调试困难 B/S - brow ...

  7. 网络编程 -- 基础知识 流(输入流,输出流)

    1. 流 流是指通过一定的传播路径从源传递到目的地的字节序列.Java中的字节流分为输入流和输出流:输出流是指向目的地的写入的二进制序列,输入流是从数据源读取的二进制序列.网络编程的很大一部分工作都是 ...

  8. 网络编程基础知识详解

    什么是网络编程 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...

  9. 【netty篇】- 第0章netty网络编程必备知识[持续更新中]~

    一.三大组件简介 Channel与Buffer Java NIO系统的核心在于:通道(Channel)和缓冲区(Buffer).通道表示打开到 IO 设备(例如:文件.套接字)的连接.若需要使用 NI ...

最新文章

  1. 五大经常使用算法 之 动态规划法
  2. 【OpenPose-Windows】运行OpenposeDemo.exe 如何保存图像运行结果及关节点信息
  3. java中的string是什么_什么是String
  4. PHP商城数据库安全事务处理方法
  5. 网站页面增加一个简单的密码登录访问php网站源码
  6. win7 oracle数据库删除用户名,图文帮你win7系统删除Oracle数据库中的用户的具体方法...
  7. 矩池云里查看cuda版本
  8. Extjs 4.x 得到form CheckBox的值
  9. 命令行,使用java的java 命令,直接调用执行class文件
  10. 【转】容器 C++ set和map
  11. 在kubernetes上实现tomcat日志的持久化
  12. Kettle——简介
  13. 简单易学的机器学习算法——极限学习机(ELM)
  14. 任意版本nodejs下载
  15. html嵌入word文档,网页中嵌入word文档和导出数据到word文档
  16. 提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧
  17. 【知识兔】六个Excel生成序号技巧,超级大技巧
  18. 如何对固定资产、耗材全流程管理
  19. linux ls 目录颜色,改变ls 中目录颜色的方法
  20. 怎么才能做好一个软件销售

热门文章

  1. C语言教程第六章:指针(1)
  2. java中的Servlet
  3. 配置一下自己的vim
  4. mysql sql 一部分记录_MySQL性能优化实践(很全面,值得收藏)
  5. linux C语言调用Intel处理器CPUID指令的实例
  6. 三人表决器_数电小实验之三人表决器
  7. 【算法】剑指 Offer 31. 栈的压入、弹出序列 【重刷】
  8. 【Negix】Nginx 面试 一些题目
  9. 【Linux】Linux下使用w命令和uptime命令查看系统负载
  10. pytorch 指定卡1_收藏 | 13则PyTorch使用的小窍门