数据进入协议栈时的封装过程
- 以太网首部14字节,尾部4字节,共18字节
- IP首部20字节
- TCP首部20字节
- UDP首部8字节
- IP首部有8bit长度的协议域,1表示为ICMP协议, 2表示为IGMP协议, 6表示为TCP协议, 17表示为UDP协议
- TCP和UDP都有1个16bit的端口号来表示不同的应用程序,并分别在报文首部保存源端口号和目的端口号
- 以太网帧首部有16bit的类型域来指明生成数据的网络层协议
以太网数据帧的分用(解封装)过程
知名端口号由Internet号分配机构(Internet Assigned Numbers Authority, IANA)管理,任何TCP/IP实现所提供的服务都用知名的1~1 0 2 3之间的端口号。
FTP ---> 21
Telnet ---> 23
TFTP ---> 69
HTTP ---> 80
HTTPS ---> 443
RTSP ---> 554
SOCKS ---> 1080
SSH ---> 22
客户端通常并不关心它所使用的端口号,只需保证该端口号在本机上唯一即可,客户端口号通常又称作临时端口号,通常只有在运行客户程序时才存在。大多数TCP/IP给临时端口分配1024~5000之间的端口号,大于5000的端口号是为其他服务器预留的。
- Internet协会(ISOC,Internet Society)是一个推动、支持和促进Internet不断增长和发展的专业组织,它把Internet作为全球研究通信的基础设施。
- Internet体系结构委员会(IAB,Internet Architecture Board)是一个技术监督和协调的机构。它由国际上来自不同专业的15个志愿者组成,其职能是负责Internet标准的最后编辑和技术审核。IAB隶属于ISOC。
- Internet工程专门小组(IETF,Internet Engineering Task Force)是一个面向近期标准的组织,它分为9个领域(应用、寻径和寻址、安全等等)。IETF开发成为Internet标准的规范。为帮助IETF主席,又成立了Internet工程指导小组(IESG, Internet Engineering Steering Group)。
- Internet研究专门小组(IRIF,Internet Research Task Force)主要对长远的项目进行研究。
IRTF和IETF都隶属于IAB。
所有关于Internet的正式标准都以RFC(Request for Comment)文档出版。
可以通过“https://www.rfc-editor.org/” 查询RFC文档。
- 比较重要的RFC文档:
RFC1700,赋值RFC(Assigned Numbers RFC)列出了所有Internet协议中使用的数字和常数。
RFC1610,描述了各种Internet协议的标准化现状。每种协议都处于下面几种标准化状态之一:标准、草案标准、提议标准、实验标准、信息标准和历史标准。
RFC1122针对链路层、网络层和运输层;RFC1123针对应用层。这两个RFC对早期重要的RFC文档作了大量的纠正和解释。
RFC1812,路由器需求RFC。
不同的BSD(Berkeley Software Distribution)版本及其重要的TCP/IP特性
TCP/IP协议的应用程序通常采用两种编程接口API和TLI(Transport Layer Interface)