- 浏览: 1429744 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (363)
- oracle (43)
- 缓存策略 (4)
- 数据库设计 (7)
- IntelliJ IDEA (8)
- freemarker (3)
- JSP (12)
- java基础 (75)
- tomcat (14)
- 服务器 (10)
- maven (3)
- linux (21)
- e-learning (2)
- 手机开发 (1)
- 设计模式 (6)
- 技术之外 (2)
- 工具的使用 (8)
- HTML 5 (5)
- 网站前台 (38)
- 网站后台 (11)
- 项目管理 (12)
- 面试题 (5)
- 幽默 (0)
- 系统架构 (8)
- 创业 (10)
- div-css (5)
- 诗词歌赋 (1)
- 网络课堂组知识库 (4)
- 杂家 (3)
- android (12)
- 框架 (14)
- 读书笔记 (1)
- 孙子兵法 (1)
- mysql (3)
- 小人书 (0)
- Jquery (6)
- eclipse (2)
- 正则表达式 (1)
最新评论
-
a98709474:
写的很详细,看完了,明白了这种概念了
数据库水平切分(拆库拆表)的实现原理解析(转) -
a98709474:
MYSQL分库分表总结 -
CatchU:
7年前的招聘要求,厉害厉害
面试要求 -
luozhixiong:
<table class="bbcode&qu ...
MYSQL分库分表总结 -
沈寅麟:
好用
freemarker格式化
一: 传输层的主要功能是什么?
分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。
二: 传输层如何区分不同应用程序的数据流?
因为,对应传输层而言,它只需要知道目标主机上的哪个服务程序来响应这个程序,而不需要知道这个服务程序是干什么的。因此,我们只需要能够抽象的表示出来这些应用程序和服务程序即可。我们使用端口号来抽象标识每个网络程序。
三: 传输层有哪些协议?
传输层的两大协议:TCP(传输控制协议)UDP(用户数据包协议)
TCP是一个可靠的面向链接的协议,UDP是不可靠的或者说无连接的协议。可以用打电话和发短信来说明这种关系:
1:TCP好像打电话,双方要通话,首先,要确定对方不是开机(网络可以到达),然后要确定是不是没有信号(),然后还需要对方接听(通信链接)。
2:UDP就好似发短信,只管发出去,至于对方是不是空号(网络不可到达)能不能收到(丢包)等并不关心。
四: 什么是UDP(短信)协议?
UDP数据包结构如下图所示:
UDP为应用程序提供的是一种不可靠的、无连接的分组交付,因此,UDP报文可能会出现丢失、乱序、重复、延时等问题。因为它不提供可靠性,它的开销很小。(开销很小具体指什么?下文揭秘)
五: 为什么有了UDP(短信),还需要TCP(电话)?
问题4中已经说到,UDP为应用程序提供的是一种无连接、不可靠的分组交付。当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。这些都会导致我们的通信不正常。如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
六: 什么是TCP(电话)协议?
传输控制协议TCP是一个面向链接的、可靠的通信协议。
1. 在开始传输前,需要进行三次握手建立链接
2. 可靠性:在传输过程中,通信双方的协议模块继续进行通信
3. 通信结束后,通信双方都会使用改进的三次握手来关闭链接
TCP数据包结构如下图
七: 怎么理解协议和程序?**
如同我们自定义的应用层协议一样:协议只是给出了一组规范,规定我们应该怎么样(按什么规则)保存数据。在计算机间传输的永远都是二进制字节码(对于传输层,可以理解为传输的始终是下层的IP数据包),是计算机中的程序通过对这些字节码进行逻辑分析、判断,来控制程序完成差错控制等功能。至于解析这些字节码的程序,则可以有不同的实现,只要我们按照规则来解析,并作出相应的控制,我们大可以自己写个程序是实现相应功能。
八: TCP(电话)是否真的有链接?
我们都知道,TCP通过完成三次握手来建立链接的,但是这种连接是面向虚电路的,是物理上不存在的,只是双方的TCP程序,逻辑上的认为建立了这样的链接。
九: 链接是如何建立的(逻辑上)?
假设:当我们在主机A上启动一个程序,通过TCP去链接主机B上的9091端口。 整个过程是怎么样的呢?逻辑上我们可以这么理解建立链接的过程:
1.SYN:seq=X;
1.1 A的TCP程序,为这个链接分配一个端口(设为9090)。
1.2 同时逻辑上的将TCP连接的状态设置为:正在连接。(通过在链接状态表中添加一条记录,记录中状态为:正在连接)
1.3 同时,随机生成一个初始序列号X,生成一个TCP包,将初始化序列号X设置为TCP中的序列号,发送给主机B。
2.SYN:seq=Y ACK:ack=X+1;
2.1 B上TCP程序收到该数据包,查询9091端口状态,如果可以链接。
2.2 同样的,在逻辑上的将TCP连接的状态设置为:正在连接
2.3 同时,随机生成一个初始化序列号Y,根据接收的序列号X,生成应答号X+1,生成一个TCP包,将序列号和应答号分别设置到TCP包头中,将TCP数据包发给主机A。
3.SYN:seq=X+1 ACK:ack=Y+1.
3.1 A上的TCP程序接收到数据包,查询9090端口状态。
3.2 根据收到的SYN:seq=Y;ACK:ack=X+1; 封装一个TCP包 SYN:seq=x+1;ACK:ack=Y+1;发送给主机B。同时,TCP程序将链接状态表中该条记录状态设置为已连接。
3.3 主机B收到数据包,TCP程序将链接状态表中该条记录状态设置为已连接。
至此,一个TCP链接建立(三次握手)完成。
我们可以看到:
第一:传送的都是IP数据包,其实只是将收到的数据包交给TCP程序处理。
第二:链接状态,只是TCP程序中的一个逻辑状态。
十:所谓的建立TCP链接开销很大,具体是指什么?
从九中,很容易看出。要简历TCP链接,必须进行三次IP数据包的成功传输。
十一:三次握手的目的是什么?
TCP是面向链接的,在面向链接的环境中,开始传输数据之前,在两个中端之间必须先建立一个链接。建立链接的过程可以确保通信双方在发送应用程序数据包之前,都已经准备好了传送和接收数据。并且使通信双方统一了初始化序列号。
十二:TCP如何提供可靠性?
在传输过程中,通信双方的协议模块继续进行通信,从而确保了传输的可靠性。
针对乱序:在通过三次握手进行链接时,序列号被初始化。在传输过程中,TCP继续使用这个序列号来标记发送的每一个数据段,没传送一个数据段,序列号加一。接收方依据序列号重装收到的数据段。
针对丢包:在传输过程中,接收方收到一个数据段后,会用ACK应答码向发送端回复一个IP包进行应答,确认号ACK用来告诉发送端哪些数据包已经成功接收,发送方对未被应答的报文段提供重传。
针对重复:接收端收到数据段后,查看序列号,如果已经成功接收改数据包,则丢弃后面这个数据段。
针对延时:延时造成的第一个问题,就是数据包达到接收端时乱序。
当延时严重时,接收端一直未收到数据段,则不会回复ACK,发送端认为丢包,重发。
十三:什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?
1.确认号ACK会告诉发送端哪些数据段已经成功接收,并且确认号会向发送端指出接收端希望收到的下一个序列号。即,确实号ACK为上个数据序列号+1,这种机制称为预期确认。
2.为了提高效率,我们在发送端,将数据段保存在缓冲区中,直道发送端收到来自接收端的确认号。这种机制被称为“肯定确认与重新传输”。
3.当发送端在给定时间间隔内收不到那个数据段的应答时,发送端就会重传那个数据段。
情况1:网络延时/环路,数据段丢失
情况2:网络延时,数据段推迟到达
情况3:数据段成功到达,应答因为1.2不能达到。
十四: TCP中,序列号和应答号有哪些作用?
从以上10,11,12中,很明显的可以看到
依靠序列号重组数据段
依靠数据包消除网络中的重复包
依靠序列号和应答号进行差错重传,提高了TCP的可靠性
十六:为什么需要窗口技术?
前面我们已经说了,TCP的可靠性,是通过预期确认来实现的。即发送方发送一个数据段后,需要得到对方的确认后,才会发送下一个数据段。
因此,假设一个数据段大小为64KB(IP包最大值),一次发送和确认需要的时间为500MS,则,1S内,只能传送128KB的数据,如果带宽为1M,显然很浪费带宽。为了充分利用带宽,我们使用窗口技术。滑动窗口允许发送方在收到接收方的确认之前发送多个数据段。(窗口大小决定了在收到确认前可以发送的数据段数量)
十七:如何实现流量控制?
窗口数决定了当前传输的最大流量。当我们在传输过程中,通信双方可以根据网络条件动态协商窗口大小,调整窗口大小时,即可实现流量控制。(在TCP的每个确认中,除了ACK外,还包括一个窗口通知)
十八:UDP的开销很小,具体是指什么?
1.因为UDP是无连接的。在传输数据之前,不需要进行复杂的三次握手来建立连接。
2.在传输数据时,没有协议间通信流量(确认信号),也不需要浪费不必要的处理时间(接收确认信号再发一下)。
3;传输结束后,也不用再用改进的三次握手来端口连接。
十九:UDP数据包、TCP数据包大小如何确认?
无论TCP还是UDP数据包,都需要交给Internet层封装为IP包,而一个IP包,包头中的长度位为16位,所以IP包最大为2的16方,即65535(64KB还需要减去各种包头长度)。
TCP因为面向流,且可以凭借序列号对大文件进行分段和重组,因此,TCP可以用来传输较大的文件。而UDP,如果要传输大于64KB的数据,则需要自己在应用层进行差错控制。
为了提高传输效率和减少网络通信量(协议间的通信),TCP也会一次传输足够多的数据。
因为MTU的存在,TCP包和UDP包不是越大越好。(在路由中分包,在接收端重组,加大路由与接收端负担,增大丢包概率。分组丢失,整个数据包重传。)
二十:UDP适用哪些环境?TCP适用哪些环境?
适合UDP的环境:
1.在高效可靠的网络环境中(不需要考虑网络不好导致的丢包、乱序、延时、重复等问题),因为UDP是无连接的服务,不用消耗不必要的网络资源(TCP中的协议间通信)和处理时间(预期确认需要的时间),从而效率要高的多。
2.在轻权通信中,当需要传输的数据量很小(可以装在一个IP数据包内)时。如果我们使用TCP协议,那么,先建立连接,一共需要发送3个IP数据包,然后数据传输,1个IP数据包,产生一个确认信号的IP包,然后关闭连接,需要传输5个IP数据包。使用TCP协议IP包的利用率为1/10。而使用UDP,只需要发送一个IP数据包。哪怕丢包(服务不成功),也可重新申请服务(重传)。
注:而且无论UDP还是TCP,传输的都是IP数据包。当网络环境不好导致丢包时,无论TCP还是UDP都会丢包,这是没有区别的。(如果考虑发送丢包,那么TCP效率更低),只是使用TCP,当连接建立成功后,TCP程序会进行可靠性控制。
UDP很适合这种客户机向服务器传送简单服务请求的环境。此类应用层协议包括TFTP , SNMP , DNS ,DHCP等。
3.在对实时性要求很强的通信中:在诸如实时视频直播等对实时性要求很高的环境中,从而允许一定量的丢包的情况下(直播比赛,前面丢失的包,重传出来已经意义不大了),UDP更适合。(可以根据具体需要通过应用层协议提供可靠性,不用像TCP那么严格。)
适合TCP协议的环境:
当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。这些都会导致我们的通信不正常的时候。如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
分割并重新组装上层提供的数据流,为数据流提供端到端的传输服务。
二: 传输层如何区分不同应用程序的数据流?
因为,对应传输层而言,它只需要知道目标主机上的哪个服务程序来响应这个程序,而不需要知道这个服务程序是干什么的。因此,我们只需要能够抽象的表示出来这些应用程序和服务程序即可。我们使用端口号来抽象标识每个网络程序。
引用
传输层的TCP和UDP可以接收来自多个应用程序的数据流,用端口号标识他们,然后把他们送给Internet层处理;同时TCP和UDP接收来自Internet层的数据包,用端口号区分他们,然后交给不同的应用程序。
引用
因此:在同一IP地址(同一个目标主机)上不同的端口号是两个不同的链接。IP地址和端口号用来唯一的确定网络上数据的目的地。
三: 传输层有哪些协议?
传输层的两大协议:TCP(传输控制协议)UDP(用户数据包协议)
TCP是一个可靠的面向链接的协议,UDP是不可靠的或者说无连接的协议。可以用打电话和发短信来说明这种关系:
1:TCP好像打电话,双方要通话,首先,要确定对方不是开机(网络可以到达),然后要确定是不是没有信号(),然后还需要对方接听(通信链接)。
2:UDP就好似发短信,只管发出去,至于对方是不是空号(网络不可到达)能不能收到(丢包)等并不关心。
四: 什么是UDP(短信)协议?
UDP数据包结构如下图所示:
UDP为应用程序提供的是一种不可靠的、无连接的分组交付,因此,UDP报文可能会出现丢失、乱序、重复、延时等问题。因为它不提供可靠性,它的开销很小。(开销很小具体指什么?下文揭秘)
五: 为什么有了UDP(短信),还需要TCP(电话)?
问题4中已经说到,UDP为应用程序提供的是一种无连接、不可靠的分组交付。当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。这些都会导致我们的通信不正常。如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
六: 什么是TCP(电话)协议?
传输控制协议TCP是一个面向链接的、可靠的通信协议。
1. 在开始传输前,需要进行三次握手建立链接
2. 可靠性:在传输过程中,通信双方的协议模块继续进行通信
3. 通信结束后,通信双方都会使用改进的三次握手来关闭链接
TCP数据包结构如下图
七: 怎么理解协议和程序?**
如同我们自定义的应用层协议一样:协议只是给出了一组规范,规定我们应该怎么样(按什么规则)保存数据。在计算机间传输的永远都是二进制字节码(对于传输层,可以理解为传输的始终是下层的IP数据包),是计算机中的程序通过对这些字节码进行逻辑分析、判断,来控制程序完成差错控制等功能。至于解析这些字节码的程序,则可以有不同的实现,只要我们按照规则来解析,并作出相应的控制,我们大可以自己写个程序是实现相应功能。
八: TCP(电话)是否真的有链接?
我们都知道,TCP通过完成三次握手来建立链接的,但是这种连接是面向虚电路的,是物理上不存在的,只是双方的TCP程序,逻辑上的认为建立了这样的链接。
九: 链接是如何建立的(逻辑上)?
假设:当我们在主机A上启动一个程序,通过TCP去链接主机B上的9091端口。 整个过程是怎么样的呢?逻辑上我们可以这么理解建立链接的过程:
1.SYN:seq=X;
1.1 A的TCP程序,为这个链接分配一个端口(设为9090)。
1.2 同时逻辑上的将TCP连接的状态设置为:正在连接。(通过在链接状态表中添加一条记录,记录中状态为:正在连接)
1.3 同时,随机生成一个初始序列号X,生成一个TCP包,将初始化序列号X设置为TCP中的序列号,发送给主机B。
2.SYN:seq=Y ACK:ack=X+1;
2.1 B上TCP程序收到该数据包,查询9091端口状态,如果可以链接。
2.2 同样的,在逻辑上的将TCP连接的状态设置为:正在连接
2.3 同时,随机生成一个初始化序列号Y,根据接收的序列号X,生成应答号X+1,生成一个TCP包,将序列号和应答号分别设置到TCP包头中,将TCP数据包发给主机A。
3.SYN:seq=X+1 ACK:ack=Y+1.
3.1 A上的TCP程序接收到数据包,查询9090端口状态。
3.2 根据收到的SYN:seq=Y;ACK:ack=X+1; 封装一个TCP包 SYN:seq=x+1;ACK:ack=Y+1;发送给主机B。同时,TCP程序将链接状态表中该条记录状态设置为已连接。
3.3 主机B收到数据包,TCP程序将链接状态表中该条记录状态设置为已连接。
至此,一个TCP链接建立(三次握手)完成。
我们可以看到:
第一:传送的都是IP数据包,其实只是将收到的数据包交给TCP程序处理。
第二:链接状态,只是TCP程序中的一个逻辑状态。
十:所谓的建立TCP链接开销很大,具体是指什么?
从九中,很容易看出。要简历TCP链接,必须进行三次IP数据包的成功传输。
十一:三次握手的目的是什么?
TCP是面向链接的,在面向链接的环境中,开始传输数据之前,在两个中端之间必须先建立一个链接。建立链接的过程可以确保通信双方在发送应用程序数据包之前,都已经准备好了传送和接收数据。并且使通信双方统一了初始化序列号。
十二:TCP如何提供可靠性?
在传输过程中,通信双方的协议模块继续进行通信,从而确保了传输的可靠性。
针对乱序:在通过三次握手进行链接时,序列号被初始化。在传输过程中,TCP继续使用这个序列号来标记发送的每一个数据段,没传送一个数据段,序列号加一。接收方依据序列号重装收到的数据段。
针对丢包:在传输过程中,接收方收到一个数据段后,会用ACK应答码向发送端回复一个IP包进行应答,确认号ACK用来告诉发送端哪些数据包已经成功接收,发送方对未被应答的报文段提供重传。
针对重复:接收端收到数据段后,查看序列号,如果已经成功接收改数据包,则丢弃后面这个数据段。
针对延时:延时造成的第一个问题,就是数据包达到接收端时乱序。
当延时严重时,接收端一直未收到数据段,则不会回复ACK,发送端认为丢包,重发。
十三:什么是预期确认?什么是肯定确认与重新传输?哪些情况会重传?
1.确认号ACK会告诉发送端哪些数据段已经成功接收,并且确认号会向发送端指出接收端希望收到的下一个序列号。即,确实号ACK为上个数据序列号+1,这种机制称为预期确认。
2.为了提高效率,我们在发送端,将数据段保存在缓冲区中,直道发送端收到来自接收端的确认号。这种机制被称为“肯定确认与重新传输”。
3.当发送端在给定时间间隔内收不到那个数据段的应答时,发送端就会重传那个数据段。
情况1:网络延时/环路,数据段丢失
情况2:网络延时,数据段推迟到达
情况3:数据段成功到达,应答因为1.2不能达到。
十四: TCP中,序列号和应答号有哪些作用?
从以上10,11,12中,很明显的可以看到
依靠序列号重组数据段
依靠数据包消除网络中的重复包
依靠序列号和应答号进行差错重传,提高了TCP的可靠性
十六:为什么需要窗口技术?
前面我们已经说了,TCP的可靠性,是通过预期确认来实现的。即发送方发送一个数据段后,需要得到对方的确认后,才会发送下一个数据段。
因此,假设一个数据段大小为64KB(IP包最大值),一次发送和确认需要的时间为500MS,则,1S内,只能传送128KB的数据,如果带宽为1M,显然很浪费带宽。为了充分利用带宽,我们使用窗口技术。滑动窗口允许发送方在收到接收方的确认之前发送多个数据段。(窗口大小决定了在收到确认前可以发送的数据段数量)
十七:如何实现流量控制?
窗口数决定了当前传输的最大流量。当我们在传输过程中,通信双方可以根据网络条件动态协商窗口大小,调整窗口大小时,即可实现流量控制。(在TCP的每个确认中,除了ACK外,还包括一个窗口通知)
十八:UDP的开销很小,具体是指什么?
1.因为UDP是无连接的。在传输数据之前,不需要进行复杂的三次握手来建立连接。
2.在传输数据时,没有协议间通信流量(确认信号),也不需要浪费不必要的处理时间(接收确认信号再发一下)。
3;传输结束后,也不用再用改进的三次握手来端口连接。
十九:UDP数据包、TCP数据包大小如何确认?
无论TCP还是UDP数据包,都需要交给Internet层封装为IP包,而一个IP包,包头中的长度位为16位,所以IP包最大为2的16方,即65535(64KB还需要减去各种包头长度)。
TCP因为面向流,且可以凭借序列号对大文件进行分段和重组,因此,TCP可以用来传输较大的文件。而UDP,如果要传输大于64KB的数据,则需要自己在应用层进行差错控制。
为了提高传输效率和减少网络通信量(协议间的通信),TCP也会一次传输足够多的数据。
因为MTU的存在,TCP包和UDP包不是越大越好。(在路由中分包,在接收端重组,加大路由与接收端负担,增大丢包概率。分组丢失,整个数据包重传。)
二十:UDP适用哪些环境?TCP适用哪些环境?
适合UDP的环境:
1.在高效可靠的网络环境中(不需要考虑网络不好导致的丢包、乱序、延时、重复等问题),因为UDP是无连接的服务,不用消耗不必要的网络资源(TCP中的协议间通信)和处理时间(预期确认需要的时间),从而效率要高的多。
2.在轻权通信中,当需要传输的数据量很小(可以装在一个IP数据包内)时。如果我们使用TCP协议,那么,先建立连接,一共需要发送3个IP数据包,然后数据传输,1个IP数据包,产生一个确认信号的IP包,然后关闭连接,需要传输5个IP数据包。使用TCP协议IP包的利用率为1/10。而使用UDP,只需要发送一个IP数据包。哪怕丢包(服务不成功),也可重新申请服务(重传)。
注:而且无论UDP还是TCP,传输的都是IP数据包。当网络环境不好导致丢包时,无论TCP还是UDP都会丢包,这是没有区别的。(如果考虑发送丢包,那么TCP效率更低),只是使用TCP,当连接建立成功后,TCP程序会进行可靠性控制。
UDP很适合这种客户机向服务器传送简单服务请求的环境。此类应用层协议包括TFTP , SNMP , DNS ,DHCP等。
3.在对实时性要求很强的通信中:在诸如实时视频直播等对实时性要求很高的环境中,从而允许一定量的丢包的情况下(直播比赛,前面丢失的包,重传出来已经意义不大了),UDP更适合。(可以根据具体需要通过应用层协议提供可靠性,不用像TCP那么严格。)
适合TCP协议的环境:
当网络硬件失效或者负担太重时,数据包可能就会产生丢失、重复、延时、乱序的现象。这些都会导致我们的通信不正常的时候。如果让应用程序来担负差错控制的工作,无疑将给程序员带来许多复杂的工作,于是,我们使用独立的通信协议来保证通信的可靠性是非常必要的。
发表评论
-
打印IP 来源
2014-10-16 22:07 940<% String userAgent = reques ... -
java 写文本换行
2014-08-08 18:34 1958import org.apache.commons.io.Fi ... -
DBCP连接池配置示例
2014-06-17 11:44 1241<bean id="dataSourceOra ... -
CGLIB与asm
2014-05-05 14:42 1341“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言 ... -
201404转成 2014.04
2014-03-31 17:45 989public static void main(Str ... -
取出 字符串中的 网址
2013-10-15 17:47 1259public static void main(Str ... -
java反国际化
2013-09-23 18:10 1008public static String fromEn ... -
AtomicInteger与Volatile修饰
2013-02-05 11:50 6043今天写代码,尝试使用了AtomicInteger这个类,感觉 ... -
ExecutorService线程池
2013-02-05 11:40 1619http://blog.sina.com.cn/s/blog ... -
web.xml中load-on-startup的作用
2012-12-24 10:06 1660如下一段配置,熟悉DWR的再熟悉不过了: <servle ... -
最新版本
2012-09-13 09:28 1006Java SE 7u7 apache-tomcat-7.0. ... -
格式化数字
2012-09-10 20:12 902public static void main(Str ... -
用apache common io包获得文件扩展名
2012-09-09 23:11 1364apache common io包包含了很多非常实用的工具类, ... -
值传递,引用传递
2012-07-28 23:29 1138java 对于 8种基本类型 和 他们的包装类型 , 外 ... -
代码之丑
2012-07-07 22:01 2345原文:http://www.infoq.com/cn/news ... -
Memcache
2012-06-27 09:36 1040Memcache是一个高性能的分布式的内存对象缓存系统,通过在 ... -
ActiveMQ
2012-06-14 15:09 15152ActiveMQ 是Apache出品,最流行的,能力强劲的开源 ... -
proxool配置
2012-06-12 11:43 1178项目结构 所需jar包 proxool.prope ... -
各种文件的注释
2012-04-23 10:44 1000<%-- comment --%> JSP注释,也称为“隐藏注 ... -
List排序
2012-03-27 20:18 1194集合类List存放的数据,默认是按照放入时的顺序存放的,比如依 ...
相关推荐
TCP/IP协议由网络层的IP协议和传输层的TCP协议组成。TCP/IP协议在网络中的应用非常广泛,它是供已连接因特网的计算机进行通信的通信协议。下面是TCP/IP协议的详细解释: 1. TCP/IP协议的定义 TCP/IP协议是供已连接...
TCP/IP协议栈是一个复杂的网络协议栈,它由四个层次组成:网络层、传输层、高层和应用层。每个层次都有其特定的功能和协议。 网络层 网络层是TCP/IP协议栈的第三层,也是OSI参考模型的第三层。网络层的主要功能是...
它详细阐述了网络接口层(如以太网)、互联网层(包括IP协议、ICMP协议、ARP协议和RARP协议)、传输层(重点讨论TCP和UDP协议)以及应用层的各种协议(如FTP、Telnet、SMTP等)。通过阅读,读者可以理解网络数据如何...
在结构方面,它详细解析了各个层次的协议,如传输层的TCP(传输控制协议)和UDP(用户数据报协议),网络层的IP(互联网协议)以及ICMP(因特网控制消息协议)。同时,书中也探讨了如何通过这些协议实现不同网络的...
本文将从 TCP/IP 模型、数据链路层、网络层、传输层和应用层五个方面对 TCP/IP 协议的知识点进行详细的解释。 一、TCP/IP 模型 TCP/IP 协议模型(Transmission Control Protocol/Internet Protocol)是 Internet ...
首先,TCP(Transmission Control Protocol)是面向连接的传输层协议,它提供可靠的数据传输服务。在发送文件前,TCP会建立一个连接,通过三次握手确保双方的通信可靠性。发送方将文件内容拆分成多个数据段,并为每...
TCP/IP协议栈是互联网通信的核心,它由多个层次的协议组成,包括链路层、网络层、传输层和应用层。在Microchip的实现中,这些层次包含了如ARP(地址解析协议)、IP(网际协议)、TCP(传输控制协议)、UDP(用户数据...
首先,我们要明白TCP/IP模型,它由四层组成:应用层、传输层、网络层和数据链路层。应用层是最高层,包括HTTP、FTP、SMTP等协议,它们为用户提供服务;传输层主要包含TCP(传输控制协议)和UDP(用户数据报协议),...
首先,TCP/IP模型分为四个主要层次:应用层、传输层、网络层和数据链路层。每一层都有其特定的任务和协议,共同构成了网络通信的基础。 1. **应用层**:这是最顶层,包含了各种应用程序如HTTP(超文本传输协议)、...
TCP/IP协议族由多个层次组成,包括应用层、传输层、网络层和数据链路层。每一层都有其特定的功能和协议,如应用层的HTTP、FTP,传输层的TCP和UDP,网络层的IP,以及数据链路层的Ethernet等。理解这些协议的交互过程...
作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也...
TCP/IP模型由四层组成:应用层、传输层、网络层和数据链路层,每个层都有其特定的功能和协议。 1. **应用层**:这是TCP/IP模型的最高层,它包含了各种应用协议,如HTTP(超文本传输协议)、FTP(文件传输协议)、...
它分为四层模型:链路层、网络层、传输层和应用层,每一层都承担着不同的职责。 1. 链路层:这是TCP/IP模型的最底层,负责在物理网络上传输数据帧。常见的链路层协议有Ethernet(以太网)和PPP(点对点协议)等,...
首先,TCP/IP是一个四层模型,包括链路层、网络层、传输层和应用层。在传输数据时,数据会从应用层逐层下传,经过每一层的处理和封装,最后由链路层通过物理介质发送出去。接收端则进行相反的解封装过程,直至还原成...
TCP/IP模型分为四层(在OSI七层模型的基础上简化而来):应用层、传输层、网络层和数据链路层。每一层都有其特定的功能和协议。 1. **应用层**:这是TCP/IP模型的最高层,包括HTTP(超文本传输协议)、FTP(文件...
20章的内容可能包括:TCP/IP概述、网络接口、IP协议、IPv6、ICMP与ARP、网络层选路、TCP协议、UDP协议、套接字编程、窗口与拥塞控制、传输层实现、应用层协议、网络安全、因特网的未来等。每一章都深入浅出地阐述了...
第一卷《TCP/IP协议》主要关注协议层面,包括网络接口层(如以太网)、互联网层(IP协议、ICMP、ARP/RARP)和传输层(TCP、UDP),以及它们之间的交互。书中深入探讨了这些协议的工作原理,如IP地址的分配、分片与...
它详细解析了网络接口层(如ARP和RARP)、互联网层(如IP、ICMP和IGMP)以及传输层(如TCP和UDP)。读者将在此卷中了解到网络分层模型,数据封装过程,以及IP地址和子网掩码的使用。此外,作者还深入剖析了TCP的连接...
1. **TCP/IP协议模型**:TCP/IP模型通常被分为四层或五层,包括应用层、传输层、网络层、数据链路层和物理层。STM32中的TCP/IP协议栈实现了这些层的功能,例如应用层的HTTP、FTP等服务,传输层的TCP和UDP协议,网络...