数据报

OSI体系结构——网络层详解

痞子三分冷 提交于 2020-04-02 16:30:00
前言 网络层是OSI参考模型中的第三层,同时也是TCP/IP模型的第二层。它介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。主要内容有:虚电路分组交换和数据报分组交换、路由选择算法、阻塞控制方法、X.25协议、综合业务数据网(ISDN)、异步传输模式(ATM)及网际互连原理与实现。 一、功能目的 网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。它提供的服务使传输层不需要了解网络中的数据传输和交换技术。 网络层提供的两种服务: 1.网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,以及每一个分组独立交付的策略。 2.网络层不提供服务质量的承诺。 虚电路服务与数据报服务的对比: 二、网际协议IP 网际协议IP是TCP/IP体系中两个最主要的协议之一,同时IP协议也是最重要的互联网标准协议之一。 与IP协议配套使用的还有三个协议: (1)地址解析协议 ARP( address resolution protocol ) (2)网际控制报文协议 ICMP( internet control message protocol ) (3)网际组管理协议 IGMP(

TCP/IP 之网络层

回眸只為那壹抹淺笑 提交于 2020-03-30 06:48:33
视因特网为一个暗箱 视因特网为一个组合 数据报无序到达,然后组装成完整的报文 有个流标号flow label 这个标记指引数据报的行走路径,统一的到达目的地(这是我自己的理解) 请求分组 确认分组(当所有路由器都为特定的虚电路创建了各自的路由表之后,属于同一个报文的所有网络层分组就可以一个接一个地发送出去。) 一个具体的发邮件的例子(爱丽丝向鲍勃发邮件) 网络层,源计算机提供的服务(网络层收到来自于上层的几个信息:数据、数据长度、逻辑地址、协议ID以及服务类型。网络层对这些信息进行处理后生成了一组数据报片以及下一跳的MAC地址,并将它们一起交付给数据链路层。) 路由器上网络层的处理过程 目的计算机网络层,重组数据报片 来源: https://www.cnblogs.com/jiqing9006/archive/2013/05/30/3108588.html

java网络

*爱你&永不变心* 提交于 2020-03-26 09:57:26
这个图很形象的展示了OSI的五层架构之间的关系。 OSI被称为开放式互联,是国际标准组织制定的网络模型,本来是七层,后来把表现层和会话层加到应用层里面了。 那么五层模型中的每一层具体都是干什么的呢? 在标准的网络模型中,每一层都有它不同的用处,而且每一层都只提供向上和向下的接口,而不会垮层去通信。 在应用层这里,主要是为特定的应用程序提供数据传输服务。这一层是和程序员关系最紧密的一层,其中的代表性协议就是http,它的数据单位是报文。 在传输层,为进程提供数据传输服务。这一层主要为应用层的各种各样的协议提供通用的传输层协议。这里主要就是两个最简单的协议:TCP协议和UDP协议。这里传输是端到端,连接的是端口号,也就是进程。 在网络层,为主机提供数据传输服务。这一层主要将传输层的数据报封装成分组。经典协议就是IP协议。 在数据链路层,为同一链路的主机提供数据传输服务。将网络层传下来的分组封装成帧,这里主要是MAC地址。 在物理层,最底层,传输的是二进制比特流。 我们从网络层说起,一般网络层下面的就不去了解了。 网络层是整个互联网的核心。网络层向上只提供简单灵活的、无连接的。尽最大努力交互的数据报服务。 IP数据报的格式: 版本:众所周知,ip现在有两个版本,ipv4和ipv6,ipv4的地址已经用光了,ipv6地址非常多。 首部长度:上面每一行是4个字节,除去可变部分,最少有五行

程序插入数据报错ORA-01461: can bind a LONG value only for

瘦欲@ 提交于 2020-03-19 16:10:10
我的ORACLE表里没有long字段,可是保存时报错: ORA-01461 :仅可以为插入LONG列的LONG值赋值 ORA-01461: can bind a LONG value only for insert into a LONG column 本来我这张表里只有一个VARCHAR2(4000)的字段,一直没有这种错误发生,后来我把另一个字段长度调整为VARCHAR2(4000),这错误就开始发生了。 你的数据库字符集可能是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过4000的当做LONG型处理,你的表中有两个这样的字段,插入数据时相当于同时操作2个LONG字段,所以报错。 建议减小字段长度或拆分 案例2: 今天接到开发人员报告:在用jdbc导入数据时遇到ORA-01461 ORA-01461 can bind a LONG value only for insert into a LONG column Cause: An attempt was made to insert a value from a LONG datatype into

程序插入数据报错ORA-01461: can bind a LONG value only for

回眸只為那壹抹淺笑 提交于 2020-03-19 15:26:26
我的ORACLE表里没有long字段,可是保存时报错: ORA-01461 :仅可以为插入LONG列的LONG值赋值 ORA-01461: can bind a LONG value only for insert into a LONG column 本来我这张表里只有一个VARCHAR2(4000)的字段,一直没有这种错误发生,后来我把另一个字段长度调整为VARCHAR2(4000),这错误就开始发生了。 你的数据库字符集可能是UTF-8的,对于UTF-8或欧洲的某些字符集,oracle在存储时,对于一个字符需要2个或3个字节的存储空间,虽然表定义中为varchar2(4000),但是其实该字段的data_length为其2倍或3倍长。这种情况下oracle会把data_length长度超过4000的当做LONG型处理,你的表中有两个这样的字段,插入数据时相当于同时操作2个LONG字段,所以报错。 建议减小字段长度或拆分 案例2: 今天接到开发人员报告:在用jdbc导入数据时遇到ORA-01461 ORA-01461 can bind a LONG value only for insert into a LONG column Cause: An attempt was made to insert a value from a LONG datatype into

UDP协议分析

北慕城南 提交于 2020-03-18 22:46:34
3 月,跳不动了?>>> 1. UDP的概述 UDP是User Datagram Protocol(用户数据报协议)的缩写,它是传输层的协议,功能即为在IP的数据报服务之上增加了最基本的服务:复用和分用以及差错检测。 UDP提供 不可靠 的服务(它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。),具有TCP所没有的优势: UDP无连接,时间上不存在建立连接需要的时延。空间上,TCP需要在端系统中维护连接状态,需要一定的开销。此连接装入包括接收和发送缓存,拥塞控制参数和序号与确认号的参数。UCP不维护连接状态,也不跟踪这些参数,开销小。空间和时间上都具有优势。 举个例子: DNS如果运行在TCP之上而不是UDP,那么DNS的速度将会慢很多。 HTTP使用TCP而不是UDP,是因为对于基于文本数据的Web网页来说,可靠性很重要。 同一种专用应用服务器在支持UDP时,一定能支持更多的活动客户机。 分组首部开销小,TCP首部20字节,UDP首部8字节。 UDP没有拥塞控制,应用层能够更好的控制要发送的数据和发送时间,网络中的拥塞控制也不会影响主机的发送速率。某些实时应用要求以稳定的速度发送,能容忍一些数据的丢失,但是不能允许有较大的时延(比如实时视频,直播等) UDP提供尽最大努力的交付,不保证可靠交付。所有维护传输可靠性的工作需要用户在应用层来完成

TCP/IP协议学习导览

烈酒焚心 提交于 2020-03-17 23:27:32
某厂面试归来,发现自己落伍了!>>> 前言 从字面意义上讲,有人可能会认为TCP/IP是指TCP和IP两种协议。实际生活当中有时也确实就是指这两种协议。然而在很多情况下,它只是利用IP进行通信时所必须用到的协议群的统称。具体来说,IP或ICMP、TCP或UDP、TELNET或FTP、以及HTTP等都属于TCP/IP协议。 该文章主要为《TCP-IP详解卷1:协议》归纳笔记 1. 网络的分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,比如TCP/IP,是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层的协议系统。 链路层 有时也称作 数据链路层或网络接口层 ,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。 网络层 有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括 IP 协议(网际协议), ICMP协议 (Internet互联网控制报文协议),以及 IGMP协议 (Internet组管理协议)。 运输层 主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议: TCP(传输控制协议)和UDP(用户数据报协议)。 TCP为两台主机提供高可靠性的数据通信

(2)链路层介绍

痞子三分冷 提交于 2020-03-14 00:55:27
一、简介 网络层协议的数据单元是 IP 数据报 ,而数据链路层的工作就是把网络层交下来的 IP 数据报 封装为 帧 (frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。 为达到这一目的,数据链路必须具备一系列相应的功能,主要有: 将数据封装为帧(frame),帧是数据链路层的传送单位; 控制帧的传输,包括处理传输差错,调节发送速率与接收方相匹配; 在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。 数据帧的结构是这样的: 二、控制帧的传输 1.差错控制 通信系统必须具备发现差错的能力,并采取措施纠正之,使差错控制在所能允许的尽可能小的范围内,这就是差错控制过程,也是数据链路层的主要功能之一。 反馈重发 接收方通过对差错编码(奇偶校验码或 CRC 码)的检查,可以判定一帧在传输过程中是否发生了差错。一旦发现差错,一般可以采用 反馈重发 的方法来纠正。这就要求接受方收完一帧后,向发送方反馈一个接收是否正确的信息,使发送方据此做出是否需要重新发送的决定。发送方仅当收到接收方已正确接收的反馈信号后才能认为该帧已经正确发送完毕,否则需要重发直至正确为止。 计时器 如果某一帧发送出现问题,一直不能发送成功,为了避免传输过程停滞不前,通常引入 计时器 (Timer) 来限定接收方发回反馈消息的时间间隔。当发送方发送一帧的同时也启动计时器

数据帧、数据包、数据报三者区别

六月ゝ 毕业季﹏ 提交于 2020-03-11 14:41:24
数据帧(Frame):数据链路层,传递的单位是frame 帧,就是数据链路层的协议数据单元,它包括三部分:帧头,里面有mac地址,通过这个地址可以在底层的交换机这个层面里顺着网线找到你的计算机。数据部分,ip数据包,意思是使用ip地址定位的一个数据包。帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如ip数据包。 数据包(Packet):TCP/IP协议通信传输中的数据单位,处于网络层,在局域网中,“包”是包含在“帧”里的。packet是整个tcpip通信协议里网络层的传输单位,也是最小的单位。一个ip包里有什么呢?跟帧一样,有着目的地的ip地址及其来源的ip地址和其他的校验信息。它也被称为头。那么还有什么呢?来自传输层托付给自己待传送的信息。这个信息会被分成多个ip数据包发送出去。 所以网络层传递的是ip包,ip包里是待传输消息的一部分。 数据报(Datagram):现在来到传输层了,传输层直接接受来自你的消息,小到你给朋友发个晚安,大到你给别人传递个文件,只要提供对方的ip地址(还有端口号),其它的都交给传输层帮助你实现。就很像你与快递公司的关系。一种发送前会先探路,保证送货到家的,这是tcp协议,另一种只管寄,不管是否查收的就是udp。这两种协议都会在发送前把你的消息拆分成多个ip数据包来传输

IP 数据报的格式

谁都会走 提交于 2020-03-07 18:09:33
IP 数据报的格式 IP数据报的格式能够说明IP都具有什么功能。在TCP/IP的标准中,各种数据格式常常以32位(即4字节)为单位来描述。图4-13是数据报的完整格式。 从图 4 - 13 可看出,一个IP数据报由首部和数据两部分组成。首部的前一部分是 固定长度 ,共20字节,是所有数据报必须具有的。在首部的固定部分的后面是一些 可选字段 ,其长度是可变的。下面介绍首部各字段的意义。 1、IP数据报首部的固定部分中的各字段 (1)版本。 (4位) 占 4 位,指IP协议的版本。IP协议版本号为4(即 IPv4),IPv6(即版本6的IP协议)。 (2)首部长度。 (4位) 占 4 位,可表示的最大十进制数值是15。请注意,首部长度字段所表示数的单位是32位字(1个32位字长是4字节)。因为IP首部的固定长度是20字节,因此首部长度字段的最小值是5(二进制表示的首部长度是 0101)。而当首部长度为最大值1111时(即十进制数的15),就表明首部长度达到最大值15个32位字长,即 60 字节。 (3)区分服务。 (8位) 占 8 位,用来获得更好的服务。旧标准中叫做服务类型,后改名为区分服务(Different Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度。 (16位) 总长度指首部和数据之和的长度,单位为字节。总长度字段为16位