对TCP/IP协议的一些看法(4):网络层协议概述

之前有提到,链路层的上层是网络层(Internet层),也有翻译为网际层。这层开始一直到应用层就是用户所需要关注的地方了。网络层协议包括了最著名的IP协议、ICMP协议、IGMP协议等,今天主要对IP协议进行一下概述。

IP协议:

数据从应用层传下来,在每一层都要对数据的头部进行封装,包括传输层添加TCP或UDP报头,IP层添加IP报头以及链路层添加以太网报头。网络层的报文叫做IP数据包,其主要的格式如下:

其中各位的意思是:

1.版本号:占4位,代表是IPv4还是IPv6

2.首部长度:4位,首部长度最大为60字节,常见为20字节。若首部长度不是4的倍数,则用0去填充

3.服务类型:8位,可表示最小时延、最大吞吐量、最高可靠性和最小费用。一般不用

4.数据报长度:16位,最大为65535字节。若超过该长度需要分片发送

5.16比特标识:记录报文的数量,可用于之后重组

6.标志:3位,后两位才有用,最低位表示是否后面还有分片,倒数第二位表示是否允许分片

7.13比特片偏移:表示每个分片在整个数据报中的相对位置,用于重组

8.寿命:TTL,数据包每经过一个路由器则减1,直到为0后丢弃该数据包。默认windows为255,linux为64

9.上层协议:表示数据字段装载的是传输层的哪个协议,包括tcp,udp,ICMP或IGMP等

10.首部校验和:对IP首部的数据进行校验,占16位

11.源IP地址:发送方的IP,32位

12.目的IP地址:接收方的IP,32位

13.选项:可选字段

14.数据:装载传输层或ICMP、IGMP数据包的内容

网络层的IP数据包使不可靠的,即不能保证该数据包一定能够交付到接收方,可用上层协议来确保其可靠性,如TCP协议。

最后需要注意的是TCP、UDP、ICMP和IGMP报文都是以IP数据包的格式传输的,虽然ICMP、IGMP和IP协议都在同一层——网络层。

时间: 2024-10-14 00:30:35

对TCP/IP协议的一些看法(4):网络层协议概述的相关文章

TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute

转自:http://blog.csdn.net/goodboy1881/article/details/670761 ———————————————————————————————————————————————————————— 1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成.其中一个重要的模块就是ICMP(网络控制报文)协议. 当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将

TCP/IP模型各个层次的功能和协议

层次名称 功    能 协    议 应用层 (Application Layer) 负责实现一切与应用程序相关的功能,对应OSI参考模型的上三层 FTP(文件传输协议) HTTP(超文本传输协议) DNS(域名服务器协议) SMTP(简单邮件传输协议) NFS(网络文件系统协议) 传输层 (Transport Layer) 负责提供可靠的传输服务,对应OSI参考模型的第四层 TCP(控制传输协议) UDP(用户数据报协议) 网际层 (Inter-network Layer) 负责网络间的寻址.

TCP/IP学习20180709-数据链路层-arp协议

arp协议:address resolution protocol地址解析协议数据链路层,每个数据包都有MAC地址.主机是怎样根据对方主机的ip地址知道对方主机的mac地址呢?通过arp协议.主机里有ip-arp对应表.拿到ip就查对应表.查到了就用mac地址.查不到就向网络发arp协议广播包.收到这个广播包的所有主机都查自己的ip地址.如果该主机发现自己的ip地址符合,就把包含自己mac地址的arp包发给广播主机.广播主机拿到arp包后更新ip-arp对应表.然后用arp地址发送数据包. 原文

TCP/IP详解学习笔记(6)-UDP协议

1.UDP简要介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,UDP协议并不提供超时重传,出错重传等功能,也就是说其是不可靠的协议. 2.UDP协议头 2.1.UDP端口号 由于很多软件需要用到UDP协议,所以UDP协议必须通过某个标志用以区分不同的程序所需要的数据包.端口号的功能就在于此,例如某一个UDP程序A在系统中注册了3000端口,那么,以后从外面传进来的目的端口号为3000的UDP包都会交给该程序.端口号理论上可以有2^16这么多.因为它的长度是16个bit

TCP/IP网络编程、三次握手协议及socket编程

1.概念 2.三次握手协议

TCP/IP 原理 -- ICMP:因特网控制报文协议

ICMP:它传递差错报文以及其他需要注意的信息. ICMP是封装在IP数据报内部被传递的. ICMP报文格式: 1.ICMP报文类型由类型和代码字段共同决定.类型共有15中,通过代码字段又可对其进行细分.详细报文类型说明如图: 图 -ICMP报文类型

《TCP/IP详解,卷1:协议》学习记录

在“第20章—TCP的成块数据流—20.6慢启动—一个例子”中,中文版有如下翻译“此时尽管可发送多达3个报文段,可是在下一个ACK收到之前,只发送了2个报文段”,英文版原文为“Two more segments are sent (not three) because the ACK for segment 4 is still outstanding.”

【Java TCP/IP Socket】构建和解析自定义协议消息(含代码)

在传输消息时,用Java内置的方法和工具确实很用,如:对象序列化,RMI远程调用等.但有时候,针对要传输的特定类型的数据,实现自己的方法可能更简单.容易或有效.下面给出一个实现了自定义构建和解析协议消息的Demo(书上例子). 该例子是一个简单的投票协议.这里,一个客户端向服务器发送一个请求消息,消息中包含了一个候选人的ID,范围在0~1000.程序支持两种请求:一种是查询请求,即向服务器询问候选人当前获得的投票总数,服务器发回一个响应消息,包含了原来的候选人ID和该候选人当前获得的选票总数:另

TCP/IP协议,HTTP协议

1. 协议  a. TCP/IP总体构架概述     TCP/IP协议并不全然符合OSI的七层參考模型.传统的开放式系统互连參考模型,是一种通信协议的7层抽象的參考模型,当中每一层运行某一特定任务.该模型的目的是使各种硬件在同样的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议採用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完毕自己的需求.这4层分别为:     i.   应用层:应用程序间沟通的层,如超文本传送协议(HTTP

OSI七层模型详解 TCP/IP协议

总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,OSPF,EIGRP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,MTU 物理层 以二进制数据形式在物理媒体上