ip协议

TCP/IP协议族

倾然丶 夕夏残阳落幕 提交于 2019-12-19 12:51:56
TCP/IP 协议是 Internet 最基本的协议。由传输层的 TCP 协议和网络层的 IP 协议组成。 TCP 负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而 IP 是给因特网的每一台联网设备规定一个地址。 TCP/IP 协议族 的分层管理 TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。 应用层 应用层决定了向用户提供应该服务时通信的活动。 TCP/IP 协议族内预存了各类通用的应用服务。比如, FTP ( File Transfer Protocol ,文件传输协议)和 DNS ( Domain Name System ,域名系统)服务就是其中的两类。 HTTP 协议也处于该层。 传输层 传输层对上层应用层,提供处于网络连接中两台计算机之间的数据传输。 在传输层有两个性质不同的协议: TCP ( Transmission Control Protocol ,传输控制协议)和 UDP ( User Data Protocol ,用户数据报协议)。 网络层(又名网络互连层) 网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。 与对方计算机之间通过多台计算机或网络设备进行传输时

TCP/IP协议入门

无人久伴 提交于 2019-12-19 11:46:47
TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议。它是网络通信的一套协议集合。 先来看一下OSI和TCP/IP模型: 应用层 就是应用软件使用的协议,如邮箱使用的POP3,SMTP、远程登录使用的Telnet、获取IP地址的DHCP、域名解析的DNS、网页浏览的http协议等;这部分协议主要是规定应用软件如何去进行通信的。 表现层 决定数据的展现(编码)形式,如同一部电影可以采样、量化、编码为RMVB、AVI,一张图片能够是JPEG、BMP、PNG等。 会话层 为两端通信实体建立连接(会话),中间有认证鉴权以及检查点记录(供会话意外中断的时候可以继续,类似断点续传)。 传输层 将一个数据/文件斩件分成很多小段,标记顺序以被对端接收后可以按顺序重组数据,另外标记该应用程序使用的端口号及提供QOS。TCP(传输控制协议)和UDP(用户数据报协议)就是属于传输层协议。 网络层 路由选路,选择本次通信使用的协议(http、ftp等),指定路由策略及访问控制策略。(IP地址在这一层) 数据链路层 根据端口与MAC地址,做分组(VLAN)隔离、端口安全、访问控制。(MAC地址在这一层)处理VLAN内的数据帧转发,跨VLAN间的访问,需要上升到网络层。 物理层

linux基础-TCP/IP协议篇

梦想的初衷 提交于 2019-12-19 11:46:27
一.网络TCP/IP层次模型   1.网络层次模型概念介绍 :TCP/IP协议就是用于简化OSI层次,以及相关的标准。传输控制协议(tcp/ip)族是相关国防部(DoD)所创建的,主要用来确保数据的完整性及在毁灭性战争中维持通信   是由一组不同功能的协议组合在一起构成的协议族,利用一组协议完成OSI所实现的功能,不单单是指TCP.IP这两个协议。   2.网络层析模型作用说明 :      OSI七层模型简化四层DoD模型,应用层、表示层、会话层统称为应用层,传输层称为主机到主机层,网络层即为因特网层,数据链路层和网络层统称为网络接入层。   3.网络层次模型组成部分如图:      每一层都包含了对应的协议规则,这里说明下ICMP协议,即为平时如果我们检查主机是否在线,通常使用ping 192.168.1.111,这里就用到了ICMP协议,如果ping不通也可能是ICMP协议关闭引起的哦!   4.网络层次模型琢层说明   (1)首先应用层:      应用层包含了以上诸多协议规则,包括一些对应的端口,其中除了TFTP是UDP协议之外,其他全部都为TCP协议。   (2)主机到主机层:      主机到主机层只包含了两个TCP和UDP这两个网络协议   (3)因特网层/网络接入层:      因特网层负责将分组报文从源端发送到目的端,为网络中的设备提供逻辑地址 二.网络TCP

【网络编程】---C++实现原始套接字捕获数据包

被刻印的时光 ゝ 提交于 2019-12-19 02:40:04
【网络编程】—C++实现原始套接字捕获数据包 引言:原始套接字是允许访问底层传输协议的一种套接字类型,提供了普通套接字所不具备的功能,能够对网络数据包进行某种程度的控制操作。因此原始套接字通常用开发简单网络性能监视程序以及网络探测、网络攻击等工具。今天我们来探索一下,从实现原始套接字到捕获数据包的整个过程。 1.原始套接字与TCP套接字和UDP套接字的区别 Berkeley套接字将流式套接字和数据报套接字定义为标准套接字,用于在主机之间通过TCP和UDP来传输数据。为了保证Internet的使用效率,除了传输数据之外,操作系统的协议栈还处理了大量的非数据流量,如果程序员在创建应用时也需要对这些非数据流量进行控制的话,那么此时就需要另一种套接字,即原始套接字。这种套接字越过了TCP/IP协议栈的部分层次,为程序员提供了完全且直接的的数据包级别的Internet访问能力,如下图所示。 具有发送和接收ICMPv4、IGMPv4、ICMPv6等分组 具有发送和接收内核不处理其协议字段的IPv4数据包 可以控制IPv4首部 从图中我们可以清晰看出,对于普通流式套接字和数据包套接字的应用程序,他们只能控制数据包的数据部分,也就是除了传输层首部和网络层首部以外的,需要通过网络传输的数据部分。而传输层首部和网络层首部则由协议栈根据创建套接字时候指定的参数负责填充,显而易见的是,这两部分

