码迷,mamicode.com
首页 > 其他好文 > 详细

网络基础知识

时间:2015-09-06 20:14:54      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

 进程的三种状态及转换 http://blog.chinaunix.net/uid-23883288-id-3028968.html

线程的五大状态http://blog.csdn.net/peter_teng/article/details/10197785

 

操作系统中的进程与线程:http://www.cnblogs.com/CareySon/archive/2012/05/04/ProcessAndThread.html

 

进程与线程的一个简单解释:http://blog.jobbole.com/38696/

 

 

1. IPv4IPv6 地址分别是:32位、128

IPv4地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数。
IPv6 地址长度4倍于IPv4地址,表达起来的复杂程度也是IPv4地址的4倍。IPv6地址的基本表达方式是X:X:X:X:X:X:X:X,其中X是一个4位十六进制整数(16位)。每一个数字包含4位,每个整数包含4个数字,每个地址包括8个整数,共计128位(4×4×8=128)。
 2.
    1.TCP 握手协议数据包发送顺序
  • 握手的顺序是:SYNACK+SYNACK
  • 通过设置FIN为来表示释放连接,当一方释放连接(发送FIN)时,只是表明这一方不会在此次连接中发送数据了,另一方还是可以发送数据。
技术分享
 

2.TCP协议相关知识点1:

TCP面向连接的服务;三次握手(建立连接)和四次挥手(关闭连接);使用滑动窗口机制进行流量控制TCP要保证在所有可能的情况下使得所有的数据都能够被投递,当你关闭一个socket时,主动关闭一端的socket将进入TIME_WAIT状态,而被动关闭一方则转入CLOSED状态,这的确能够保证所有的数据都被传输。

1)首先A B端的TCP进程都处于established状态, 当A的应用程序传送完报文段,就会去 主动关闭 连接A 会停止发送报文段(但是还会接收),并向B发送[FIN = 1,seq=u]数据,之后进入FIN-WAIT-1状态;

2)B接收到A发送的请求之后,会通知应用进程A已经不再发送数据,B会向A发送ACK确认数据[ACK=1,seq=v,ack=u+1 ],B进入  CLOSE-WAIT状态,  A接收到B发送的数据之后,A进入FIN-WAIT-2状态;此时A到B方的连接已经关闭了。

3)当B的应用进程发现自己也没有数据需要传送,B应用进程就会发出 被动关闭 的请求,B此时向A发送[FIN=1,ACK=1,seq=w,ack=u+1]数据,并且进入LAST-ACK状态;【所以D不对】

4)A接收到B发送的数据之后,向B发送确认数据[ACK =1,seq=u+1,ack=w+1],进入TIME-WAIT状态,等待2MSL之后关闭连接进入CLOSED状态;B接收到A发送的确认之后进入CLOSED状态。B到A方的连接关闭

 
 
 
 
3. IP 地址
  • 某主机的IP的地址202.117.131.12/20,其中子网网掩码202.117.131.12/20代表前20位代表网络号,后12位代表主机号;前20位全1,后12位全零的IP地址为255.255.240.0.
  • IP 地址中网络号的作用:指定了主机所属的网络;但是有网络号并不能确定到某一台机器上,所以不是一个节点,是一片区域,也并不是指能够通信的网络,要能够通信要达到很多条件才行。
4.有关路由器和二层交换机的区别:
  交换机->>>传统交换机从网桥发展而来,属于OSI第二层即数据链路层设备;三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由;交换机可以隔离冲突域。是基于物理网卡地址的设备。交换机网络如果出问题,就会引发广播风暴。
  路由器->>>路由器属于OSI第三层网络层设备,它根据IP地址进行寻址,通过路由表路由协议产生;路由器才能隔离广播域,当然冲突域也能隔离。是基于网络逻辑地址的设备。
 
5. 线程与进程
参考地址1:http://www.cnblogs.com/CareySon/archive/2012/05/04/ProcessAndThread.html
图解地址:http://blog.jobbole.com/38696/
解释1:线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。在多线程OS中,线程是能独立 运行 的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一 进程 中的)。一个线程可以创建和撤消另一个线程,同一 进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。进程也有就绪阻塞运行三种基本状态。,每个线程都有自己的计数器,栈和寄存器

