清晰讲解网络编程概念性问题

1.网络基础相关知识

  a:C/S架构:client(客户端) server(服务器端)

  

   优点:能充分发挥PC机的性能(原理是你下载一个软件,通过这个软件和你PC机进行信息通信)

   缺点:1.系统安装调试维护和升级都比较困难。因为在安装时需要对每一个客户端进行分别配置,同样的升级时也是
       2. 在整个系统中,业务逻辑和用户界面都集中在了客户端,增加了安全隐患。

  b:B/S架构:browser浏览器,和server服务器  隶属于C/S架构

  

  优点:统一了应用接口(软件不用下载,可以在网页上进行交互)应用程序的安装、调试、维护和升级都集中在了服务器端,

  降低了维护的复杂性,提供了系统的安全性。

2.通信过程的每种情况

a: 同一台电脑上的两个py程序通信: 打开一个py文件

b: 两个电脑如何通信:连接一根网线

c: 多个电脑通信:  

ps:
电脑1(源)要找电脑2(目标)
电脑1首先发送一个请求帧,期中包含(我的ip是192.168.1.1,我的mac地址是xxxxxxxx,我要找ip地址为192.168.1.2的主机),将此请求发送给交换机.交换机要广播这条消息给其他所有的主机
目标主机接收到消息后,对比发现自己就是被找的主机,回复给交换机信息(我的ip地址是192.168.1.2,我的mac地址是yyyyyyyyy,请回复给ip地址为192.168.1.1,mac地址为xxxxxxx的主机)
 交换机单播形式返回给源主机

用图来演示一下上面的语句:

在计算机中的传输过程:

mac地址:每个电脑上都有一个网卡,实际存在的,网卡是网卡制造商按照国际标准制造的一个物理地址,唯一标识,类似身份证;

(寻找mac地址的方法:进入cmd-->ipconfig -all 如果网线连接就找以太网的物理地址,如果无线就找无线的物理地址)

ip地址:是一个四位点分十进制,它标示了计算机在网络中的位置,所以在网络中光有mac地址不行,mac地址只能证明你的身份;

而互联网相当于一个虚拟世界,你的位置一直在改变,所以不能用mac地址找你,要不然mac地址一直改变,就不能证明身份了;

互联网(外网)和局域网(内网)的区别:为什么要有外网和内网,因为外网的ip不够了,就需要把外网的下面去开局域网;

交换机的通信方式:广播,单播,组播

arp协议:通过目标ip地址获取目标mac地址的一个协议

端口:问题引出:两台电脑可以相互通信了,为什么你发了一条qq不会出现在微信上,你发送的信息到底存在了计算机什么位置

   解答:但你发送信息时,先会把信息通过互联网发送给qq的服务器,再由服务器发送给另一方,

    这时操作系统为本机上每一个运行的程序都随机分配一个端口,其他电脑上的程序可以通过端口获取到这个程序;

    ip 地址 + 端口 能唯一找到某台电脑获取到这个程序;在这台电脑上接收服务器发送的你的信息;

路由器:连接不同的网段,

网关:类似于一个局域网的出口和入口

网段:一个局域网内的ip地址范围:你怎样判断你和别人在同一网段内:

计算方法:有一个名词叫子网掩码:255.255.255.0(本地连接 以太网 状态 详细信息)

网段算法:
192.168.12.52      #主机ip地址
1100 0000 1010 1000 0000 1100 0011 0100

255.255.255.0      #子网掩码
1111 1111 1111 1111 1111 1111 0000 0000
用ip地址和子网掩码的二进制进行与运算  与预算一假必假
1100 0000 1010 1000 0000 1100 0000 0000
192.168.12.0      #网段
    

原文地址:https://www.cnblogs.com/0627zhou/p/9457340.html

时间: 2024-11-04 04:09:30

清晰讲解网络编程概念性问题的相关文章

Java网络编程以及简单的聊天程序

网络编程技术是互联网技术中的主流编程技术之一,懂的一些基本的操作是非常必要的.这章主要讲解网络编程,UDP和Socket编程,以及使用Socket做一个简单的聊天软件. 全部代码下载:链接 1.网络编程简要概述: 网络编程实质实质就是两个(或多个)设备(例如计算机)之间的数据传输.而要实现两台计算机通过互联网连接进行数据传输,必输要满足计算机网络的5层协议(物理层,数据链路层,网络层,运输层,应用层):当然有划分可能不同,但现在大家比较容易接受理解的是五层模型.而其中前三层物理层,数据链路层以及

