互联网协议

新一代互联网传输协议QUIC

会有一股神秘感。 提交于 2019-12-04 15:30:17
QUIC(Quick UDP Internet Connections,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验。 QUIC的主要特点包括:具有SPDY(SPDY是谷歌研制的提升HTTP速度的协议,是HTTP/2.0的基础)所有的优点;0-RTT连接;减少丢包;前向纠错,减少重传时延;自适应拥塞控制, 减少重新连接;相当于TLS加密。 1.重传与恢复 与TCP类似,QUIC每发送一个包后,都会等待回复一个确认包。当丢包率超过协议的纠错门限时,会显式或隐式地进行重传 对于某些重要的数据包,如初始密钥协商时的数据包,在建立连接时非常重要,如果这类包丢失会阻塞整体数据流。QUIC对于这一类数据包在确认发生丢失前就会尝试重传,通常是等待较短的时间(如20ms)没收到确认后就马上再次发送。这样在网络中会有若干个相同的包同时传输,只要有一个能成功抵达就完成了连接,这样降低了丢包率。接收方对于关键数据包的多次发送和普通数据包的超时重传,都采用相同的重复包处理机制 QUIC在拥塞避免 算法 的基础上还加入了心跳包,用于减少丢包率 QUIC使用了FEC(前向纠错码)来恢复数据,FEC采用简单异或的方式。每次发送一组数据,包括若干个数据包后,并对这些数据包依次作异或运算,最后的结果作为一个FEC包再发送出去

计算机网络-应用层 知识点

送分小仙女□ 提交于 2019-12-04 06:35:55
1,不同的网络应用的应用进程之间,需要有不同的通信规则,因此需要有 应用层协议,每个应用层协议都是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机的多个应用进程之间的通信和协同工作来完成。 应用层的具体内容就是精确定义这些通信规则,具体来说,就是定义:应用进程的报文类型,如请求报文和响应报文;各种报文 的语法,如报文中的各个字段及其详细描述;字段的语义,即包含在字段中的信息的含义;进程何时,如何发送报文,以及对报文进行响应的规则。 2,互联网公共领域饿标准应用的应用层协议是由RFC文档定义的,如HTTP由RFC 7230定义 3,应用层的许多协议都是基于客户服务器方式,两者都是指通信中所涉及的两个应用进程,客户是服务请求方,服务器是服务提供方 4,域名系统DNS是互联网使用的命名系统,用于把便于人们使用的机器名字转换成IP地址 5,IP地址的长度是固定的32位(IPv6是固定的128位),而域名的长度并不是固定的,机器处理起来比较困难 6,互联网的规模过大,只使用一个域名服务器肯定会因过负荷而无法工作,而一旦域名服务器出现故障,整个互联网就会瘫痪,因此采用层次树状结构的命名方法,并使用分布式的域名系统DNS,互联网标准是RFC 1034,1035 7,DNS被设计成一个联机分布式数据库系统,采用客户服务器方式,DNS使大多数名字在本地解析,仅少量解析需要在互联网上通信

【老生常谈的】互联网协议

匿名 (未验证) 提交于 2019-12-03 00:27:02
OSI参考模型 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 一.物理层(Physical Layer) 物理层定义了所有电子及物理设备的规范。其中特别定义了设备与物理媒介之间的关系,这包括了针脚、电压、线缆规范、集线器、中继器、网卡、主机适配器(在SAN中使用的主机适配器)以及其他的设备的设计定义。因为物理层传送的是原始的比特数据流,即设计的目的是为了保证当发送时的信号为二进制“1”时,对方接收到的也是二进制“1”而不是二进制“0”。因而就需要定义哪个设备有几个针脚,其中哪个针脚发送的多少电压代表二进制“1”或二进制“0”,还有例如一个bit需要持续几微秒,传输信号是否在双向上同时进行,最初的连接如何创建和最终如何终止等问题。 为了更好理解物理层与数据链路层之间的区别,可以把物理层认为是主要的

Linux中的端口大全

匿名 (未验证) 提交于 2019-12-02 21:59:42
名称 描述 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53 domain 域名服务(如 BIND) 63 whois++ WHOIS++,被扩展了的 WHOIS 服务 67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用 68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP

互联网基础协议 - HTTP

99封情书 提交于 2019-12-02 21:37:40
HTTP的简介 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP的特点 支持客户/服务器模式。 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 无连接:无连接的含义是限制每次连接只处理一个请求

Day 26 互联网协议/Socket套接字

拜拜、爱过 提交于 2019-12-01 16:32:35
目录 软件开发架构 C/S架构 B/S架构 互联网协议 物理层 数据链路层 网络层 IP协议 arp协议 传输层 TCP协议 Socket套接字 软件开发架构 C/S架构 Client:客户端 Server:服务端 优点: 软件的使用稳定,并且可以节省网络资源 缺点 若用户想在同一设备上使用多个软件,必须下载多个客户端 软件的一次更新,客户端也必须跟着重新下载更新 B/S架构 Browser:浏览器 Server:服务端 优点: 以浏览器充当客户端,无需用户下载多个软件,也无需用户下载更新软件版本,直接在浏览器上访问需要使用的软件 缺点 消耗网络资源较大,当网络不稳定时,软件的使用也不稳定 互联网协议 互联网协议又称为网络七层协议,OSI七层协议,OSI是一个世界标准组织 OSI七层协议: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层 物理层 基于电信号的高低电压发送01二进制数据 数据链路层 数据链路层定义了对电信号的分组方式 以太网协议: 统一了标准的定义方式 每一台连接网线的电脑都有一块网卡 网卡由不同的厂商生产 每块网卡都有一个唯一的12位编号:mac地址 ​ 前6位: 厂商号 ​ 后6位: 流水号 交换机: ​ 可以让多台电脑连接到一起 基于以太网协议发送数据: ​ 特点:广播,单播 ​ 弊端:广播风暴,不能跨局域网通信 网络层

TCP/UDP常见端口

情到浓时终转凉″ 提交于 2019-11-30 13:20:04
著名端口 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53 domain 域名服务(如 BIND) 63 whois++ WHOIS++,被扩展了的 WHOIS 服务 67 bootps 引导协议(BOOTP)服务;还被动态主机配置协议(DHCP)服务使用 68 bootpc Bootstrap(BOOTP)客户;还被动态主机配置协议(DHCP

互联网协议

*爱你&永不变心* 提交于 2019-11-29 21:48:39
计算机为了联网就必须规定通信协议 早期的计算机网络 都是有各厂商自己规定 一套协议 IBM\Apple\Microsoft都有各自的网络协议 互不兼容 这就好比一群人 有的说英语 有的说中文 有的说德语 说同一种语言的人可以交流 不同的语言之间就不行了 为了把全世界的所有不同类型的计算机都连接起来 就必须规定一套全球通用的协议 为了实现互联网这个目标 互联网协议簇 就是通用协议标准 Internet 是有inter和net 两个单词I来的 原意就是连接网络的网络 有了internet 任何私有网络 只要支持这个协议I联入互联网 因为互联网协议包含了上百种协议标准 但是最重要的两个协议是TCP和IP 协议 所以 大家吧互联网的协议简称为TCP/IP协议 通信的时候 双方必须知道对方的标识 好比发邮件必须知道对方的邮件地址 互联网上,每个计算机的唯一标识就是IP地址 如果一台计算机同时接入两个或 更多的网络 比如路由器 它就会有两个或多个IP地址 所以 IP地址对应的 实际上是计算机的网络接口 通常是网卡 IP协议 负责把数据从一台计算机通过网络方案是到另一台计算机 数据被分割成一小块一小块 然后通过IP包发送出去 由于互联网链路复杂 两个计算机之间经常有多条线路 因此 路由器就负责决定如何把一个IP包发出去 IP包的特点就是按块发送 途径多个路由 但不保证到达 也不保证顺序到达

linux端口查询

天大地大妈咪最大 提交于 2019-11-29 05:50:38
常用端口 下面的表格中列举了包括在红帽企业 Linux 中的服务、守护进程、和程序所使用的最常见的通信端口。该列表还可以在 /etc/services 文件中找到。要查看由互联网号码分派局(IANA)制定的“著名的已注册动态端口”官方列表,请参考以下 URL: 端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 daytime 给请求主机发送日期和时间 17 qotd 给连接了的主机发送每日格言 18 msp 消息发送协议 19 chargen 字符生成服务;发送无止境的字符流 20 ftp-data FTP 数据端口 21 ftp 文件传输协议(FTP)端口;有时被文件服务协议(FSP)使用 22 ssh 安全 Shell(SSH)服务 23 telnet Telnet 服务 25 smtp 简单邮件传输协议(SMTP) 37 time 时间协议 39 rlp 资源定位协议 42 nameserver 互联网名称服务 43 nicname WHOIS 目录服务 49 tacacs 用于基于 TCP/IP 验证和访问的终端访问控制器访问控制系统 50 re-mail-ck 远程邮件检查协议 53

读书笔记_python网络编程3_(1)

旧城冷巷雨未停 提交于 2019-11-28 20:36:32
0.前言 代码目录: https://github.com/brandon-rhodes/fopnp/tree/m/py3 0.1.网络实验环境:理解客户端与服务器是如何通过网络进行通信的 每台机器通过一个Docker容器实现 0.1.1.调制解调器A和B下面的客户机(h1~h4)表示典型客户端场景,家庭或咖啡店(内部网络,不能访问互联网,如果要连互联网,都通过调制解调器IP进行连接) 0.1.2.调制解调器通过ISP网关连接广域网(主干路由器,负责将数据包发送至与之相连的网络) 0.1.3.example.com及相连机器表示机房配置。没有网络地址转换或伪装,互联网上的各个客户端可随意访问example.com后的三个服务器提供的服务端口 0.1.4.ftp、mail、www服务器运行正确配置的守护进程,Python脚本可以运行在其他机器,并成功连接到上述服务 0.1.5.所有服务器成功安装TLS证书,所有客户机有example.com的签名及安装受信证书,及要求TLS认证的Python脚本可以成功获取认证 0.1.6.可以在网络环境的任意一台机器上连接并运行命令,可对网络中的任意一个点进行数据包追踪,查看客户端和服务端之间的网络数据传输情况 1.客户端、服务器网络编程 1.1.协议栈与库 1.1.1.协议栈:复杂的网络服务建立在简单网络服务的基础上 1.1.2