TCP/IP协议详解

一、TCP/IP协议簇介绍
二、链路层
三、网络层
四、传输层
五、应用层

一、TCP/IP协议簇介绍
1.TCP(Transmission Control Protocol)/IP(Internet Protocol)协议是现代互联网的基石,其实TCP/IP代表一组协议,称为TCP/IP协议簇,TCP和IP只是其中的两个最重要协议。TCP/IP协议簇使得由异构硬件和软件系统组成的主机进行互联,从而构建起全球互联网大厦。
2.TCP/IP协议簇参考ISO/OSI实现。ISO(International Standardization Organization)推出的OSI(Open System Interconnect Reference Model)协议是一种参考协议,分为7层,从下到上分别为:物理层、 数据链路层、 网络层、传输层、会话层、表示层、应用层。
3.TCP/IP协议簇由4层构成,各层名称与所包含协议如下所示,其中的应用层与链路层包含的协议众多,而传输层和网络层包含的协议较少。
应用层(HTTP, FTP, DNS, NFS…)
传输层(TCP, UDP)
网络层(IP, ARP, RARP, ICMP, IGMP)
链路层(Ethernet, Token Ring, FDDI…)

二、链路层
1.链路层,也称为数据链路层或网络接口层,该层包括主机用于连接网络的网络接口卡及其驱动程序,主要处理与传输媒介(如双绞线、光纤、无线电波等)的物理接口细节。由于绝大部分主机使用Ethernet网卡接入网络,因此,链路层所使用的通信协议一般为Ethernet。
2.链路层处理的数据为数据帧,格式如下图所示,其中,目标MAC(Media Access Control)地址、源MAC地址和类型组成14(6+6+2)个字节的帧头,后面为数据部分,最后为CRC(Cyclic Redundancy Check)部分。
在这里插入图片描述
3.MAC地址为主机网络接口卡地址;类型为来自网络层的数据类型,IPv4为0x0800,ARP为0x0806,PPPoE为0x8864,802.1Q tag为0x8100,IPv6为0x86DD,MPLS Label为0x8847;数据部分为来自网络层的数据,最少为46个字节,最大为1500个字节;CRC为循环冗余校验码,主要校验所收到的数据是否有错。链路层数据帧最小为64(6+6+2+46+4)个字节,最大为1518(6+6+2+1500+4)个字节,主要利用网络接口卡的物理地址即MAC地址进行通信。
三、网络层
1.网络层负责获取和维护主机的IP地址,而IP地址是其他协议内容的重要组成部分,是主机间进行网际互联的标识,此外,网络层还负责给数据报文选择路由路径。
2.IPv4:是互联网协议IP(Internet Protocol)的第4版,也是第一个被广泛使用,构成现今互联网技术的基础协议,是TCP/IP协议簇中的核心协议。
3.IPv4使用4个字节即32个2进制位表示一个地址,通常用点分十进制法表示,例如202.201.32.9,其中的数字都是十进制的数字,中间用实心圆点分隔。
4.一个IPv4地址分为网络地址和主机地址两部分,其中网络地址可以描述为:202.201.32.0/24,表示网络地址部分为202.201.32.0,长度为24位,其余8位为主机部分。
5.IPv4地址与子网掩码进行与运算,得到的就是网络地址,例如:IPv4地址202.201.32.9的子网掩码为255.255.255.0,两者与运算的结果202.201.32.0即为网络地址。
6.IPv4地址分为A类、B类、C类、D类与E类地址。
TCP/IP协议详解_第1张图片
7.IPv4特殊地址
TCP/IP协议详解_第2张图片
8.IPv4可分配地址
TCP/IP协议详解_第3张图片

9.IPv4数据报文格式
在这里插入图片描述
10.IPv4数据报文首部格式
TCP/IP协议详解_第4张图片
11.IPv6是互联网协议IP(Internet Protocol)的第6版,使用16个字节也就是128个二进制位表示1个地址,由于IPv6地址长度4倍于IPv4,因此,IPv4所采用的点分十进制格式表示地址的方式不再适用。IPv6采用十六进制形式表示地址,有3种表示方法。
12.冒分十六进制表示法:格式为X:X:X:X:X:X:X:X,其中每个X为2个字节十六进制数,若X中有前导0,前导0可以省略,例如:2001:DB8:0:23:8:800:200C:417A。
13.0位压缩表示法:地址中包含多个连续0,则可以将这些连续0压缩为“::”且只能选其中1处连续0用0位压缩表示法。例如:FF01::1101,::1,::。
14.内嵌IPv4地址表示法: X:X:X:X:X:X:d.d.d.d,前12个字节采用冒分十六进制方式表示,而后4个字节采用IPv4的点分十进制表示,例如::192.168.0.1,::FFFF:192.168.0.1。
IPv6数据报文格式
在这里插入图片描述

IPv6数据报文头部格式
TCP/IP协议详解_第5张图片

