报文交换

HTTP(TCP/IP)通信协议

冷暖自知 提交于 2020-01-12 14:51:19
文章目录 HTTP(Hyper Text Transfer Protocol)即超文本传输协议 超文本: 传输: 协议: ISO 七层网络模型和TCP/IP四层概念模型 ISO 七层网络模型 TCP/IP四层概念模型 一个 HTTP 请求,在整个网络中的请求过程 发送过程 接收过程 为什么有了 MAC 层还要走 IP 层呢? IP协议和TCP/UDP协议 IP协议 TCP/IP TCP三次握手 TCP四次挥手 为什么握手只需要3次,挥手需要四次 TCP数据传输过程的流量控制(滑动窗口)和拥塞控制 (1)滑动窗口协议 (2)发送窗口 (3)接收窗口 (4)滑动窗口调整过程(慢开始&线性增长) UDP/IP TCP 和 UDP 的区别 为什么TCP是传输是可靠的? HTTP(Hyper Text Transfer Protocol)即超文本传输协议 超文本: 原来的计算机只有简单的文本格式,故文本就是指简单的文本格式,随着计算机的发展,出现了视频,图片,音乐等格式,而超文本就是原来文本语义的引申 传输: 由传输载体(例如同轴电缆,电话线,光缆)负责把二进制数据包由计算机终端传输到另一个终端的过程,称为传输(transfer) 协议: 协议就是一种约定和规范,大家都遵守的规范,只有都使用同一种规范,才能有条不紊的进行信息交互,常见的协议有: SMTP , TCP , UDP , FTP

页面加载经历的过程【转载】

本小妞迷上赌 提交于 2020-01-11 18:30:14
总体来说分为以下几个过程: DNS 解析:将域名解析成 IP 地址 TCP 连接:TCP 三次握手 发送 HTTP 请求 服务器处理请求并返回 HTTP 报文 浏览器解析渲染页面 断开连接:TCP 四次挥手 一、URL 到底是啥 URL(Uniform Resource Locator),统一资源定位符,用于定位互联网上资源,俗称网址。 比如 http://www.w3school.com.cn/ht... ,遵守以下的语法规则: scheme: //host.domain:port/path/filename 各部分解释如下: scheme - 定义因特网服务的类型。常见的协议有 http、https、ftp、file,其中最常见的类型是 http,而 https 则是进行加密的网络传输。 host - 定义域主机(http 的默认主机是 www) domain - 定义因特网域名,比如 w3school.com.cn port - 定义主机上的端口号(http 的默认端口号是 80) path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。 filename - 定义文档/资源的名称 二、域名解析(DNS) 在浏览器输入网址后,首先要经过域名解析,因为浏览器并不能直接通过域名找到对应的服务器,而是要通过 IP 地址。 1. IP 地址 IP

TCP 进阶

