【JavaEE初阶】TCP/IP协议(二)

这篇具有很好参考价值的文章主要介绍了【JavaEE初阶】TCP/IP协议(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络层重点协议

IP协议

协议头格式如下:
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议

  • 4位版本号(version):指定IP协议的版本,对于IPv4来说,就是4。IPv6就是6.
  • 4位头部长度(header length):描述了IP报头多长。(IP报头是变长的)报头中有一个选项部分 是变长的。是可有可无的。 此处的单位也是四字节。
  • 8位服务类型(Type Of Service):3位优先权字段(已经弃用),4位TOS字段,和1位保留
    字段(必须置为0)。4位表示IP协议的四种形态/四种工作模式。4位TOS分别表示:最小延时,最大吞吐量,最高可靠性,最小成本。这四者相互冲突,只能选择一个。
  • 16位总长度(total length):描述了一个IP数据包的长度(头+载荷)这个长度减去前面的IP报头长度就是载荷长度。一个完整的TCP/udp数据报长度。

如果一个IP数据报携带的数据载荷太长了,超过64kb,就会在网络层针对数据进行拆分。把一个数据拆分成多个IP数据报。再分别发送给接收方,再重新拼装。
接收方:数据链路层,针对两个数据帧进行分用,得到两个IP数据报,交给网络层,网络层针对这俩IP数据报进行解析,把里面的载荷拼成一个,交给传输层。

  • 16位标识(id):唯一的标识主机发送的报文。同一个数据拆成的多个包的标识是一样的。
  • 3位标志字段:第一位保留(保留的意思是现在不用,但是还没想好说不定以后要用到)。第
    二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文。第三位表
    示"更多分片",如果分片了的话,最后一个分片置为1,其他是0。类似于一个结束标记。
  • 13位分片偏移(framegament offset):标识了多个包的先后顺序。是分片相对于原始IP报文开始处的偏移。其实就是在表示当前分片在原报文中处在哪个位置。实际偏移的字节数是这个值 * 8 得到的。因此,除了最后一个报文之外,其他报文的长度必须是8的整数倍(否则报文就不连续了)。
  • 8位生存时间(Time To Live,TTL):一个数据在网络上能够传输的最大时间。 这个时间的单位不是“秒”,而是“次数”。一个数据报构造出来,会有一个初识的TTL数值(比如32/64/128…)这个报每次经过一个路由器转发TTL-1. 如果一直减到0,还没有到达目标,此时就认为这个包永远也到不了。可以丢弃了。
  • 8位协议:描述了当前载荷部分内容是属于哪个协议的。(TCP/UDP)
  • 16位头部校验和:此处只需要针对首部进行校验,载荷部分(TCP/UDP数据报)自身已经有校验和了。如果校验和不一致 直接丢弃即可。
  • 32位源地址和32位目标地址:此处看到的IP地址是32位的整数。而我们日常见到的161.185.187.142是采用点分十进制表示的。(使用三个.把32位 4个字节的数字给分割开,分成四部分,每个部分分别使用0-255十进制整数表示。)

所谓地址,期望每个设备都不相同。但是 随着时代的发展,32位数字,只能表示42亿九千万个数字,即IP地址不够用。为了解决这个问题,有很多方法:

  1. 动态分配IP地址。

  2. NAT网络地址转换。本质上就是使用一个IP代表一批设备。
    在NAT背景下 将IP地址分为两个大类:
    (1)内网IP(私有IP)10.* 172.16.*-172.31.* 192.168.*
    (2)外网IP(公网IP)剩下的就是公网IP

    NAT要求,公网IP必须是唯一的,私网IP可以在不同局域网中重复出现。
    如果某个私网里的设备想访问公网的设备,就需要对应的NAT设备(路由器),把IP地址进行映射,从而完成网络访问。
    反之,公网的设备,无法直接访问私网的设备。不同局域网的私网的设备没法直接相互访问。
    内网IP只要在局域网内部不重复即可,不同局域网中则是可以重复的。
    NAT机制能够有效的解决IP地址不够用的问题 但是使得网络环境更加复杂了。

  3. IPv6:从根本上解决了IP不够用的问题。使用16字节表示IP地址。

当前世界上 仍然是以NAT+Ipv4+动态分配来进行网络组建的。

地址管理

IP地址分为两个部分,网络号和主机号
网络号:标识网段,保证相互连接的两个网段具有不同的标识;
主机号:标识主机,同一网段内,主机之间具有相同的网络号,但是必须有不同的主机号;
即通常情况下:IP 192.168.0.10中:192.168.0为网络号10为主机号。
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议
一个IP地址从哪到哪是网络号,从哪到哪是主机号,是由子网掩码来确定的。
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议
1的部分就描述了IP有多少位是网络号。

路由选择

路由选择就是规划路径 相当于使用地图导航。
由于真实的网络环境非常复杂,任何一个节点(路由器)都是无法感知到网络环境的全貌的。一个路由器最多只认识他的一些邻居。如果要进行一个比较长的路径的转发,就比较麻烦。

数据链路层重点协议

考虑相邻节点之间的传输。(通过网线/光纤/无限直接相连的两个设备)

以太网协议

以太网帧格式:
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议
以太网数据帧 = 帧头+载荷+帧尾
帧头:含有目的地址(mac地址(物理地址)),源地址, 类型。
载荷:完整的IP数据报。

IP和mac是如何相互配合的?
IP用来描述整个传输过程的起点终点,mac则是用来表述两个相邻节点的起点和终点。
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议

这是数据链路层中另外的协议:ARP协议。
通过这个协议,让某个路由器/交换机,能够认识局域网中的其他设备。通过ARP协议会在交换机/路由器中建立一个表。这个表相当于一个hash表,能够建立出IP和mac之间的映射关系。

MTU

MTU是一个数据链路层的数据帧,它表示了能够承载数据的最大长度。(载荷的长度)
载荷具体多长,和使用的物理介质有很大关系。当然也和数据链路层使用的协议有很大的关系。比如以太网协议 MTU1500字节。
正式因为MTU引起了IP这个协议来进行分包组包。
IP的分包组包通常不是根据这个IP最大长度来分的。大概率情况下,数据链路层的MTU比64kb要小。

应用层重要协议

DNS(域名解析系统)

其实网络上的服务器,要访问它,需要的是, IP地址。但是IP地址太拗口,于是使用一些简单的单词构成字符串来表示这个地址。每个域名都对应了一个/N个IP地址。既然如此,就需要能够把域名和IP地址给对应上。
在早期的时候, 互联网上的服务器很少, 这域名和IP这样的映射关系只是使用一个hosts文件来维护, 每个用户只需要手动自己的hosts文件就可以了, 现在的电脑还是有这个文件的, 也可以使用.
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议
后来互联网蓬勃发展, 到现在每天都有很多新的网站诞生, 此时想要依靠手机维护已经不现实了, 于是现在就有了DNS服务器来维护域名和IP的映射关系, 当你想要访问某个域名时, 就会自动请求DNS服务器, 然后就会返回具体IP地址进行访问.

如果电脑的DNS服务器配置不对, 或者是DNS服务器挂了, 就会出现一个典型的情况: 网络正常的情况下, QQ等应用程序可以用, 但是网页打不开了.

我们自己电脑的DNS服务器可以通过如下方式配置,

首先打开设置中 “网络和Internet” 中的 “高级网络设置” , 点击 “更多网络适配器器选项”.
【JavaEE初阶】TCP/IP协议(二),JavaEE初阶,tcp/ip,网络,网络协议
这里可以自己去配置DNS服务器的地址。文章来源地址https://www.toymoban.com/news/detail-517020.html

到了这里,关于【JavaEE初阶】TCP/IP协议(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JAVAEE初阶相关内容第十九弹--网络原理之TCP_IP【续集2】

    上一篇博客主要介绍的是关于网络层协议-IP协议的重点介绍。需要掌握关于IP协议的协议头格式,关于IPV4分配不够的解决办法。地址管理与路由选择。 点击跳转上一篇博客 本篇博客将继续学习关于计网中协议的内容。 本篇博客主要介绍关于数据链路层的重点协议-以太网。

    2024年02月03日
    浏览(34)
  • 【Java EE初阶十五】网络编程TCP/IP协议(二)

            tcp的socket api和U大片的socket api差异很大,但是和前面所讲的文件操作很密切的联系         下面主要讲解两个关键的类:         1、ServerSocket:给服务器使用的类,使用这个类来绑定端口号         2、Socket:即会给服务器使用,又会给客户端使用;         

    2024年02月20日
    浏览(51)
  • javaEE -9(7000字详解TCP/IP协议)

    IP协议有两个版本: IPv4 IPv6。 IPv4数量=2^32,大约43亿左右,而TCP/IP协议规定,每个主机都需要有一个IP地址。对于全世界计算机来说,这个数量是不够。 所以后来推出了IPv6(长度128位,是IPv4的4倍)。但因为目前IPv4还广泛的使用,且可以使用其他技术来解决IP地址不足的问题

    2024年02月06日
    浏览(38)
  • 网络编程——TCP/IP协议族(IP协议、TCP协议和UDP协议……)

    1、IP协议简介 IP协议又称 网际协议 特指为实现在一个相互连接的网络系统上从源地址到目的地传输数据包(互联网数据包)所提供必要功能的协议,是网络层中的协议。 2、特点 不可靠 :它不能保证IP数据包能成功地到达它的目的地,仅提供尽力而为的传输服务 无连接 :IP 并不

    2024年02月13日
    浏览(75)
  • 【JavaEE初阶】 TCP协议详细解析

    TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 源/目的端口号:表示数据是从哪个进程来,到哪个进程去; 32位序号/32位确认号:后面详细讲; 4位TCP报头长度:表示该TCP头部有多少个32位bit(有多少个4字节);所以

    2024年02月05日
    浏览(33)
  • 【网络协议】TCP/IP 协议

    1、TCP/IP 模型 TCP/IP 协议模型,包含了一系列构成互联网基础的网络协议,是 Internet 的核心协议。 基于 TCP/IP 协议栈可分为四层或五层,转换为 OSI 参考模型,可以分为七层,分别如下图所示: 通常我们所说的都是基于 TCP/TP 五层模型。 2、TCP/IP 协议栈每一层功能 应用层:H

    2024年02月12日
    浏览(65)
  • 网络:TCP/IP协议

    1. OSI七层参考模型        应用层         表示层         会话层         传输层         网络层         数据链路层         物理层 2. TCP/IP模型         应用层         传输层         网络层         数据链路层         物理层 3. 各链路层对应的名称    

    2024年02月15日
    浏览(78)
  • 【网络】- TCP/IP四层(五层)协议 - 网际层(网络层) - 网际协议IP

    这篇文章主要介绍TCP/IP协议的网际层,上一篇文章介绍了数据链路层,数据链路层的主要作用是 在互连同一种数据链路的节点之间进行包传递 。而网际层的主要作用是 实现终端节点(即使不在同一网络)的通信 。 网际层 有时也称 网络层 ,但由于网际层的作用中包含了“实现

    2024年02月06日
    浏览(59)
  • TCP协议IP网络音柱

    SV-704CT TCP协议I P网络音柱 一、描述  SV-704CT是深圳锐科达电子有限公司的一款壁挂式 IP网络有源音柱 ,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,其采用防水设计,功率可以从60W到120W。SV-704CT作为网络广播播放系统的终端,可用于需要广播播放的

    2024年02月07日
    浏览(52)
  • 【网络原理】TCP/IP协议

    目录 1.应用层 2.传输层(核心问题) 2.1 UDP协议 2.1.2 UDP的特点 2.1.3 基于UDP的应用层协议 2.2 TCP协议(重点内容) 2.2.1 TCP/IP 协议含义 2.2.2 TCP协议端格式: 2.2.3 TCP的特点 2.3 TCP原理 2.4 确认应答机制(安全机制) 2.5 超时重传机制(安全机制) 2.5.1 数据直接丢了,接收方没

    2023年04月13日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包