TCP/IP

深入浅出 TCP/IP 协议栈

TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/IP的工作原理,通俗一点讲就是,一个主机的数据要经过哪些过程才能发送到对方的主机上。 接下来,我们就来探索一下这个过程。

0、物理介质

物理介质就是把电脑连接起来的物理手段,常见的有光纤、双绞线,以及无线电波,它决定了电信号(0和1)的传输方式,物理介质的不同决定了电信号的传输带宽、速率、传输距离以及抗干扰性等等。

TCP/IP协议栈分为四层,每一层都由特定的协议与对方进行通信,而协议之间的通信最终都要转化为 0 和 1 的电信号,通过物理介质进行传输才能到达对方的电脑,因此物理介质是网络通信的基石。

下面我们通过一张图先来大概了解一下TCP/IP协议的基本框架:

TCP/IP协议与Http协议的区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。

你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。

TCP/IP(三):传输层TCP与UDP

TCP协议

1、概述

TCP协议和UDP协议处于同一层:传输层,但是两者之间有很大的区别,TCP协议具有以下特点:

• TCP提供可靠的数据传输服务,TCP是面向连接的,即数据在通信之间要先建立连接,结束通信时要释放连接,这也是后面所说的3次握手,4次挥手;
• TCP是点对点的连接方式,即一条TCP连接两端只能是两个端点;
• TCP提供可靠的,无差错的,不丢失,不重复,按顺序的服务;
• TCP提供全双工通信,允许通信双方任何时候都能发送数据,TCP在连接的两端都设置有发送缓存和接收缓存;
• TCP是面向字节流的,TCP传输的数据是一个一个字节的按序传输的,数据块与数据块之间没有边界信息,对于TCP来说,所有数据都是一样的,TCP不能区分数据的意义。

TCP/IP(二):数据链路层和网络层

数据链路层

1、数据链路层的功能:
1)将数据封装成帧,帧是数据链路层传输的单位
2)控制帧的传输:处理简单的传输差错,调节发送速率,接送方匹配
3)维持两个连接网络实体间的链路建立、维持和释放管理

2、链路层的3个作用:
1)为IP模块发送和接收IP数据报
2)为ARP模块发送ARP请求和接收ARP应答
3)为RARP模块发送RARP请求和接收RARP应答

TCP/IP(二):数据链路层和网络层

注意MTU(最大传输单元)规定的是帧的数据部分的长度,最大传输单元是链路的要求,MTU 分为接口 MTU 和路径 MTU:接口 MTU 是所指定的接口所允许发送的最大数据长度;路径 MTU 指两台通信主机路径中最小的 MTU 值。路径 MTU 是不对称的,它在两个方向上不一定一致。

当从网络层传输下来的IP数据报的长度超过MTU时,那么网络层就需要对IP数据报进行分片。

TCP/IP(一):TCP/IP协议简单介绍

1、OSI的7层协议体系和TCP/IP 4层协议体系如下图所示,OSI模型完整但是复杂不太实用,如今应用最多的是TCP/IP 4层协议体系:网络接口层,网络层(IP),传输层(TCP、UDP), 应用层。

TCP/IP(一):TCP/IP协议简单介绍

2、各层包含的协议:

应用层:应用程序通过这一层访问网络,常见 FTP、HTTP、DNS 和 TELNET 协议;
传输层:TCP 协议和 UDP 协议;
网络层:IP 协议,ARP、RARP 协议,ICMP 协议等;
网络接口层:是 TCP/IP 协议的基层,负责数据帧的发送和接收。

TCP/IP(一):TCP/IP协议简单介绍

TCP协议的三次握手四次挥手

IP协议、HTTP协议、TCP协议、TCP/IP 协议我们经常遇到,而且初学的时候容易弄混。那么他们之间有什么关系呢?

1、什么是TCP/IP 协议

TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、HTTP协议、TCP协议等。而三次握手四次挥手就发生在TCP协议中。

TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层。每层都有相应的协议,具体如下图:

TCP协议的三次握手四次挥手

下面是从网络上找到的TCP/IP通信数据流
TCP协议的三次握手四次挥手