5种服务器网络编程模型讲解(转)

作者:快课网——Jay13 原文链接:http://www.cricode.com/3510.html 本文介绍几种服务器网络编程模型.废话不多说,直接正题. 1.同步阻塞迭代模型 同步阻塞迭代模型是最简单的一种IO模型. 其核心代码如下: 1 2 3 4 5 6 7 8 bind(srvfd); listen(srvfd); for(;;){ clifd = accept(srvfd,...); //开始接受客户端来的连接 read(clifd,buf,...);       //从客户端读取

网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?

1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步发布于:http://www.52im.net/thread-2067-1-1.html) 2.关于作者 翟志军,个人博客地址:https://showme.codes/,Github:https://github.com/zacker330.感谢作者的原创分享. 作者的另一篇<即时通讯安全篇(七)

Linux网络编程wait()和waitpid()的讲解

本文讲的是关于wait和waitpid两者的区别与联系.为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理.为此,我们在服务器程序中添加SIGCHLD信号处理函数. 客户端断开连接后,服务器端存在大量僵尸进程.这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进程默认忽略了该信号.为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理.为此,我们在服务器程序中添加SIGCHLD信号处理函

Linux网络编程&amp;内核学习

c语言: 基础篇 1.<写给大家看的C语言书(第2版)> 原书名: Absolute Beginner's Guide to C (2nd Edition) 原出版社: Sams 作者: (美)Greg Perry    [作译者介绍] 译者: 谢晓钢 刘艳娟 丛书名: 图灵程序设计丛书 C/C++系列 出版社:人民邮电出版社 ISBN:9787115216359上架时间:2009-12-10出版日期:2010 年1月开本:16开页码:308 说明:这本是入门最好的,最简单,最好懂 2.<

《TCP/IP网络编程》

<TCP/IP网络编程> 基本信息 作者: (韩)尹圣雨 译者: 金国哲 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115358851 上架时间:2014-6-19 出版日期:2014 年6月 开本:16开 页码:1 版次:1-1 所属分类:计算机 > 计算机网络 > 网络协议 > TCP/IP 更多关于>>><TCP/IP网络编程> 编辑推荐 为初学者准备的网络编程 本书涵盖操作系统.系统编程.TCP/IP协议等多种

网络编程释疑之:单台服务器上的并发TCP连接数可以有多少

曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了.我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾讯的上亿(注:QQ默认用的UDP协议).虽然现在的集群,分布式技术可以为我们将并发负载分担在多台服务器上,那我们只需要扩展出数十台电脑就可以解决问题,但是我们更希望能更大的挖掘单台服务器的资源,先努力

网络编程释疑之:同步,异步,阻塞,非阻塞

一讲到网络编程的I/O模型,总会涉及到这几个概念.问了很多人,没几个能清晰地讲出他们之间的区别联系,甚至在网络上也有很多不同的观点,也不知是中国文字释义的博大精深,还是本来这几个概念就是绕人不倦.今天我也来给大家讲解一下我对这几个概念的理解. 既然网络上众说纷纭,不如找个权威参考一下,这个权威就是<UNIX网络编程:卷一>第六章——I/O复用.书中向我们提及了5种类UNIX下可用的I/O模型: 阻塞式I/O: 非阻塞式I/O: I/O复用(select,poll,epoll...): 信号驱动

(转载)网络编程释疑之:同步,异步,阻塞,非阻塞

一讲到网络编程的I/O模型,总会涉及到这几个概念.问了很多人,没几个能清晰地讲出他们之间的区别联系,甚至在网络上也有很多不同的观点,也不知是中国文字释义的博大精深,还是本来这几个概念就是绕人不倦.今天我也来给大家讲解一下我对这几个概念的理解. 既然网络上众说纷纭,不如找个权威参考一下,这个权威就是<UNIX网络编程:卷一>第六章——I/O复用.书中向我们提及了5种类UNIX下可用的I/O模型: 阻塞式I/O: 非阻塞式I/O: I/O复用(select,poll,epoll...): 信号驱动