摘要:     本文简单介绍了DNS协议理论知识,给出URL解析步骤,详细讲述了DNS报文各个字段含义,并从Wireshark俘获分组中选取DNS相关报文进行分析. 一.概述 1.1 DNS     识别主机有两种方式:主机名.IP地址.前者便于记忆(如www.yahoo.com),但路由器很难处理(主机名长度不定):后者定长.有层次结构,便于路由器处理,但难以记忆.折中的办法就是建立IP地址与主机名间的映射,这就是域名系统DNS做的工作.DNS通常由其他应用层协议使用(如HTTP.SMTP.F…
摘要:     本文简单介绍了Web应用层协议理论知识,详细讲述了HTTP请求报文和响应报文各个字段含义,并从Wireshark俘获分组中选取HTTP相关报文进行分析. 一.概述     Web的应用层协议是超文本传输协议HTTP,HTTP协议由两部分程序实现:客户机程序.服务器程序,协议定义了这些报文的格式以及客户机和服务器如何进行报文交换的.Web服务器用于存储Web对象,每个对象由URL寻址,Web客户机通常指浏览器.浏览器向服务器发出对Web页中所包含对象的HTTP请求报文,服务器接受请…
摘要:     本文剖析了浏览器输入URL到整个页面显示的整个过程,以百度首页为例,结合Wireshark俘获分组进行详细分析整个过程,从而更好地了解TCP/IP协议栈.   一.俘获分组 1.1 准备工作 (1) 清空浏览器缓存     首先清空Web浏览器的高速缓存,确保Web网页是从网络中获取,而不是从高速缓冲取得[1].谷歌浏览器,Options --> Under the Hood --> Clear browsing data. (2)清空DNS缓存     在客户端清空DNS高速…
摘要:     本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析. 一.概述     TCP是面向连接的可靠传输协议,两个进程互发数据之前需要建立连接,这里的连接只不过是端系统中分配的一些缓存和状态变量,中间的分组交换机不维护任何连接状态信息.连接建立整个过程如下(即三次握手协议): 首先,客户机发送一个特殊的TCP报文段: 其次,服务器用另一个特殊的TCP报文段来响应: 最后,客户机再用第三个特殊报文段…
摘要:     本文摘抄并整理了以太网相关理论知识,包括CSMA/CD协议机制及工作.LAN互连,详细分析了Ethernet II帧格式,最后给出Ethernet II帧实例. 一.以太网[1] 1.1 概述     以太网(Ethernet)是一种计算机局域网组网技术.IEEE制定的IEEE 802.3标准给出了以太网的技术标准.它规定了包括物理层的连线.电信号和介质访问层协议的内容.以太网是当前应用最普遍的局域网技术.它很大程度上取代了其他局域网标准,如令牌环网(token ring).FD…
摘要:     本文简单介绍了网络层理论知识,详细讲解了IP数据报各个字段,并从Wireshark俘获分组中选取IP数据报进行分析,也阐述了分组和分片的区别.   一.IPv4数据报     网络层是处理端到端数据传输的最低层.网络层关注如何将分组从源端沿着网络路径送达目的端,期间可能需要经过许多跳中间路由器.即提供转发(数据从路由器那个接口出去).选路(发送方与接收方间的路径).网络建立(如ATM.帧中继).这里以IPv4为例,关于IPv6报文格式详见博文<IPv4与IPv6数据报格式详解>…
1 前言 前面写了10多篇关于Redis底层实现.工程架构.实际应用的文章,感兴趣的读者可以进行阅读,如有问题欢迎交流: 1.Redis面试热点之底层实现篇-12.Redis面试热点之底层实现篇-23.Redis面试热点之工程架构篇-14.Redis面试热点之工程架构篇-25.基于Redis的分布式锁和Redlock算法6.浅谈集群版Redis和Gossip协议7.理解Redis的反应堆模式8.理解Redis单线程运行模式9.浅析Redis 4.0新特性之LazyFree10.理解Redis持久…
0x00.前言 通过本文你将了解到以下内容: 拥塞控制概念以及其背景 流量控制和拥塞控制的区别与联系 拥塞控制主要过程详解 伙伴们认真学习一下,让offer来得更猛烈些吧! 0x01.TCP/IP协议栈简要回顾 来看下维基百科对TCP/IP的一些介绍,笔者做了少量的修改来确保语句通顺: 互联网协议套件是一个网络通信模型以及整个网络传输协议家族,由于该协议簇包含两个核心协议:TCP(传输控制协议)和IP(网际协议),因此常被通称为TCP/IP协议族. TCP/IP协议对于数据应该如何封装.定址.传…
前言 我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API).那TCP/IP又是什么呢?TCP/IP是ISO/OSI的浓缩版本,那ISO/OSI又是什么呢...接下来我们就进入枯燥的理论篇吧 先说一下,关于这几个概念特别是TCP/IP和HTTP,讲解它们的书,随便拿出一本都厚到可以砸死人,所以本文仅仅是浅显的概括一下,并且还有很多的概念我都不太明白,先做个记录吧等后续有深入的机会再回来.也希望有朋友能在留言中指…
文章转自:https://www.cnblogs.com/onepixel/p/7092302.html TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求.由于我们大部分时间都工作在应用层,下层的事情不用我们操心:其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原…
一.什么是TCP/IP TCP/IP是一个协议族,是因为TCP/IP协议包括TCP.IP.UDP.ICMP.RIP.TELNETFTP.SMTP.ARP.TFTP等许多协议,这些协议一起称为TCP/IP协议.通信类似于语言的沟通,可以把协议理解为语言沟通,大家都说中文,咱们两个人能够互相交流. TCP/IP协议族按照层次分为链路层.网络层.传输层.应用层四个层次.(与TCP/IP协议并列的还有OSI网络框架模型---开放式系统互连参考模型,分为物理层.数据链路层.网络层.传输层.会话层.表示层.…
网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP,本文将介绍下这两者以及它们之间的区别. TCP/IP网络模型 计算机与网络设备要相互通信,双方就必须基于相同的方法.比如,如何探测到通信目标.由哪一边先发起通信.使用哪种语言进行通信.怎样结束通信等规则都需要事先确定.不同的硬件.操作系统之间的通信,所有的这一切都需要一种规则.而我们就把这种规则称为协议(protocol). TCP/IP 是互联网相关的各类协议族的总称,比如:T…
使用wireshark 抓取 http https tcp ip 协议进行学习 前言 本节使用wireshark工具抓包学习tcp ip http 协议 1. tcp 1.1 tcp三次握手在wireshark中的体现 1.1.1 三次握手过程 1.1.1 wireshark中三次握手过程 在wireshark中抓一次三次握手过程 客户端 客户端发送SYN=1 的请求连接的标记位,以及一个随机序列号X 服务端 服务端发送一个ACK标志位(ack之前的syn),随之一个ack号码为X+1 确认接收…
TCP/IP协议是Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议. 单从TCP/IP协议这个名称看,好多人误以为它是一个协议.其实TCP/IP并不是一个协议,而是一个协议族,这个族里面括很多协议,其中比较主要的是TCP协议和IP协议,所以简称为TCP/IP协议. TCP/IP协议由4层组成,从下到上分别是,网络接口层,网络层,传输层,应用层. 这里有的朋友可能会有疑问,开放系统互联参考模型(OSI)不是有…
TCP/IP协议栈中各层包头的分析 Protocol列表示的是该数据包最高层对应的协议,Length列表示该包的长度(包括从底层的协议到最高层的协议,其中包头一般是,链路层14字节,IP20字节,TCP20字节) 1.获取数据包 (a) 以“DIY_DE2之DM9000A网卡调试系列例程(二)——DM9000A测试.自收发.实现UDP”为实例 获取数据包的方式有两种:通过wireshark抓包工具抓取数据包和通过NIOS II端中断的方式获取PC端发送的数据包,获取的数据包分别如下: 通过wir…
TCP(传输控制协议) 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. 在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层. 一.TCP/IP协议族 TCP/IP(TCP/IP Protocol Suite)是一个协议族,包含两个核心协议:TCP(传输控制协议)和IP(网际协议),类似计算机科学中的堆栈,因此又被称…
TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP协议采用4层结构,分别是应用层.传输层.网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求.由于我们大部分时间都工作在应用层,下层的事情不用我们操心:其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一个主机的数据要经过哪些过程才能发送到对方的主机上. 那我们就来探索一下这个过程: 0.物…
TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式.但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈.另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI分层模型协议栈的一种,是一个具体的协议栈. 对于TCP/IP协议栈划分为几层更合适,多年来专家们一直未达成共识,大部分对TCP/IP协议栈的描述都假定它占据了协议结构的4到5个功能层.下面我们对这两种主流的分层方法分别进行描述. 1  基于4层的TCP/IP协议栈基本描述 基于4层的TCP/IP协议…
http://blog.csdn.net/jnu_simba/article/details/8957242 一.ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardization) 国际标准化组织定义的网络分层模型,共七层,如下图. 物理层(Physical Layer):物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传…
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求.由于我们大部分时间都工作在应用层,下层的事情不用我们操心:其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一个主机的数据要经过哪些过程才能发送到对方的主机上. 接下来,我们就来探索一下这个过程…
原文:深入浅出 TCP/IP 协议栈 0. 简介 TCP/IP 协议栈是网络通信中一系列网络协议的综合,是核心骨架.它定义了电子设备接入因特网.以及数据在它们之间的传输方式,是一份标准.TCP/IP 协议采用 4 层结构,分别是 应用层.传输层.网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求.我们大部分的工作是在看得见摸得着的应用层上,所以下层的事情不用太操心:其次网络协议本身是体系复杂庞大,想要精通需要花费大量时间经历,但这不妨碍简单探索一下一个主机上的数据要经过哪些过程才…
TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输.TCP/IP 协议采用4层结构,分别是应用层.传输层.网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求.由于我们大部分时间都工作在应用层,下层的事情不用我们操心:其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一个主机的数据要经过哪些过程才能发送到对方的主机上. 接下来,我们就来探索一下这个过程…
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设备间的兼容性和标准接口: 促进标准化工作: 结构上可以分隔: 易于实现和维护. 20世纪60年代以来,计算机网络得到了飞速增长.各大厂商为了在数据通信网络领域占据主导地    位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Novell IPX/SPX协议,Apple公司的AppleT…
前情回顾:一篇短短的博客明显不能满足TCP和UDP这两个饥渴的汉子,而且还被应用协议占了一小半的篇幅.在昨天结束之后,相信大家都基本对TCP/IP协议栈的轮廓有一个大概的印象了,能够对整体有所把握. 今天白天上班的时候完全抽不出时间来复习,配了一天的环境才把一个公司的项目跑起来.将近四个月的时间,实习以来我觉得配环境是最麻烦最恶心人的事儿了,没有之一.用的是Eclipse,其中还涉及maven什么的,没有了解过,只是按照文档一步一步去做,出现问题报了异常也不知道是什么原因该怎么解决.只好一点点去…
TCP/IP协议栈概述 这篇文章虽然只是很粗浅的介绍了ISO/OSI 网络模型,但确实把握住了关键点,某种意义上,简单回顾一下就可以加深对TCP/IP协议栈的理解. 原作者:阮一峰 链接: http://www.ruanyifeng.com/blog/2012/05/internet_protocol_suite_part_i.html http://www.ruanyifeng.com/blog/2012/06/internet_protocol_suite_part_ii.html 一.概述…
http://m.blog.csdn.net/blog/dog250/18959371 前几天有人回复我的一篇文章问,为何TCP/IP协议栈设计成沙漏型的.这个问题问得好!我先不谈为何它如此设计,我一个80后根本就没有资格去评论上世纪80年代已经臻于成熟的一个设计,我只是说一下目前的趋势,然后你就会明白当初的这个设计是如此之好,以至于它不但满足了30年前的需求,并且适配到了现在以至于未来! 总体趋势:通信网的退化 网络在退化,我指的是IP网络在退化,所有的逻辑全部在纵向上挤向两端,上端管协议逻辑…
目录 1.主机到网络层协议:以太网协议 2.IP协议 3.网际控制报文协议(ICMP) 4.传输控制协议(TCP) 5.用户数据报文协议(UDP) 6.流控制传输协议(SCTP) 7.地址解析协议(ARP)   联网的各个终端之间能否进行交互的软件基础是网络协议栈,目前主流的网络协议栈是TCP/IP协议栈. 1.主机到网络层协议:以太网协议 主机到网络层主要为IP协议和ARP协议提供服务.发送和接收网络数据报.本层中由于要实现跨网和跨设备的互通,有很多的实现方式,这里我们只关注以太网的实现方式.…
ISO制定的OSI参考模型的过于庞大.复杂招致了许多批评.与此对照,由技术人员自己开发的TCP/IP协议栈获得了更为广泛的应用.如图2-1所示,是TCP/IP参考模型和OSI参考模型的对比示意图. TCP/IP参考模型的层次结构 TCP/IP协议栈是美国国防部高级研究计划局计算机网(Advanced Research Projects Agency Network,ARPANET)和其后继因特网使用的参考模型.ARPANET是由美国国防部(U.S.Department of Defense,Do…
OSI参考模型 OSI RM:开放系统互连参考模型(open systeminterconnection reference model) OSI参考模型具有以下优点: 简化了相关的网络操作: 提供设备间的兼容性和标准接口: 促进标准化工作: 结构上可以分隔: 易于实现和维护. 20世纪60年代以来,计算机网络得到了飞速增长.各大厂商为了在数据通信网络领域占据主导地    位,纷纷推出了各自的网络架构体系和标准,如IBM公司的SNA,Novell IPX/SPX协议,Apple公司的AppleT…
IP 是TCP/IP协议栈中重要的层次, TCP UDP ICMP IGMP都是依赖IP层进行传输的.首先它是一种不可靠,无连接的协议.不可靠:它不保证IP包能正确到达目的地,无连接:表示IP并不会维护后续数据包的信息,每个数据包的传输都是独立的.数据包的可靠性需要依赖传输层协议来保证如TCP协议,也就是说当一个比特流从网络接口发送向网络之后,所经过的每个路由器会解析数据包的网络层的信息,再通过路由算法选一条路发送出去,所有包不一定会选择同一条道路.网络层负责点到点的通信,尽量将数据包发送到目的…