首页 > 其他分享 >TCP_IP协议

TCP_IP协议

时间:2022-11-01 12:41:14浏览次数:52  
标签:协议 字节 16 IP TCP 端口号

TCP/IP协议栈详解

一,TCP/IP协议栈概述

1,TCP/IP协议层次结构

应用层

传输层

互联网层

网络接口层

2,TCP/IP协议栈与OSI/RM模型的区别

  相同点:

两者都是以协议栈的概念为基础

协议栈中的协议彼此相互独立

下层对上层提供服务

  不同点:

OSI是先有模型;TCP/IP是先有协议,后有模型

OSI适用于各种协议栈;TCP/IP只适用于TCP/IP网络

层次数量不同

OSI是参考模型,TCP/IP是工业标准


TCP/IP协议栈各功能层次讲解

二,应用层

 文件传输类协议:TFTP,FTP,NFS

 邮件协议:SMTP,POP3

 远程登陆管理协议:Telnet,rlogin,SSH

 网络管理协议:SNMP

 名称管理协议:DNS


三,传输层

 传输层有两个协议,其分别为:

TCP(transmission control protocol):传输控制协议,是一种面向连接的可靠的传输协议

UDP(user datagram protocol):用户数据报协议,是一种非面向连接的不可靠的传输协议

(一) TCP协议详解:

1,TCP协议报文格式

source port(16)源端口号:主要用于标识或区分上层的服务

  destination port(16)目的端口号

sequence number(32)顺序号:其确定发送方发送的数据流中被封装的数据所有位置,

acknowledgement number(32)确认号:其确定源点下一次希望从目标接收的顺序号

header length(4)头部长度:一个比特表示一个单位(4字节),即TCP头部最长64字节.其用于标识有效负载的起始点

reserved(6)保留字段:

code bits(6)代码位:用于数据流控制和连接控制.其分别为:紧急位,确认位,推进位,复位位,同步位,结束位

windows(16)窗口:表示数据的吞吐量,用于流量控制,在数据传输过程中可以随时调节,一个比特表示一个字节,即最大吞吐量为65536字节

checksum(16)校验和:对整个数据段进行校验,在此处可以看出段的最大容量为65536字节

urgent(16)紧急指针:当代码位中的紧急位被标记时才使用,用于指明紧急数据的结束点

options(0~32)可选项:

data(varies)有效负载(数据):

*************

端口号:是传输层对上层服务的一种映射,传输层是通过端口号来识别上层的服务及会话的,其共分为三类:

知名端口:0~1023  已被唯一指定为计算机中的各种应用

注册端口:1024~49151 注册后方可使用

私有端口:49152~65535 可以私用,但不被公共认可

源端口号:会话发起方的源端口号随机选择(>=1024且未被自己使用的端口),其用于标识本地的上层服务及区分会话

目的端口号:其作用是指定会话对等体要用什么上层协议来读取数据.

常见的端口号有:

基于TCP协议封装的应用层协议:FTP(20,21),SSH(22),TELNET(23),SMTP(25),DNS(53),HTTP(80),POP3(110),HTTPS(443)  

基于UDP协议封装的应用层协议:DNS(53),TFTP(69),SNMP(161),RIP(520)

*************

2,TCP协议是面向连接的可靠的传输机制

 A) TCP的三次握手(建立会话--即面向连接)

在数据传输前建立一个可靠的连接,以确定双方都能接收到对方的数据,其是数据传输前的准备工作.

主要由协议中的"顺序号","确认号",代码位中的"同步位","确认位"来进行

 B) 确认及重传机制

在数据传输过程中通过"顺序号"与"确认号"来对数据进行确认,如果出错则要重新传输(不管是接收方没有收到数据还是发送方没有收到接收方的确认信息).

 C) 流量控制机制(窗口)

在发送数据时,会携带自己的窗口的相关信息,以此与对方协商发送及接收数据的吞吐量大小

(二) UDP协议详解:

source port(16)源端口号

  destination port(16)目的端口号

length(16)长度

checksum(16)校验合

***********************

TCP协议与UDP协议的异同点

共同点:

   工作在传输层,用端口号标识及区分上层的会话

不同点:

   TCP:是面向连接的可靠的传输协议.在数据传输前,通过三次握手建立会话;数据传输过程中要等待对方的确认或错误重传,而且自身的负荷为20~64字节,因此可靠性高,但传输效率低

   UDP:是非面向连接的不可靠的传输协议.在数据传输前不需建立会话,数据传输过程中没有确认机制,且自身的负荷为8字节,因此传输效率高,但可靠性无法保障