解释2:创建进程的步骤1.申请空白PCB(进程控制块); 2,为新进程分派资源; 3,初始化PCB; 4,将新进程插入就绪队列;

解释3: 进程的三种状态:就绪阻塞运行

        线程的五种状态:新建、就绪阻塞运行、死亡

        状态转换

解释:进程的分配方式:如果系统在所有进程运行前,一次性地将其在整个运行过程中所需地全部资源分配给进程,即所谓"静态分配",使可以预防死锁发生的。

解释3: 假设就绪队列中有10个进程,以时间片轮转方式进行进程调度,时间片大小为300ms,CPU进行进程切换需要花费10ms,则系统开销所占比率和进程数目增加到30个,其余条件不变时系统开销所占的比率相比,其结果是(等于)。分析:进程数为 10 的情况下,系统开销比率等于切换进程总时间 进程总共运行时间,其中切换进程运行时间为 10*10ms ,进程运行总时间为 300*10+10*10ms ,因此系统开销比率为 10*10/(300*10+10*10), 可以看出系统开销比率与进程数无关,故选择等于选项。

解释: 周转时间:对一个进程来说,一个重要的指标是它执行所需要的时间. 从进程提交到进程完成的时间间隔为周转时间.也就是等待进入内存的时间,在就绪队列中等待的时间,在 CPU中执行的时间和I/O操作的时间的总和. 

解释:进程\线程同步方法

  • 常见的进程/线程同步方法有互斥锁(或称互斥量Mutex)、读写锁(rdlock)、条件变量(cond)、信号量(Semophore)等。

  • windows系统中,临界区(Critical Section)和事件对象(Event)也是常用的同步方法。
  • 递归锁/非递归锁

      Mutex可以分为递归锁(recursive mutex)和非递归锁(non-recursive mutex)。 递归锁也叫可重入锁(reentrant mutex),非递归锁也叫不可重入锁(non-reentrant mutex)。二者唯一的区别是:同一个线程可以多次获取同一个递归锁,不会产生死锁。如果一个线程多次获取同一个非递归锁,则会产生死锁。

  • Windows下的Mutex和Critical Section是可递归的。
  • Linux下的pthread_mutex_t锁是默认是非递归的。可以通过设置PTHREAD_MUTEX_RECURSIVE属性,将pthread_mutex_t锁设置为递归锁。
多进程与多线程:
 
6.无状态协议
无状态协议:是指一种把每个请求作为与之前任何请求都无关的独立的事务的服务器; 
包括:http,ftp,UDP;reverse:TCP是状态协议
 
7.NAT协议
NAT定义
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
NAT功能
NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描) 的时候,就侦测不到源Client 端的 PC 
NAT实现方式
NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。
静态 转换是指将内部网络的私有IP地址转换为公有IP地址IP地址对是一对一的,是一成不变的,某个私有IP地址只转换为某个公有IP地址。借助于静态转换,可以实现外部网络对内部网络中某些特定设备(如服务器)的访问。
动态转换是指将内部网络的私有IP地址转换为公用IP地址时,IP地址是不确定的,是随机的,所有被授权访问上Internet的私有IP地址可随机转换为任何指定的合法IP地址。也就是说,只要指定哪些内部地址可以进行转换,以及用哪些合法地址作为外部地址时,就可以进行动态转换。动态转换可以使用多个合法外部地址集。当ISP提供的合法IP地址略少于网络内部的计算机数量时。可以采用动态转换的方式。
端口多路复用( Port address Translation,PAT)是指改变外出数据包的源端口并进行端口转换,即端口地址转换(PAT,Port Address Translation).采用端口多路复用方式。内部网络的所有主机均可共享一个合法外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。同时,又可隐藏网络内部的所有主机,有效避免来自internet的攻击。因此,目前网络中应用最多的就是端口多路复用方式。
NAT配置
在配置NAT(网络地址转换)之前,首先需要了解内部本地地址和内部全局地址的分配情况。根据不同的需求,执行以下不同的配置任务。
内部源地址NAT配置
内部源地址NAPT配置
重叠地址NAT配置
TCP负载均衡

 

 

 

 

 
 

网络基础知识

标签:

原文地址:http://www.cnblogs.com/lwflourish/p/4784714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!