网路基础
化茧成蝶007
从事Linux下的开发,熟悉shell,Python,c++,c,目前学习qt开发
展开
-
路由器工作原理
路由器(Router)是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号的设备。传统地,路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就在数据包的帧格前添加下一个MAC地址,同时IP数据包原创 2017-08-08 20:34:30 · 693 阅读 · 0 评论 -
OSI七层模型
1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。2. 数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确原创 2017-08-08 20:16:59 · 359 阅读 · 0 评论 -
C/S模型-TCP
下图是基于TCP协议的客户端/服务器程序的一般流程:TCP协议通讯流程数据传输的过程:建立连接后,TCP协议提供全双工的通信服务,但是一般的客户端/服务器程序的流程是由客户端主动发起请求,服务器被动处理请求,一问一答的方式。因此,服务器从accept()返回后立刻调用read(),读socket就像读管道一样,如果没有数据到达就阻塞等待,这时客户端调用write()原创 2017-08-09 19:22:02 · 433 阅读 · 0 评论 -
防火墙分类
防火墙分类 1、数据包过滤防火墙 2、应用成防火墙1、数据包过滤防火墙 我们假设这台计算机上共装有两块网卡,其让扮演路由器的角色。因此,当一个数据包从左边接口进入后,即由路由表引导到右边接口送出,接着,我们在其上运行数据包过滤防火墙的操作,而这个防火墙的位置位于路由表之后。从这个结构我们大概可以知道数据包过滤防火墙每一次执行检查的最小单位是“一个数据包”。原创 2017-08-16 20:49:06 · 703 阅读 · 0 评论 -
UDP服务器
传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。TCP协议在网络通信中占主导地位,绝大多数的网络通信借助TCP协议完成数据传输。但UDP也是网络通信中不可或缺的重要通信手段。相较于TCP而言,UDP通信的形式更像是发短信。不需要在数据传输之前建立、维护连接。只专心获取数据就好。省去了三次握手的过程,通信速度可以大大提高,但与之伴随的通信的稳定性和正确率便得不到保证原创 2017-08-10 22:38:13 · 574 阅读 · 0 评论 -
组播
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。原创 2017-08-10 23:51:01 · 275 阅读 · 0 评论 -
netfilter----filter机制
扎实的掌握防火墙需要了解数据包分类数据包分类: INPUT类型: 所谓INPUT类型数据包是指“网络上其他主机发送给本机进程的数据包” 例如:网络上其他使用者访问本机的httpd服务时,就会产生这种类型的数据包 OUTPUT类型:如果是“本机进程”所生成的数据包,即为OUTPUT类型数据包。 例如:使用者在本机启动firefox去访问网络上的其他主机时,就会生成这种原创 2017-08-18 22:31:11 · 757 阅读 · 0 评论 -
Netfileter机制--规则的匹配方式
规则匹配的方式都是“first match”,即所谓的“优先”匹配。比如:INPUT为例,当我们在防火墙上添加新规则时,这些规则是按照“先后顺序”一条一条被加入到INPUT链。因此,第一条被加进来的规则,就会是存放在INPUT链内的第一条规则,即rule 1,最后被加进来的规则,当然就是INPUT链中的最后一条规则。当一个数据包进入INPUT链之后,filter机制就会根据该数据包原创 2017-08-19 20:09:21 · 801 阅读 · 0 评论 -
CentOS 7 VM下修改网卡名为eth0并启动问题解决
环境1234win7 64bitVM workstation 10CentOS 7NAT模式访问网络,所有虚拟机都配置在同一个网段内即192.168.0.1~192.168.0.2542.查看并修改默认配置123转载 2017-08-28 11:07:44 · 1662 阅读 · 0 评论 -
连接状态判断
不允许网络上任何连接进入到企业内部,但允许所有企业内的计算机可以连接到因特网。这样的设定确实能够阻止来自因特网的网络攻击威胁。但当企业内部计算机连接上因特网的时候,由于“企业内部”-->“因特网”是允许的,因此“企业内部”发送到“因特网”的数据包是可以成功穿过防火墙,但是因特网主机应答企业内部的主机时,该数据包变成了由“因特网”进入“企业内部”的数据包,但因为我们的防火墙上的规则是“因特网不允许有原创 2017-08-16 20:15:02 · 263 阅读 · 0 评论 -
TCP UDP 及 Socket的关系 端口的分类
TCP UDP 及 Socket的关系1、客户端向服务器发送数据包 ,数据包里包含了源 目的 地址 及 端口2、服务器端收到客户端的数据包后给予应答,因为数据包包含了客户端的ip和端口3、将数据包发送到客户端端口的分类1、公认端口一般使用在服务上2、注册端口 由于在同一时间内,同一端口只能供一个程序使用3、动态端口通常临时使用原创 2017-08-16 20:03:08 · 497 阅读 · 0 评论 -
路由表
路由表(Routing Table)在计算机网络中,路由表或称路由择域信息库(RIB)是一个存储在路由器或者联网计算机中的电子表格(文件)或类数据库。路由表存储着指向特定网络地址的路径。路由条目路由表中的一行,每个条目主要由目的网络地址、子网掩码、下一跳地址、发送接口四部分组成,如果要发送的数据包的目的网络地址匹配路由表中的某一行,就按规定的接口发送到下一跳地址。缺省路由条目路原创 2017-08-08 20:40:12 · 735 阅读 · 0 评论 -
以太网交换机工作原理
以太网交换机是基于以太网传输数据的交换机,以太网采用共享总线型传输媒体方式的局域网。以太网交换机的结构是每个端口都直接与主机相连,并且一般都工作在全双工方式。交换机能同时连通许多对端口,使每一对相互通信的主机都能像独占通信媒体那样,进行无冲突地传输数据。以太网交换机工作于OSI网络参考模型的第二层(即数据链路层),是一种基于MAC(Media AccessControl,介质访问控制)地址识别原创 2017-08-08 20:44:32 · 1372 阅读 · 0 评论 -
hub工作原理
集线器实际上就是中继器的一种,其区别仅在于集线器能够提供更多的端口服务,所以集线器又叫多口中继器。集线器功能是随机选出某一端口的设备,并让它独占全部带宽,与集线器的上联设备(交换机、路由器或服务器等)进行通信。从Hub的工作方式可以看出,它在网络中只起到信号放大和重发作用,其目的是扩大网络的传输范围,而不具备信号的定向传送能力,是—个标准的共享式设备。其次是Hub只与它的上联设备(如上层Hub原创 2017-08-08 20:47:10 · 7061 阅读 · 0 评论 -
Socket编程--套接字概念
套接字概念Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。既然是文件,那么理所当然的,我们可以使用文件描述符引用套接字。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。套接字的内核实现原创 2017-08-08 20:51:22 · 510 阅读 · 0 评论 -
网络字节序
我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分,磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的原创 2017-08-08 21:07:34 · 753 阅读 · 0 评论 -
IP地址转换函数
早期:#include #include #include int inet_aton(const char *cp, struct in_addr *inp);in_addr_t inet_addr(const char *cp);char *inet_ntoa(struct in_addr in);只能处理IPv4的ip地址不可重入函数注意参数是struct原创 2017-08-08 22:52:53 · 635 阅读 · 0 评论 -
sockaddr数据结构
strcutsockaddr 很多网络编程函数诞生早于IPv4协议,那时候都使用的是sockaddr结构体,为了向前兼容,现在sockaddr退化成了(void *)的作用,传递一个地址给函数,至于这个函数是sockaddr_in还是sockaddr_in6,由地址族确定,然后函数内部再强制类型转化为所需的地址类型。sockaddr数据结构struct sockad原创 2017-08-08 22:57:42 · 712 阅读 · 0 评论 -
网络套接字函数
socket模型创建流程图socket APIsocket函数#include /* See NOTES */#includeint socket(int domain,int type, int protocol);domain: AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址 AF原创 2017-08-08 23:02:32 · 297 阅读 · 0 评论 -
Linux系统IP路由基础 路由原理
1、路由原理一个普通的主机与路由器之间的根本区别在于,主机不会将一个报文从一个接口转发到另一个接口,而路由器可以转发报文如今,大多数的多用户系统都可以被配置,从而被当作路由器来用。因此,一个普通路由算法可以被用在路由器上,同样也可以用在一台普通主机上。当一台主机可以用作路由器时,我们通常说这台主机嵌入了路由器的功能。这种具备嵌入路由器功能的主机平常不会转发报文,除非我们对它原创 2017-12-30 21:08:15 · 1027 阅读 · 0 评论