ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

剑指Java------计算机网络篇(一)

2021-05-08 09:01:16  阅读:127  来源: 互联网

标签:Java IP 网络 TCP 计算机网络 传输 传输层 ------ 数据


1.网络基础知识讲解

OSI七层协议:

第一层:物理层
进行比特流的传输。主要定义了物理设备的标准,比如网线、光纤的接口类型,等各种传输介质的参数等等,将比特流转换为电流强弱进行传输,即为数模转换以及模数转换。数字信号以及模拟信号,网卡就是工作在这一层。
第二层:数据链路层
在传输比特流的过程中,会存在数据错传,漏传的可能,数据链路层定义了如何格式化数据进行传输,以及如何控制让对物理介质的访问,这一层中还提供错误检测和纠正以确保数据传输的可靠性,这一层将比特数据组成交换机就工作在这一层,对帧进行解码。并根据帧中包含的信息发送到对应的接收方,随着网络节点的不断增加,点对点通信时,往往需要经过许多节点,此时如何选择最佳的传输路径,成为首要需求。
第三层:网络层
主要功能将网络地址,翻译为对应的物理地址,并决定如何将数据从发送方路由到接收方,控制子网的运行,如逻辑编址、分组传输、路由选择,网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费,来决定从一个网络中节点A到另一个网络中节点B的最佳路径。由于网络层处理并智能指导网络传送,路由器连接网络各段,路由器工作在网络层。这一层的数据,称为数据报,这一层中需要关注TCP\IP协议中的IP协议,而发送的文件等数据量越来越大,需要网络层对数据进行分组切分。每一个分组是否需要按顺序到达、分组丢失是否需要进行网络重传等等就是传入层进行负责。
第四层:传输层
传输层解决了主机间的数据传输,数据间的传输可以是不同网络的,并且解决了传输中质量的问题,该层可以说是OSI模型中最重要的一层。传输协议同时进行流量控制、或是基于接收方可接收数据快慢程度规定适当的发送速率,传输层按照网络最大尺寸将较长的数据报进行强制分割,无法接受大于一千五百子节的数据报,发送方节点的传输方将其分解为较小的数据片,同时对每一数据片按照顺序安排序列号,以便数据到达接收方节点的传输层时能以正确的顺序重组,该过程成为排序,该层中需要关注TCP协议,以及UDP协议。
第五层:会话层
建立以及管理应用程序之间的通信,能保证自动收发包以及寻址。
第六层:表示层
信息的语法语义以及它们的关联,如加密、解密、转换翻译、压缩解压缩。
第七层:应用层
应用层的网络协议规定信息的发送方和接收方必须使用一个固定长度的消息头,并且消息头中有固定的组成,消息头中必须记录消息体的长度等一系列信息,以方便接收方能够解析信息。该层需要关注HTTP协议
OSI的7层模型清晰规范的定义了网络传输的过程,但是缺乏具体实现。

而TIC/IP四层架构模型

第一层:链路层(对应OSI的数据链路层以及物理层)
第二层:网络层
第三城:传输层
第四层:应用层(对应OSI的会话层、表示层、应用层)
和OSI一样,TCP\IP模型也会在自上而下,在每一层的传输中为数据添加头部 http数据——TCP首部+http数据——IP首部+TCP首部+http数据——以太网首部+IP首部+TCP首部+http数据。

也有5层模型的说法,即将4层模型中链路层拆分为物理层、以及数据链路层。

2.TCP的三次握手

IP协议是无连接的通信协议,它不会占用两个正在通信计算机之间的通信线路,这样IP就降低了对网络线路的需求,每条线路可以同时满足许多不同的计算机之间的通信需要,通过IP、消息、或者其他数据会被分割为较小的独立的包,通过因特网在计算机之间传送,IP负责将每个包路由至它的目的地,但IP协议没有做任何事情确认包按顺序发送,或者包是否被破坏,所以IP数据报是不可靠的,需要它的上层协议进行控制。
而TCP协议属于传输层的协议,TCP协议是面向连接的、可靠的、基于字节流的传输层通信协议,数据传输时,应用层向TCP发送数据流,TCP将数据流分割成适当长度报文段,报文段的长度受该计算机连接网络的最大传输单元的限制,最后TCP将结果传送至IP层,由IP层通过网络将包传送给目标节点TCP层。TCP为了保证不丢失包,就给每个包都加上序号,对方收到则发送ACK确认,未收到则重传,这样也保证包的按序处理。TCP使用校验和来检验数据在传输过程中是否有误。在发送和接收时都要计算校验和。
TCP报文的头部会有Source Port(源端口)和destination port(目标端口)各占用两个字节,TCP报文头和UDP报文头都是不包含IP地址信息的,那是网络层需要负责的事。端口号能够唯一标识一个进程,进程之间的通信凭借着唯一端口号,但是两台不同计算机之间的通信仅仅凭借端口号就不够了,需要再加上IP地址锁定对应的主机。

标签:Java,IP,网络,TCP,计算机网络,传输,传输层,------,数据
来源: https://blog.csdn.net/cz_chen_zhuo/article/details/112003799

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有