两盒软妹~` 提交于 2020-01-11 16:38:53
转自: https://www.cnblogs.com/caoyusongnet/p/9087633.html 一. 端口号 标准的端口号由 Internet 号码分配机构(IANA)分配。这组数字被划分为特定范围,包括 熟知端口号(0 - 1023)、注册端口号(1024 - 49151)和动态/私有端口号(49152 - 65535)。 如果我们测试这些标准服务和其他 TCP/IP 服务(Telnet、 FTP、 SMTP等) 使用的端口号,会发现它们大多数是奇数。这是有历史原困的,这些端口号从 NCP 端口号派生而来(NCP 是网络控制协议,在 TCP 之前作为 ARPANET 的传输层协议)。NCP 虽然简单,但不是全双工的,困此每个应用需要两个连接,并为每个应用保留奇偶成对的端口号。当 TCP 和 UDP 成为标准的传输层协议时,每个应用只需要一个端口号,因此来自 NCP 的奇数端口号被使用。 二. TCP 初始序列号 在 TCP 数据报中,有一个 序列号 (Sequence Number)。如果序列号被人猜出来,就会展现出 TCP 的脆弱性。 如果选择合适的序列号、IP地址以及端口号,那么任何人都能伪造出一个 TCP 报文段,从而 打断 TCP 的正常连接[RFC5961]。一种抵御上述行为的方法是使初始序列号(或者临时端口 号[RFC6056])变得相对难以被猜出

[计算机网络] 从URL到页面发展到底发生了什么

老子叫甜甜 提交于 2020-01-11 00:01:25
前言: 我们不管做后端开发还是前端开发,都离不开使用URL,可是我们对URL到页面整个发展过程了解的并不是很多,这一文,我们将全面解析这一知识点,让大家都弄明白这一个过程。 大家先看一张流程图: 总体来说分为以下几个过程: - DNS解析:将域名解析成IP地址 - TCP连接:TCP三次握手 - 发送HTTP请求 - 服务器处理请求并返回HTTP报文 - 浏览器解析渲染页面 - 断开连接:TCP四次挥手 什么是URL? URL(Uniform Resource Locator) 统一资源定位符,用于定位互联网上的资源,俗称网址。例如: http://www.w3school.com.cn/html/index.asp。 这个就遵循语法规则,下面就解析一下语法规则是什么? scheme://host.domain:port/path/filename。 scheme - 定义因特网服务的类型。常见的协议有http、https、ftp、file,其中最常见的类型是http,而https则是进行加密的网络传输。host-定义域主机(http的默认主机是www) domian - 定义因特网域名,比如w3school.com.cn port - 定义主机上的端口号(http的默认端口号是80) path - 定义服务器的路径(如果省略,则文档必须位于网站的根目录中)filename -

何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

一个人想着一个人 提交于 2020-01-10 21:02:47
以下选题来自文库及王道计算机网络考研复习指导 一、单项选择题 1、下列关于UDP和TCP的叙述中,不正确的是( C )。  A、UDP和TCP都是传输层协议,是基于IP协议提供的数据报服务,向应用层提供传输服务。  B、TCP协议适用于通信量大、性能要求高的情况;UDP协议适用于突发性强消息量比较小的情况。  C、TCP协议不能保证数据传输的可靠性,不提供流量控制和拥塞控制。  D、UDP协议开销低,传输率高,传输质量差;TCP协议开销高,传输效率低,传输服务质量高。 2、在OSI的七层参考模型中,工作在第三层以上的网间连接设备称为( C )。  A.交换机 B.集线器 C.网关 D.中继器 3、主机甲向主机乙发送一个(SYN=1,seq=11220)的TCP段,期望与主机乙建立TCP连接,若主机乙接受该连接请求,则主机乙向主机甲发送的正确TCP段可能是( B )  A. (SYN=0,ACK=0,seq=11221,ack=11221)  B. (SYN=1,ACK=1,seq=11221,ack=11221)  C. (SYN=1,ACK=1,seq=11220,ack=11220)  D. (SYN=0,ACK=0,seq=11220,ack=11220) 4、FTP 默认使用的控制协议端口是( B )。   A.20  B. 21  C. 23  D. 22 5

Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网 [Netruon Open vSwitch + VLAN Virutal Network]

独自空忆成欢 提交于 2020-01-10 20:11:48
转自 http://www.cnblogs.com/sammyliu/p/4626419.html#3552510 学习 Neutron 系列文章: (1) Neutron 所实现的虚拟化网络 (2) Neutron OpenvSwitch + VLAN 虚拟网络 (3) Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4) Neutron OVS OpenFlow 流表 和 L2 Population (5) Neutron DHCP Agent (6) Neutron L3 Agent (7) Neutron LBaas (8) Neutron Security Group (9) Neutron FWaas 和 Nova Security Group (10) Neutron VPNaas (11) Neutron DVR (12) Neutron VRRP (13) High Availability (HA) 1. L2 基础知识 1.1 VLAN 基础知识 1.1.1 VLAN 的含义 LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接LAN 中的计算机。一般来说,当你将两台计算机连入同一个 Hub 或者 Switch 时,它们就在同一个 LAN 中。同样地,你连接两个 Switch

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

懵懂的女人 提交于 2020-01-10 19:33:23
网络程序设计知识总结 网络相关工具 在网络相关的命令工具调研中我选取了 nslookup 作为案例。 详细可以参考 我的博客 nslookup作用 nslookup,全称是name server lookup,也就是域名查询。nslookup是一个用于查询Internet域名信息或者诊断DNS服务器问题的工具。 nslookup可以指定查询的类型,能够查询到DNS记录的生存时间,并且还能够在命令中使用参数指定使用哪个DNS服务器进行解释。 在已经安装了TCP/IP协议的电脑上均可以使用这个命令。 总结起来,nslookup命令主要用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。 nslookup的应用场景 一般来说,我们在一台主机上配置好DNS服务器,添加了相应的记录之后,只要IP地址保持不变,一般情况下我们就不再需要去维护DNS的数据文件了。 不过在确认域名解释正常之前我们最好是测试一下所有的配置是否正常。许多人会简单地使用ping命令检查一下就算了。不过Ping指令只是一个检查网络连通情况的命令,虽然在输入的参数是域名的情况下会通过DNS进行查询,但是它只能查询A类型和CNAME类型的记录,而且只会告诉你域名是否存在,其他的信息一概欠奉。 所以如果你需要对DNS的故障进行排错就必须熟练另一个更强大的工具nslookup。 nslookup命令的使用

如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平?

扶醉桌前 提交于 2020-01-10 17:33:09
一、如何评测一个软件工程师的计算机网络知识水平与网络编程技能水平? 主要从三个方面进行评测 1、计算机网络基本理论知识 首先了解TCP/IP网络的层次结构并知道每层协议栈的作用 对常见网络硬件设备有基本了解:光纤、集线器、网桥、交换机、路由器等设备,并知道他们适用于哪一层网络层次,解决什么问题 对TCP/IP中每一层网络出现的协议,知道其原理、作用以及缺点,比如网络层的IP协议、应用层的HTTP协议等等 2、代码编写能力 熟悉Linux Socket网络编程原理 熟知Socket API与系统调用的关系 能够编写简单的协议栈,具有现在常用协议的大部分功能 3、自学能力 阅读Linux Socket网络编程源码 常常阅读各大社区和平台优秀代码,能够丰富自己知识 关注前沿技术和文章,了解未来网络发展趋势 二、基于Linux源码的网络协议栈简介 1.网络层次结构 2.Linux Socket socket 位于应用层,它为网络应用编程提供API。通过Linux Socket,网络应用程序得以访问内核空间的协议栈,从而形成通信。同时,Linux系统中一切皆文件,Socket也是文件的一部分,调用Socket API进行数据收发时控制的是收发缓冲区的文件描述符。Linux Socket API的定义在./net/socket.c中。以下是UDP Socket与TCP Socket处理过程 3

QOS-QOS(服务质量)概述

泄露秘密 提交于 2020-01-08 10:27:54
QOS-QOS(服务质量)概述 2018年7月7日 20:29 概述及背景: 1. 引入: 传统IP网络仅提供“尽力而为”的传输服务,网络有可用资源就转发,资源不足时就丢弃 新一代IP网络承载了 语音、视频等实时互动信息,要求网络能提供有保证的服务质量 QOS允许用户在丢包、延迟、抖动和 带宽等方面获得可预期的服务水平 2.网络性能衡量的参数: 带宽: 是链路上单位时间所能通过的最大数据流量,其单位为bps 在一条端到端的链路中,最大 可用带宽等于路径上带宽最低的链路的带宽 延迟:是标识数据包穿越网络所用时间的指标 处理延迟 交换延迟:路由器查表时 排队延迟:数据包在出接口排队的延迟 传播延迟:数据在链路上传播的时间 抖动: 是指数据包穿越网络时延迟的变化,是衡量网络延迟稳定性的指标 是由于延迟的随机性造成的,主要原因是数据包排队延迟的不确定性 丢包率: 丢包是指数据包扎传输过程中的丢失,是衡量网络可靠性的重要指标 丢包的主要原因: 网络拥塞时,当队列满了后,后续的报文将由于无法入队而被丢弃 流量超过限制时,设备对其进行丢弃 丢包以丢包率作为衡量指标 丢包率=被丢包报文数量/全部报文数量 注意: 语音需要低带宽,低延时,低抖动的网络 数据流量需要高带宽,低丢包率的网络 视频流量需要高带宽,低延时,低抖动的网络 QOS不能参加先有的带宽,只能将现有的带宽优化。 3

QOS-QOS(服务质量)概述

帅比萌擦擦* 提交于 2020-01-05 09:26:31
QOS-QOS(服务质量)概述 2018年7月7日 20:29 概述及背景: 1. 引入: 传统IP网络仅提供“尽力而为”的传输服务,网络有可用资源就转发,资源不足时就丢弃 新一代IP网络承载了 语音、视频等实时互动信息,要求网络能提供有保证的服务质量 QOS允许用户在丢包、延迟、抖动和 带宽等方面获得可预期的服务水平 2.网络性能衡量的参数: 带宽: 是链路上单位时间所能通过的最大数据流量,其单位为bps 在一条端到端的链路中,最大 可用带宽等于路径上带宽最低的链路的带宽 延迟:是标识数据包穿越网络所用时间的指标 处理延迟 交换延迟:路由器查表时 排队延迟:数据包在出接口排队的延迟 传播延迟:数据在链路上传播的时间 抖动: 是指数据包穿越网络时延迟的变化,是衡量网络延迟稳定性的指标 是由于延迟的随机性造成的,主要原因是数据包排队延迟的不确定性 丢包率: 丢包是指数据包扎传输过程中的丢失,是衡量网络可靠性的重要指标 丢包的主要原因: 网络拥塞时,当队列满了后,后续的报文将由于无法入队而被丢弃 流量超过限制时,设备对其进行丢弃 丢包以丢包率作为衡量指标 丢包率=被丢包报文数量/全部报文数量 注意: 语音需要低带宽,低延时,低抖动的网络 数据流量需要高带宽,低丢包率的网络 视频流量需要高带宽,低延时,低抖动的网络 QOS不能参加先有的带宽,只能将现有的带宽优化。 3