***********************


四,网络层

  网络层的协议众多,在此我们讨论几个有代表性的协议:IP,ICMP,ARP,RARP

(一) IP协议

vsersion(4)版本:目前使用的是IPV4,IPV6正在测试阶段

header length(4)头部长度:表示报头的长度,一个比特表示一个单位(4字节).即头部最大长度为64字节

priority & type of service(8)优先级及服务类型:QOS

total length(16)总长度:整个IP报文长度,一个比特表示一个字节,即总长度最大值为65536字节

identification(16)标识:

flags(3)标记:第一位没有使用;第二位为分片位,"0"表示可分片,"1"表示不可分片;第三位为分片截止位,"1"表示还有后继分片,"0"表示无后继分片

fragment offset(13)分片偏移:标识,标记,分片偏移三者一起用于IP报文的分片,其受MTU的影响

time to live(8)生存周期:IP报文的生存时间,最大值255

protocol(8)协议号:用来标识本层或上层的协议

header checksum(16)头部校验合:

source ip address(32)源IP地址:

destination ip address(32)目的IP地址:

options(0~32)选项:

data(varies)有效负载(数据):

******************

常见的协议类型及其对应的协议编号:

ICMP:1 , TCP:6 , UDP:17 , EIGRP:88 , OSPF:89

******************

(二) ICMP协议

  主要用于测试网络的连通性,主要应用有ping和traceroute,其主要是利用ICMP协议中的ECHO报文(echo和echo-reply)

ping:用于测试从源到目的是否可以有一条可以工作的路径,在IOS中ping反馈的结果有:

 ! : ping操作成功,收到了icmp echo reply报文

 . : 未收到任何报文

 U : 目的不可达

traceroute:用于测试从源到目的所经过的详细路径信息

(三) ARP/RARP协议

  ARP:地址解析协议.知道对方的IP地址,求对方的MAC地址

  RARP:逆向地址解析协议.知道自己的MAC地址,求自己的IP地址



标签:协议,字节,16,IP,TCP,端口号
From: https://blog.51cto.com/u_8755139/5813258

相关文章

  • IP地址管理及子网划分
    一,IP地址概述1,IP地址的作用: 在使用TCP/IP协议通信的网络中,IP地址是端到端的通信的唯一编址方式;且数据在传输过程中路径的选择也是基于IP编址的2,IP地址的组成:......
  • iptables 防火墙
    概述Linux系统自带的软件防火墙:iptables:Centos5/6系统默认防火墙firewalld:Centos7/8系统默认防火墙iptables概述iptables是Linux系统的防火墙,IP信息包过滤系......
  • VIVADO IP核:GT高速收发器(概述和IP example)
    这里给出一些我看过的参考文档,相信这些博主的内容已经让您对GT高速收发器有了初步了解https://blog.csdn.net/lum250/article/details/119952822(特别详细的CSDN教程,分析了......
  • JavaScript语法逻辑运算符和JavaScript三元运算符
    5.逻辑运算符 &&||! *其他类型转boolean:1.number:0或NaN为假,其他为真2.string:除了空字符串(""),其他都是true......
  • P1044 [NOIP2003 普及组] 栈 (卡特兰数)
    [NOIP2003普及组]栈题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(......
  • 在pycharm中如果PIP不能使用了如何安装别的软件
    例如:1、下载xadmin,下载地址:https://github.com/sshwsfc/xadmin2、下载后解压,打开文件夹,shift+右击,选择“在此处打开powershell窗口”   3、命令行输入“pythonset......
  • 企业微信Oauth2协议前端流程
    前言由于近期工作中设计项目部署上企业微信,并且需要需要用户通过授权来实现获取用户企业微信信息的需求。经过了解,企业微信平台通过Oauth2协议实现第三方应用授权方式获取......
  • 【freeswitch】基于FreeSwitch实现的Webrtc VoIP Phone
    最近有一个客户的呼叫中心项目,客户提出了一个强制性需求,要求坐席使用PC+Phone的方式来接听电话,而且最重要的是PC不能安装任何软件或者浏览器插件,研究了半天,似乎只有华山一......
  • OSI七层与TCP/IP协议
    一、什么是网络①什么是网络      网络:计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的规则,进行通信的集合。通信,......
  • OSI七个层和网络层协议的概念
    应用层人为的打开一个和多个程序表示层将人类的输入的高级语言翻译有电没电会话层管理计算机之间的通讯传输层把数据传输到对面计算机网络层找路根据ip地址找路......