ip协议

Socket套接字

拜拜、爱过 提交于 2019-12-06 14:58:50
网络编程 1.服务器端与客户端 BS架构(web网站) CS架构(client+server) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 2.OSI七层模型 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 详细参考: http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label4 学习socket一定要学习互联网协议: 1.首先:本节课的目标就是会教你如何基于socket编程,来开发一款自己的C/S架构软件 2.其次:C/S架构的软件(软件属于应用层)是基于网络进行通信的 3.然后:网络的核心即一堆协议,协议即标准,你想开发一款基于网络通信的软件,就必须遵循这些标准。 4.最后:就让我们从这些标准开始研究,开启我们的socket编程之旅 TCP/IP协议族包括运输层、网络层、链路层 注: ICMP:是Internet控制报文协议,是TCP/IP族的一个子协议,用于在IP主机、路由器之间传递控制消息。 其功能主要有: 1.侦测远端主机是否存在 2.建立及维护路由资料 3.重导资料传输路径 4.资料流量控制 ARP:地址解析协议。是根据IP 来源: https://www.cnblogs.com/ximi07/p/11991373

浅谈集群版Redis和Gossip协议

孤者浪人 提交于 2019-12-06 11:47:22
昨天的文章写了关于分布式系统中一致性哈希算法的问题,文末提了一下Redis-Cluster对于一致性哈希算法的实现方案,今天来看一下Redis-Cluster和其中的重要概念Gossip协议。 1.Redis Cluster的基本概念 集群版的Redis听起来很高大上,确实相比单实例一主一从或者一主多从模式来说复杂了许多,互联网的架构总是随着业务的发展不断演进的。 单实例Redis架构 最开始的一主N从加上读写分离,Redis作为缓存单实例貌似也还不错,并且有Sentinel哨兵机制,可以实现主从故障迁移。 单实例一主两从+读写分离结构: 注:图片来自网络 单实例的由于本质上只有一台Master作为存储,就算机器为128GB的内存,一般建议使用率也不要超过70%-80%,所以最多使用100GB数据就已经很多了,实际中50%就不错了,以为数据量太大也会降低服务的稳定性,因为数据量太大意味着持久化成本高,可能严重阻塞服务,甚至最终切主。 如果单实例只作为缓存使用,那么除了在服务故障或者阻塞时会出现缓存击穿问题,可能会有很多请求一起搞死MySQL。 如果单实例作为主存,那么问题就比较大了,因为涉及到持久化问题,无论是bgsave还是aof都会造成刷盘阻塞,此时造成服务请求成功率下降,这个并不是单实例可以解决的,因为由于作为主存储,持久化是必须的。 所以我们期待一个多主多从的Redis系统

IP协议

自古美人都是妖i 提交于 2019-12-06 10:19:36
一、IP地址分类及其表示   IP地址 ::={<网络号>,<主机号>}   IP地址分类: IP地址类别  网络号  网络范围 主机号 IP地址范围 A类   8bit,第一位固定为0   0-127   24bit   1.0.0.0 - 127.255.255.255   B类 16bit,前两位固定为0 128.0-191.255   16bit   128.0.0.0 - 191.255.255.255 C类 24bit,前三位固定为0    192.0.0 - 223.255.255   8bit 192.0.0.0 - 223.255.255.255 D类 E类 二、IP数据报格式      IP数据报报头固定长度为20个字节,可变部分长度从1字节到40个字节不等,但需用全0补齐为4字节的整数倍。   重要字段解释:      总长度 :16位,指的是首部和数据之和的长度。在IP层的下面的每一种数据链路层协议都规定了数据帧的数据字段的最大长度,称为最大传送单元MTU。当一个IP数据报封装成链路层的帧时,此数据包的总长度一定不能超过下面的数据链路层所规定的值。如果超过,则需把过长的数据包进行分片处理。      标识 :16位,IP软件维持一个计数器,每产生一个数据报,计数器加1。当数据报由于超过MTL而分片时,这个数据字段就被复制到每一个的数据报片的标识字段中

面视必备,史上最通俗计算机网络分层详解