15.网络层协议
(1)ARP(Address Resolution Protocol),地址解析协议,用于将网络层的IP地址对应到链路层的网卡MAC地址。
(2)RARP(Reverse Address Resolution Protocol),反向地址解析协议,用于局域网中的主机向网关的ARP表或者缓存请求IP地址。
(3)ICMP(Internet Control Message Protocol),Internet控制报文协议,用于主机与路由器之间传递控制消息,控制消息包括网络是否通畅、数据是否到达目标主机、路由是否可用等内容。
(4)IGMP(Internet Group Management Protocol),Internet组管理协议,用于管理组播组成员的加入和离开。
(5)ICMPv6用于IPv6,实现了IPv4中的ICMP、ARP和IGMP的功能。
四、传输层
1.传输层为网络中的两台主机提供端到端的数据传输服务。
TCP/IP协议详解_第6张图片
2.端口号:用于区分应用层的多个进程。端口号用16位二进制数表示,范围为0-65535。0-1023用于常用的服务进程。
3.传输层协议有TCP(Transmission Control Protocol)和UDP(User Datagram Protocol),其中TCP提供面向连接、可靠的数据传输服务;UDP提供的服务没有连接、只能提供尽力而为的数据传输服务。
4.UDP数据报文和报文头部格式
TCP/IP协议详解_第7张图片
5.TCP数据报文和报文头部格式
TCP/IP协议详解_第8张图片
五、应用层
1.应用层协议众多,都是针对具体应用而设。
2.HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于传输HTML(HyperText Markup Language)数据,而HTML是互联网中主机之间进行交互的标准语言。客户端和服务器端以请求/应答方式工作。
3.HTTP的报文分为请求报文和应答报文。
4.HTTP请求报文格式
TCP/IP协议详解_第9张图片
5.HTTP应答报文格式
TCP/IP协议详解_第10张图片
6.HTTPS:使用SSL(Secure Sockets Layer)或者TLS(Transport Layer Security)对HTTP数据报文进行加密后递交给传输层的TCP进行传输,使用端口默认为443。
7.主机间使用HTTPS通信时,会同时使用到非对称加密算法即公/私钥加密算法、对称加密算法、HASH算法等,其中,非对称加密算法用于加密密码,对称加密算法用于加密要发送的消息和HASH值,HASH算法用于计算要发送消息的HASH值。
8.FTP(File Transfer Protocol,文件传输协议)用于Internet上主机间文件的共享与传输。FTP服务器端和客户端的连接需要使用两个独立的TCP连接,一个是命令链路,用来传送命令和状态数据;另一个是数据链路,用来传输数据。
9.FTP服务器端和客户端使用命令链路传送命令和状态数据,代表命令和状态的数据均以NVT(Network Virtual Terminal)格式的ASCII(American Standard Code for Information Interchange)字符方式传送,以CRLF换行符作为数据结束标志,没有定义特定的报文格式。
10.常用的FTP命令如表3-1所示,常用的FTP应答码如表3-2所示。
11.FTP服务器端和客户端使用数据链路传送数据,分为字符流模式、数据块模式和压缩模式。
12.DNS(Domain Name System)能够提供互联网域名解析服务,是互联网的一项核心服务。所有的DNS服务器形成一个巨大的分布式数据库,对互联网上的域名和IP地址进行相互映射。
13.DNS数据报文格式
TCP/IP协议详解_第11张图片
14.SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,用于将邮件从源地址传送到目的地址。
15.邮件发送过程:
TCP/IP协议详解_第12张图片
16.邮件由邮件头和正文两部分组成,两者之间用空行分开,邮件头以键/值对形式标明发信人、收信人、日期、邮件标识、主题等信息。正文内容是NVT ASCII格式的文本,以仅包含一个点号的行结束,也就是以“.”为结束标志。正文中的非文本内容,需要通过MIME(Multipurpose Internet Mail Extensions)转换为NVT ASCII格式的文本。
17.SMTP利用传输层的TCP协议传输信件数据,使用端口一般为25。利用SMTP通信的双方通过命令和应答的方式交换文本信息,文本信息以CRLF作为结束标志,没有定义特定的报文格式。
18.SMTP常用命令如表3-3所示,应答码如表3-4所示。
19.POP3(Post Office Protocol 3),邮局协议版本3,用于收信方从自己的邮件服务器上接收其他用户发给自己的邮件,是常用的邮件接收协议。
20.POP3利用传输层的TCP协议传输数据,使用端口一般为110。
21.POP3常用命令如表3-5所示,应答比较简单,使用“+OK”表示命令执行成功,“-ERR”表示命令执行失败,后跟简单的文本说明信息。
22.IMAP(Internet Mail Access Protocol),互联网邮件操作协议,属于在线式协议,允许用户在线操作邮件,方便用户随时随地利用不同终端设备处理邮件,弥补了POP3的不足,是目前最常用的邮件接收协议。
23.IMAP利用传输层的TCP协议传输数据,使用端口一般为143,可以看作是对POP3的改进。IMAP与POP3主要功能比较如表3-6所示。
24.DHCP(Dynamic Host Configuration Protocol),动态主机配置协议是一个简化主机IP地址分配管理的协议。用户可以利用DHCP服务器管理动态的IP地址分配及其他相关的环境配置工作(如:DNS、WINS、Gateway的设置)。
25.DHCP使用传输层的UDP协议传输数据,DHCP服务器一般使用端口67,DHCP客户端一般使用端口68。
26.DHCP报文格式:
TCP/IP协议详解_第13张图片

你可能感兴趣的:(TCP/IP协议,tcp/ip,网络,网络协议)