不得不看:黑客必须了解的网络知识

作为一个最基本的黑客,必须了解相关的网络知识,例如IP 地址、端口和服务等。

IP 地址

IP 地址就是一个网络上的地址,在外网上的IP 地址都是唯一的,就像身份证号码一样,给每台进入网络的电脑一个身份证号码。但是对于大部分用户来说,IP 地址并不是固定的,在重新连接到互联网时,IP 地址可能会被重新分配。如果申请了固定的IP 地址,可以便于其他电脑找到它,并提供服务。

一般的 IP 地址的格式为:a.b.c.d(0<=a,b,c,d<=255),该格式为点分10 进制,例如218.242.161.231,IP 地址的标准形式是二进制形式, 例如212.13.123.52 的二进制110101000000000011010111101100110100 .....由192.168 开头的是局域网的IP 地址,127.0.0.1是用来检测网络的自己的IP 地址,也就是说任何一台电脑不管是否连接到互联网上,127.0.0.1 对应于本地的IP 地址。

端口

物联网安全研究之IoT架构介绍

前言

对于安全研究者来说,知晓一项新式复杂技术的研究入门和攻击知识至关重要。当然对于这种普遍问题来说,也有着一种常规方法,那就是把这种新技术转化为不同组件并对其进行逐一研究,这种方法能全面了解工作机制并能迅速找到研究关注点。那费话不多说了,我们开始吧。

提示:本博客系列的研究是通用的,可应用到智能家居、工控、医疗保健、运输等领域的IoT产品的安全研究;文章涉及的“设备”、“硬件”和“传感器”等词都代表同类IoT产品;由于不同物联网技术性质,文中提及的物联网生态系统代表物联网产品或相关解决方案。

IoT不等于硬件

很多人都存在这样一个误解:IoT就是硬件,这种误解形成的主观认识让很多安全人员都不愿涉足IoT安全研究领域。是的,IoT的确包含硬件,但一些硬件分析技术在一些耐心和意愿下,是可以完全学习掌握的。你读完我的博客就会知道,其实硬件只占IoT生态系统的1/3。更重要的是,如果你能渗透其它IoT相关组件服务(如云端等),那么IoT安全的危害将会更大。几年前当我学习IoT安全时也就遇到了类似问题,我就试着把问题分解并单独攻关,像我这样的普通人可以做到,我想你们也能做到。

IoT介绍

关于TCP/IP,这十个问题你都知道,就入门了!

本文整理了一些TCP/IP协议簇中需要必知必会的十大问题,既是面试高频问题,又是程序员必备基础素养。

1、TCP/IP模型

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。

基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。

关于TCP/IP,这十个问题你都知道,就入门了!

TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp,等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。

基于PIC32上实现TCP/IP网络协议和zigbee无线传感器网络的智能家居系统

项目背景

随着物联网的热潮的到来,2010年国内许多省市纷纷发布的《物联网发展规划》,物联网附属领域智能家居的发展也得到了非常大程度的推进。由于物联网的核心和基础仍然是互联网,所以在项目设计中我们将智能家居内部的传感器网络连接至控制核心PIC32,PIC32通过控制网络模块,按照TCP/IP协议来实现PIC32的Web服务器功能,使得可以通过手机、电脑的浏览器来远程访问该web服务器,并以点击链接的形式,控制用电器。这种嵌入式Web服务器的低功耗和高可靠性,使其特别适合作为家庭小型Web服务器控制。

二、需求信息

拟采用的平台:

cerebot 32M×4

两个Digilent PMOD 产品:

PmodNIC——网络接口控制器

PmodSF-Serial Flash Rom,16或128Mbit

三、项目总概

此次项目,我们计划通过网络实现对家居环境的远程监控。

通过分布于房屋各处的传感器对房屋内外的环境参数进行采集,获得的数据通过ZigBee网络或有线连接汇总到此次项目的总控板Cerebot_32MX4上;

Cerebot_32MX4按照TCP/IP协议来实现与Web服务器的链接,通过Web达到远程终端设备(PC、手机等)同Cerebot_32MX4间的数据传输;

同步内容
--电子创新网--
粤ICP备12070055号