网络类型

网络套接字编程介绍

做~自己de王妃 提交于 2020-01-27 07:13:24
以下是阿鲤对套接字编程的一些理解性总结,希望对大家有所帮助;若存在错误,请慷慨指出; 1:套接字编程预备知识 2:socket api(套接字编程接口)介绍 3:udp协议的客户端/服务端的介绍实现 4:tcp协议的客户端/服务端的介绍实现 一: 套接字编程预备知识 1:ip地址 IP协议规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。同理,每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。同一设备不可以拥有多个IP地址,所有使用IP的网络设备至少有一个唯一的IP地址。换言之,可以分配多个IP地址给同一个网络设备,但是同一个IP地址却不能重复分配给两个或以上的网络设备。 目前使用最广泛的IP地址规则为IPV4,其使用32位二进制来规定,而截至2019年11月26日,全球所有43亿个IPv4地址已分配完毕,这意味着没有更多的IPv4地址可以分配给ISP和其他大型网络基础设施提供商;所以现在大部分上网均采用动态地址分配,即便如此依旧不够使用;虽然出现了IPV6,但是IPV6还在部署初期; 2:端口号 端口号是一个2字节16位的整数;端口号用来标识一个进程,告诉操作系统,当前这个数据要交给哪一个进程来处理;所以ip地址+端口号就可以标识出某一台主机上的某一个进程(程序); 注意

DLNA第一步UPnP协议栈

人走茶凉 提交于 2020-01-27 05:39:08
前面公司有DLNA项目,研究了一下,在网上关于DLNA的资源很少,就将自己的心得写出来,以供参考。 其它的关于DLNA的介绍就不多说,要了解DLNA需要了解upnp,因为DLNA在upnp之上,初学者可以从http://www.upnp.org下载upnp的资料.也欢迎大家加入197683240 DLNA交流群。 upnp 分为四步:发现 、 描述 、 控制 、 事件 发现 当一个 UPnP 的设备加入网络,并想知道什么 UPnP 服务在网络上可用,它发送一个发现消息多播地址 239.255.255.250 端口 1900 通过 UDP 协议。此消息包含一个头,类似于一个 HTTP 请求。该协议有时被称为为 HTTPU ( HTTP 通过 UDP ): M-SEARCH * HTTP/1.1 ST: upnp:rootdevice MX: 3 MAN: "ssdp:discover" 所有其他UPnP设备或方案都必须回应此消息类似的消息发送回设备,使用UDP单播,宣布该设备或程序实现的UPnP型材。一个有趣的怪癖:发送UDP单播设备发现消息被送往港口。 对于每一个配置文件,它实现发送一条消息: HTTP/1.1 200 OK ST:upnp:rootdevice USN:uuid:1d8ec8a7-4736-4598-9950-9710c992e471::upnp

网络知识入门,探讨DNS服务器在网页请求中的作用(二)

北城以北 提交于 2020-01-25 19:56:45
上一篇文章讲到网络请求是基于http协议传输的,消息请求包含了“对什么”和“做什么操作”,于是一个网页请求就这么发送出去了。但是在发送消息之前,我们还需要对域名进行解析,得到ip地址之后才可以发送请求,本文就来探讨一下网页请求中如何将域解析为ip地址。 [网络知识入门,探索一次网页请求的旅程(一)] https://blog.csdn.net/ck784101777/article/details/103729743 一、向DNS服务器查询Web服务器的IP地址 生成HTTP消息之后,接下来我们需要委托操作系统将消息发送给Web服务器。尽管浏览器能够解析网址并生成HTTP消息,但它本身并不具备将消息发送到网络中的功能(浏览器本身也是借用本地操作系统来发送请求),因此这一功能需要委托操作系统来实现。在进行这一操作时,我们还有一个工作需要完成,那就是查询网址中服务器域名对应的IP地址。 在委托操作系统发送消息时,必须要提供的不是通信对象的域名,而是它的IP地址 。因此,在生成HTTP消息之后,下一个步骤就是根据域名查询IP地址。在讲解这一操作之前,让我们先来简单了解一下IP地址。 1.TCP/IP网络 互联网和公司内部的局域网都是基于TCP/IP的思路来设计的,所以我们先来了解TCP/IP的基本思路。TCP/IP的结构如图所示,就是由一些小的子网,通过路由器连接起来组成一个大的网络