人走茶凉 提交于 2019-12-06 06:44:25
1、引言 整个暑假去面试,面试了很多家公司(无论是小厂还是大厂)问到的深度不同,网络原理是面试最容易问到的问题,虽然我们在项目中很少去实践它,但是了解其原理,会让我们背后网络通信是如果工作的,既能在面试官面前体现出你的基础是否扎实,也能对以后深入网络这部分学习有更多的了解。 很多同学面试在准备这部分的时候,都会去背,这部分确实很难掌握,我个人总结的最好的学习网络原理的方法就是不用刻意的去记忆而是完全的结合实际去讲整个原理融会贯通。虽然一开始学习起来很吃力,但是稍微用点心,多看几遍,多问自己为什么,把自己当做是开发网络原理的开发者,面试前的准备只要理清逻辑就足够了,而不是去背这部分内容。 而且这部分相同的知识点面试官有多种提问方式,但是其中很多都是换汤不换药。我记得最多的问的是输入URL,到页面呈现出来,其中经历了什么?这道面试题的背后,涉及到了很多网络原理的知识,我们这篇文章不会全部分享到,而是先把由来和网络层次划分弄清楚,就完成了这篇文章的目的。 (本文同步发布于: http://www.52im.net/thread-2851-1-1.html ) 相关文章: 《 网络编程懒人入门(一):快速理解网络通信协议(上篇) 》(* 力荐) 《 网络编程懒人入门(二):快速理解网络通信协议(下篇) 》(* 力荐) 《 网络编程懒人入门(六):史上最通俗的集线器、交换机

TCP/IP详解 IP路由选择

て烟熏妆下的殇ゞ 提交于 2019-12-06 06:42:59
TCP/IP详解 IP路由选择 在本篇文章当中, 将通过例子来说明IP路由选择器过程 如图所示, 主机A与主机B分别是处在两个不同的子网当中, 中间通过一个路由连接. 如果主机A请求与主机B进行通行, 主机A寻找主机B的位置的过程就可以理解为IP路由的选择过程. 现在主机A的用户通过Ping命令确认与主机B的连通性. Ping命令看似简单, 但是其中IP路由选择的过程还是会有很多的步骤. 具体的步骤如下 : 当主机A上输入12.34.56.78之后, 主机A的因特网控制报文协议(ICMP)创建一个回应请求数据包, 其数据域中只包含有字母. ICMP协议会将刚刚创建的回应请求数据包(有效负荷)转交给因特网协议(IP协议)。IP协议会对这个数据包进行封装,创建一个数据包。在IP协议创建的数据包中,包括主机A的IP地址,目的主机B的IP地址以及值为01h的协议字段。当数据包达到主机B时,主机B通过判断协议字段01h,将这个有效负荷交给ICMP协议处理。 IP协议创建数据包后,会判断目的主机B的IP地址是处于本地网络中还是处于远程网络。根据IP地址规则,主机A、B属于不同网络。此时IP协议所创建的数据包会被发送到默认的网关。(在每个终端设备中,网络配置中需要包含自身的IP地址,以及默认到的网关地址。在不同网络之间的主机互相通信,依靠的就是网关设备) 如图中所示,默认的网关就是图中的路由器

tcpip协议

ぐ巨炮叔叔 提交于 2019-12-06 02:33:38
  几个概念 1. 分层(我们使用四层模型更为贴合我们的实际网络) 分层是为什么,其实和公司中职位是一样的,不同职位的人做不同的事情,然后不同职位的人合起来,一起完成了数据传输的事情。 链路层 在这个层面,主机与主机的交互只认得硬件mac编号,并不认识IP。 网络层 IP ICMP IGMP 运输层 TCP UDP 应用层 Telnet 远程登陆, FTP 文件传输协议 (我们这个端口和那个端口的连接是用来干什么的,传输文件?那么可以使用FTP。传输文本?那么可以使用HTTP。应用层就是实际上对具体的程序之间的交互功能进行定义的层。) 2. 接口 互联网上的每个接口必须有一个唯一的 I P 地址 使用T C P / I P 协议的应用程序通常采用两种应用编程接口( A P I ): s o c k e t 和 T L I (运输层接口: Transport Layer Interface )。 3. 封装 T C P 传给I P 的数据单元称作 T C P 报文段或简称为 T C P 段(T C P s e g m e n t )。 I P 传给网络接口层的数据单元称作 I P 数据报(IP datagram) 。通过以太网传输的比 特 流称作帧(Fr a m e ) 。 IP :网络协议 一.基本概念 所有的 T C P 、 U D P 、 I C M P 及 I G M P

Ip/TCP协议简介

久未见 提交于 2019-12-06 02:21:57
Ip协议 提供了主机和主机间的通信,为了完成不同主机的通信,我们需要某种方式来唯一标识一台主机,这个标识,就是著名的IP地址。通过IP地址,IP 协议就能够帮我们把一个数据包发送给对方。 TCP协议 TCP 协议在 IP 协议提供的主机间通信功能的基础上,完成这两个主机上进程对进程的通信。为了标识数据属于哪个进程,我们给需要进行 TCP 通信的进程分配一个唯一的数字来标识它。这个数字,就是我们常说的端口号。 TCP 的全称是 Transmission Control Protocol,TCP进行通信之前需要进行三次握手。 1.HTTP协议与TCP/IP协议的区别? HTTP协议是应用层协议,TCP/IP协议是传输层协议 来源: https://www.cnblogs.com/linhaozuishuai/p/11956759.html

TCP/IP协议族传输层协议

大兔子大兔子 提交于 2019-12-06 02:19:28
传输层位于应用层和网络层之间,为终端主机提供端到端的连接,以及流量控制(由窗口机制实现),可靠性(由序列号和确定技术实现),支持全双工传输等等.传输层协议有两种:TCP和UDP.虽然TCP和UDP都使用TCP和UDP都使用相同的网络层协议IP.但是TCP和UDP却为应用层提供完全不同的服务. 来源: https://www.cnblogs.com/F2337/p/11956680.html

IP协议

梦想的初衷 提交于 2019-12-06 02:12:43
IP协议 IPv4首部 版本: 包含IP数据报的版本号:ipv4为4,ipv6为6 首部长度: 其中保存的是整个首部中的“32位字”的数量。 这个字段正常的值为:5(假设“可选字段长度为0”) 该字段最大值为:15(可选字段长度全满加上原有字段) 区分服务: 优先级(3位)和数据链路层的QoS机制有关,定义了8个服务级别。当Qos选择了某种服务模型后,优先级越高,字段越优先传输。 D、T、R分别表示延时、吞吐量、可靠性。当这些值都为1时,分别表示低延时、高吞吐量、高可靠性。 ECN: 用于为数据报标记“拥塞标识符”。 当一个带有ECN标记的分组发送后,如果接收端“持续拥塞”且“具有感知ECN的能力”(如TCP),那么接收端会通知发送端降低发送速度。 总长度: 该字段指的是IPv4数据报的总长度(以字节为单位)。 通过该字段和“首部长度”字段,我们可以推测出ip数据报中“数据部分”从哪开始以及长度。 标识、标志、分偏移: 该字段帮助标识由IPv4主机发送的数据报。 这个字段对实现分片很重要,大多数数据链路层不支持过长的ip数据报,所以要把ip数据报分片,每一片都是一个独立的ipv4数据报。 发送主机每次发送数据报都讲一个“内部计数器”加1,然后将数值复制“标识”字段中。 生存时间: 该字段用于设置一个“数据报可经过的路由器数量”的上限。 发送方在初始发送时设定某个值(建议为64,

tcp协议

不打扰是莪最后的温柔 提交于 2019-12-06 02:12:22
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息。因而他们需要定义一些共通的东西来进行交流,TCP/IP就是为此而生。TCP/IP不是一个协议,而是一个协议族的统称。里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、pop3协议等等。电脑有了这些,就好像学会了外语一样,就可以和其他的计算机终端做自由的交流了。 TCP/IP协议分层 ![TCP分层2.jpg](//upload-images.jianshu.io/upload_images/2964446-94da7e7442050d15.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) TCP/IP协议族按照层次由上到下,层层包装。 应用层 : 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等