TCP协议

Wesley13
• 阅读 741

ISO/OSI网络模型共有七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

TCP/IP网络模型:应用层,传输层,网际层,网络接口

TCP协议

TCP协议

我们最常使用的TCP属于传输层,IP数据网络层,ARP在数据链路层。

TCP头格式

TCP协议

  • Sequence Number是包的序号,用来解决网络包乱序(reordering)问题。
  • Acknowledgement Number就是ACK——用于确认收到,用来解决不丢包的问题
  • Window又叫Advertised-Window,也就是著名的滑动窗口(Sliding Window),用于解决流控的
  • TCP Flag ,也就是包的类型,主要是用于操控TCP的状态机的

 其实,网络上的传输是没有连接的,包括TCP也是一样的。而TCP所谓的“连接”,其实只不过是在通讯的双方维护一个“连接状态”,让它看上去好像有连接一样。

TCP协议 TCP协议

当应用程序用T C P传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),T C P传给I P的数据单元称作 T C P报文段或简称为 T C P段(T C P s e g m e n t)。I P传给网络接口层的数据单元称作 I P数据报(IP datagram)。通过以太网传输的比特流称作帧(Fr a m e )。I P和网络接口层之间传送的数据单元应该是分组( p a c k e t)。分组既可以是一个I P数据报,也可以是I P数据报的一个片(f r a g m e n t)。

TCP协议

ip数据报长度范围:46-1500

################################################################## Ethernet II以太网帧格式:

目标MACMAC 类型 数据 FCS 6字节 6字节 2字节 46-1500字节 4字节

所以最小6+6+2+46+4 = 64,最大6+6+2+1500+4 = 1518。 (注:ISL封装后可达1548字节,802.1Q封装后可达1522字节) ################################################################## Ethernet 802.3 raw帧格式:

目标MAC 源MAC 总长度 0xFFFF 数据 FCS 6字节 6字节 2字节 2字节 44-1498字节 4字节

最小6+6+2+2+44+4 = 64,最大6+6+2+2+1498+4 = 1518。 ################################################################## Ethernet 802.3 SAP帧格式:

目标MAC 源MAC 总长 DSAP SSAP 控制 数据 FCS 6字节 6字节 2字节 1字节 1字节 1字节 43-1497字节 4字节

最小:6+6+2+1+1+1+43+4 = 64。最大:6+6+2+1+1+1+1497+4 = 1518。 ################################################################## Ethernet 802.3 SNAP帧格式: 目标MAC 源MAC 总长 0xAA 0xAA 0x03 OUI ID 类型 数据 FCS 6字节 6字节 2字节 1字节 1字节 1字节 3字节 2字节 38-1492字节 4字节 最小:6+6+2+1+1+1+3+2+38+4 = 64 最大:6+6+2+1+1+1+3+2+1492+4 = 1518 ###################################################################

所以,以太网帧的长度范围是64-1518。 最小帧长度的定义,与能够检测冲突的最少时间有关,具体内容可以查阅“碰撞槽”的相关信息。

TCP和UDP首部使用16bit存储端口号来标识不同的应用程序。所以端口号的范围0~65535。

查看系统中程序的保留端口号:  less /ect/services

点赞
收藏
评论区
推荐文章
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
胖大海 胖大海
2年前
TCP/IP协议详解
TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。TCP/IP协议模型,包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。1)网络接口层:主要是指物理层次
Easter79 Easter79
3年前
tcp和socket和http的区别
又一次感觉到大学本科的基础知识没好好学习。估计光顾着泡妞找对象和睡觉了,后悔莫及啊。网络由下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。  通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,  三者从本质上来说没有可比性,  socket则是对TCP/IP协议的封装
Wesley13 Wesley13
3年前
TCP、UDP数据包大小的限制
!(https://oscimg.oschina.net/oscnet/cf8ced647179433fba6b707fa6bdf5c9.gif)1、概述首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。其中以太网(Ethernet)的数据帧在链路层IP包在网络层TCP或UDP包在
Easter79 Easter79
3年前
TCP、UDP、HTTP、HTTPS之前的区别
网络由下往上分为:物理层数据链路层网络层  IP协议传输层  TCP协议会话层表示层和应用层  HTTP协议!(https://oscimg.oschina.net/oscnet/aeb8a94598094caf8c377e1277ba95948ea.png)1、TCP/IP连接TC
Wesley13 Wesley13
3年前
TCP通讯协议
HTTP协议通信原理OSI七层网络模型包含(应用层、表示层、会话层、传输层、网络层、数据链路层、物理层)TCP/IP四层概念模型包含(应用层、传输层、网络层、数据链路层)!(https://oscimg.oschina.net/oscnet/upbf558b4f7572e8d2211102742395b069235.png
Wesley13 Wesley13
3年前
网络
文章目录深入理解TCP/IP协议1、TCP/IP协议的概念2、TCP/IP的分层管理1\.物理层2\.数据链路层MAC地址广播3\.网络层IP协议4\.传输层UDP协议TCP协议5\.应用层(会
Stella981 Stella981
3年前
Socket编程(网络协议一)
“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容“TCP/IP只是一个协议栈,就像程序运行一样,必须要实现运行,同时还要提供对外的操作接口网络从下往上分为  物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层,
Stella981 Stella981
3年前
Socket的基础概念
一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。其中物理层、数据链路层和网络层通常被称作媒体层,是网络工程师所研究的对象;传输层、会话层、表示层和应用层则被称作主机层,是用户所面向和关心的内容。http协议  对应于应用层  tcp协议  对应于传
Stella981 Stella981
3年前
Linux网络基础(一)——网络模型
【网络模型】1.OSI七层模型:(从高到低)应用层表示层会话层传输层网络层数据链路层物理层2.TCP/IP四层网络模型:接入网层网间网络层传输层应用层3.IP地址:——32位的二进制表示,通常用4组8位二进制