TCP/IP协议详解

让人想犯罪 __ 提交于 2020-01-25 10:48:40
1、TCP/IP协议栈 四层模型 TCP/IP这个协议遵守一个四层的模型概念:应用层、传输层、互联层和网络接口层。 网络接口层 模型的基层是网络接口层。负责数据帧的发送和接收,帧是独立的网络信息传输单元。网络接口层将帧放在网上,或从网上把帧取下来。 互联层 互联协议将数据包封装成internet数据包并运行必要的路由算法。 这里有四个互联协议: 网际协议IP:负责在主机和网络之间寻址和路由数据包。 地址解析协议ARP:获得同一物理网络中的硬件主机地址。 网际控制消息协议ICMP:发送消息,并报告有关数据包的传送错误。 互联组管理协议IGMP:被IP主机拿来向本地多路广播路由器报告主机组成员。 传输层 传输协议在计算机之间提供通信会话。传输协议的选择根据数据传输方式而定。 两个传输协议: 传输控制协议TCP:为应用程序提供可靠的通信连接。适合于一次传输大批数据的情况。并适用于要求得到响应的应用程序。 用户数据报协议UDP:提供了无连接通信,且不对传送包进行可靠的保证。适合于一次传输小量数据,可靠性则由应用层来负责。 应用层 应用程序通过这一层访问网络。 网络接口技术 IP使用网络设备接口规范NDIS向网络接口层提交帧。IP支持广域网和本地网接口技术。 串行线路协议 TCP/IPG一般通过internet串行线路协议SLIP或点对点协议PPP在串行线上进行数据传送。

ARP(地址解析协议)

不打扰是莪最后的温柔 提交于 2020-01-25 10:13:04
目录 1. ARP 概述 2. ARP 协议工作原理 3. ARP 缓存 4. ARP 报文格式 5. 抓包分析 5.1. ARP 请求报文 5.2. ARP 应答报文 6. 免费 ARP 7. ARP 代理 8. ARP 攻击 [参考文献] 1. ARP 概述 地址解析协议 ,即 ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。 它是IPv4中网络层必不可少的协议,不过在IPv6中已不再适用,并被邻居发现协议(NDP)所替代。 主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机 ARP缓存 中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。 地址解析协议是建立在网络中各个主机互相信任的基础上的 ,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存;由此攻击者就可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。 网络层使用的是 IP 地址

第二章ARP——地址解析协议

对着背影说爱祢 提交于 2020-01-25 08:41:06
本章我们要讨论的问题是只对 T C P / I P协议簇有意义的I P地址。数据链路如以太网或令牌 环网都有自己的寻址机制(常常为 48 bit地址),这是使用数据链路的任何网络层都必须遵从 的。一个网络如以太网可以同时被不同的网络层使用。例如,一组使用 T C P / I P协议的主机和 另一组使用某种P C网络软件的主机可以共享相同的电缆。 当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据 48 bit的以 太网地址来确定目的接口的。设备驱动程序从不检查 I P数据报中的目的I P地址。 地址解析为这两种不同的地址形式提供映射: 32 bit的I P 地址和数据链路层使用的任何类型的地址 1.一个例子 任何时候我们敲入下面这个形式的命令: % ftp bsdi 都会进行以下这些步骤。这些步骤的序号如图 4 - 2所示。 应用程序FTP客户端调用函数g e t h o s t b y n a m e(3)把主机名(bsdi)转换成32 bit的IP地址。这个函数在D N S(域名系统)中称作解析器,我们将在第1 4章对它进行介绍。这个转换过程或者使用DNS,或者在较小网络中使用一个静态的主机文件(/e t c / h o s t s)。 F T P客户端请求T C P用得到的I P地址建立连接。 T C P发送一个连接请求分段到远端的主机,即用上述 I

Linux学习之socket编程(一)

家住魔仙堡 提交于 2020-01-15 00:13:43
socket编程 socket的概念:     在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP地址+端口号”就称为socket。   在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接。socket本身有“插座”的意思,因此用来描述网络连 接的一对一关系。   TCP/IP协议最早在BSD UNIX上实现,为TCP/IP协议设计的应用层编程接口称为socketAPI。   本章的主要内容是socket API,主要介绍TCP协议的函数接口,最后介绍UDP协议和UNIXDomain Socket的函数接口。 socket socket-api 1.基础知识 网络字节序     我们已经知道,内存中的多字节数据相对于内存地址有大端和小端之分,磁盘文件中的多字节数据相对于文件中的偏移地址也有大端小端之分。网络数据流同样有大端小端之分,那么如何定义网络数据流的地址呢?发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是高地址。   TCP/IP协议规定,网络数据流应采用大端字节序,即低地址高字节

