计算机网络(2) 网络层:IP服务模型

一.Internet Protocol在TCP/IP四层模型中的作用

第三层网络层负责数据包从哪里来到哪里去的问题 。传输层的数据段提交给网络层后,网络层负责添加IP段,包含数据包源地址与目的地址 。将添加IP段的数据包交由数据链路层添加链路头形成最终在各节点传输中所需要的数据帧。 (在网络层必须使用IP模型)

IP服务模型的四个特点:

1.IP服务是一种数据报 :它是一种独立的数据报服务,通过路由一跳一跳进行转发,各个数据报之间互相独立没有特殊联系。它蕴含了IPSA(IP Source Addr)源地址与IPDA(IP Dest Addr)目的地址 。路由表中并不清除传输一个IP数据报的确定路径,只是通过不断检索IPDA去逐跳转发数据报,最终到达目的地址,可以类比如邮政服务

2.不可靠的服务:IP服务是不可靠的服务,因为它不负责准确无误的交付数据报。数据报可能会延迟交付甚至不交付。IP服务不会承诺将一个数据报准确无误的送达目的地址,故而数据报有丢失可能。(这样设计是为了使IP服务变得结构简单,可靠性通过传输层的TCP等协议控制)

3.如果必要可能会放弃一部分数据报,当中间节点路由器存在拥塞等情况,可能会丢弃一部分数据源报,且不会通知源地址。

4.无连接的:**TCP数据报不传递网络连接状态的任何信息,**故而一定是无连接的,它只是包含IP头的数据报仅此而已。

IP服务的一些细节:

1.IP服务会阻止包在路由中的死循环,通过在IP头中设置TTL(Time to live)段实现。经过一次转发TTL减少1,当TTL为0停止转发。

2.如果数据报文过长IP服务会对报文进行分割,例如以太网传输报文小于1500字节,大于1500字节时会进行分割。

3.IP服务使用IP头校验确保数据报的完整性。

4.目前有两种IP地址格式IPV4(32bits)与IPV6(128bits)。

IPV4数据报抽象格式如下图所示:

1.Version(版本):表示数据报版本IPV4或IPV6

2.Header Length(头长度):进行IP头校验

3.Type of Service:告诉路由器数据报类型(重要程度)

4.Total Packet Length:数据报总长度

5.Packet ID\Flags\Fragment Offset:数据报的ID以及一些标志位,主要用于大数据报分割

6.TTL:生存时间用于避免报文路由死循环。

7.Protocol ID:确定协议格式如TCP或UDP有上百种协议ID

8.IPDA/IPSA:目的地址\源地址

9.OPTIONS:IP服务允许在头部添加一些自定义部分,但是路由器也必须有相应的解析处理功能(一般不使用)

10.DATA:数据段

相关推荐
liu****1 天前
27.epoll(三)
服务器·开发语言·网络·tcp/ip·udp
云飞云共享云桌面1 天前
如何降低非标自动化工厂的研发软件采购成本
运维·服务器·网络·数据库·性能优化·自动化
时代新威powertime1 天前
等保三级|安全通信网络自评估指南
网络·安全·等保测评
国服第二切图仔1 天前
检测隧道HTTP代理的可用性的几种方法
网络·网络协议·http
JH30731 天前
引依赖包和对这个包发起rpc调用有什么区别
网络·网络协议·rpc
一位搞嵌入式的 genius1 天前
RARP 协议深度解析:MAC 到 IP 的反向映射与技术演进
计算机网络·安全·网络通信·rarp协议
tan180°1 天前
Linux网络TCP(上)(11)
linux·网络·c++·后端·tcp/ip
席万里1 天前
关于Go的init函数执行顺序#黑魔法
开发语言·网络·golang
Evand J1 天前
【TCN与LSTM例程】TCN(时间卷积网络)与LSTM(长短期记忆)训练单输入单输出,用于拟合一段信号,便于降噪。MATLAB
网络·人工智能·matlab·lstm
橘子真甜~1 天前
C/C++ Linux网络编程6 - poll解决客户端并发连接问题
服务器·c语言·开发语言·网络·c++·poll