[转】:TCP/IP详解学习笔记(5)

大城市里の小女人 提交于 2019-12-19 01:54:11
http://blog.csdn.net/goodboy1881/article/details/695304#comments TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一。前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由。这里就不重复了。首先来看看一个简单的系统路由表。 Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.11.0 * 255.255.255.0 U 0 0 0 eth0 169.254.0.0 * 255.255.0.0 U 0 0 0 eth0 default 192.168.11.1 0.0.0.0 UG 0 0 0 eth0 对于一个给定的路由器,可以打印出五种不同的flag。 U表明该路由可用。 G表明该路由是到一个网关。如果没有这个标志,说明和Destination是直连的,而相应的Gateway应该直接给出Destination的地址。 H表明该路由是到一个主机,如果没有该标志,说明Destination是一个网络,换句话说Destination就应该写成一个网络号和子网号的组合,而不包括主机号(主机号码处为0),例如 192.168.11.0

TCP/IP三次握手和HTTP过程

自闭症网瘾萝莉.ら 提交于 2019-12-19 00:24:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> TCP/IP三次握手和HTTP过程 1、TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主 动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断开过程需要经过“四次握手”(过程就不细写了,就是服务器和客 户端交互,最终确定断开) 2、HTTP连接 HTTP协议即超文本传送协议(Hypertext

网络层

丶灬走出姿态 提交于 2019-12-18 19:31:19
网络层 网络层提供的两种服务 1.虚电路服务 网际协议IP 各类IP地址的网路号字段和主机号字段: IP地址与与硬件地址的区别: 地址解析协议ARP的作用 路由器分组转发算法 划分子网和构造超网 1.1 划分子网 1.2 子网掩码 1.3 子网划分方法 1.4 在划分子网情况下路由器转发分组的算法 无分类编址CIDR CIDR地址块 路由聚合(构成超网) 内部网关协议RIP RIP协议的三个特点 网络层提供的两种服务 1.虚电路服务 虚电路服务: 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而不是真正建立了一条物理连接; 数据报服务 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务 网络层不提供服务质量的承诺; 对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 不需要 终点地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有终点的完整地址 分组的转发 属于同一条虚电路的分组均按照同一路由进行转发 每个分组独立选择路由进行转发 当结点出故障时 所有通过出故障的结点的虚电路均不能工作 出故障的结点可能会丢失分组,一些路由可能会发生变化 分组的顺序 总是按发送顺序到达终点 到达终点时不一定按发送顺序 端到端的差错处理和流量控制 可以由网络负责

TCP,IP,HTTP,SOCKET区别和联系

 ̄綄美尐妖づ 提交于 2019-12-18 04:31:48
网络由下往上分为 : 对应 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- TCP协议 会话层-- 表示层和 应用层-- HTTP协议 socket则是对TCP/IP协议的封装和应用(程序员层面上)。也可以说,TPC/IP协议是传输层协议,主要解决数据 如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍: “ 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如 果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也 可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。 ” 我们平时说的最多的socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。 实际上,Socket跟TCP/IP协议没有必然的联系。Socket编程接口在设计的时候,就希望也能适应其他的网络协议。所以说,Socket的出现 只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象

Socket连接与HTTP连接

北战南征 提交于 2019-12-17 02:04:07
Socket连接与HTTP连接 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。 1)Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等。而TCP和UDP协议属于传输层 。 而http是个应用层的协议,它实际上也建立在TCP协议之上。 (HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。) 2)Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。 下面是一些的重要的概念,特在此做摘抄和总结。 一。什么是 TCP 连接的三次握手 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j

socket、tcp/ip协议、udp协议

假装没事ソ 提交于 2019-12-17 01:40:44
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。 socket就是该模式的一个实现,socket是一种特殊的文件,一些socket函数就是对其进行的操作(打开、读/写IO、关闭)。 socket和file的区别: 文件是都是在同一台计算机上,两个进程之间传输数据。 socket可以实现在不同的计算机之间传输数据,也就是网络传输数据。比如说qq、打开一个网页,这些都是socket来实现通信的。 那网络通信呢又要说到tcp/ip协议和udp协议,socket里面已经封装好了upd和tcp/ip协议,直接使用就可以了。 简单说下tcp/ip协议是干嘛的,网络刚出来的时候,一片混乱,那要传输数据就得大家都遵守一个规则,大家都按照这个,然后就出现了tcp/ip协议。也许你听过3次握手,4次断开,说的就是tcp/ip连接的一个过程。加入a计算机要和b计算机通信,过程是这样的 a:在吗,我可以连你吗 b:在,你连吧 a:好的,我要给你发数据了 #这就是3次握手,这就建立好通道了,两台计算机就可以进行通行了。 那么4次断开是什么呢 a:我要和你断开了 b:好的,你断开吧 b:关闭通道