IS-IS路由协议知识总结

自闭症网瘾萝莉.ら 提交于 2020-01-13 13:23:30
一. IS-IS简介 IS-IS(Intermediate System-to-Intermediate System intra-domain routing information exchange protocol,中间系统到中间系统的域内路由信息交换协议)最初是国际标准化组织(International Organization for Standardization,ISO)为它的无连接网络协议(ConnectionLess Network Protocol,CLNP)设计的一种动态路由协议。 为了提供对IP的路由支持,IETF(Internet Engineering Task Force,因特网工程任务组)在RFC 1195中对IS-IS进行了扩充和修改,使它能够同时应用在TCP/IP和OSI环境中,称为集成化IS-IS(Integrated IS-IS或Dual IS-IS)。 IS-IS属于内部网关协议(Interior Gateway Protocol,IGP),用于自治系统内部。IS-IS是一种链路状态协议,使用最短路径优先(Shortest Path First,SPF)算法进行路由计算。 1. 基本概念 1) IS-IS路由协议的基本术语 l IS(Intermediate System):中间系统。相当于TCP/IP中的路由器,是IS

三星手机一键修改网络类型信息

强颜欢笑 提交于 2020-01-03 00:06:36
之前文章介绍了如何在安卓手机上安装激活xposed框架,xposed框架的极强的功能大伙都介绍过,能不修改应用程序的前提下,修改系统内部的参数,打比方在某些应用范畴,大伙需要修改手机的某个系统参数,这时就需要使用xposed以及相关模块功能来实现。 下面内容归纳一下具体xposed框架的下载和框架模块应用沙盒的使用流程,成功激活并正确修改网络类型参数。 首先,具体xposed框架各位可以在开发者网站了解详细介绍。 https://repo.xposed.info/ 第一步,下载并安装激活XPosed框架,由于官方版本只支持Root情况下使用,所以如果系统没有Root权限,我们需要使用无Root版本,就没能使用官方的XPosed框架了,这里我们自己根据具体系统选择使用即可,附上各版本下载链接: 最全各种系统版本的XPosed框架资料下载整理 第二步下载并安装参数修改模块应用沙盒, 框架模块下载 。 然后,,根据模块使用手册或指引教程,激活模块后,一键生成参数,然后使用系统信息查看工具查看,如果前面步骤都没问题则能成功修改网络类型参数,这时候系统信息查看工具显示的就是修改后的网络类型参数。 新用户对xposed框架使用过程可能会遇到一些问题,可在框架官方论坛查找相关问题的解答信息, https://forum.xda-developers.com/xposed 来源: 51CTO 作者

hcnp-ospf

こ雲淡風輕ζ 提交于 2020-01-01 12:24:09
阅读目录 一 ospf的基本属性 二 LSA以及特殊区域 三 ospf协议特性 四 配置以及实现 五 练习 一 ospf的基本概念   ospf(open shortest path first,开放式最短路径优先)是一种典型的链路状态路由协议,是目前业内使用最广泛的IGP(内部网关协议)之一。ospf支持VLSM(可变长子网掩码),路由汇总。ospf目前主要有两个版本:ospfv2,该版本主要针对IPv4;ospfv3主要针对IPv6。 Router-ID ospf router-id(路由器标识符) 是一个32bit长度的数值,通常使用点分十进制形式表示(与IPv4地址格式一样),用于在ospf域中唯一标识一台ospf路由器,每台ospf路由器的router-id必须全域唯一。router-id可以手工指定。如果没有手工指定,系统会自动选择设备上的一个IP地址作为router-id。强烈建议手工指定。 #为设备创建一个loopback接口,并指定接口的IP地址 [Router]int LoopBack 0 [Router-LoopBack0]ip add 1.1.1.1 32 [Router-LoopBack0]quit #创建一个ospf进程,该ospf进程的Process-ID为1,并指定该设备的router-id为1.1.1.1(loopback0接口的地址)