概述
协议分层
最开始学习的时候是4层协议,之后网上很多文章就将TCP/IP协议转变为5层了。
名称 | 功能 | 协议 |
---|---|---|
应用层(application) | 文件传输 | NFS FTP DNS |
传输层(Transport) | 提供端对端的接口 | TCP UDP |
网络层(Network) | 为数据包选择路由 | TCMP IP ARP RARP |
数据链路层(Data link) | 传输有地址的帧 | PPP SLP MTU |
物理层(phy) | 二进制传输数据 | IEEE 802.1A |
数据包
- 包、帧、数据包、段、消息
- 包可以说是全能性术语;
- 帧用于表示数据链路层中包的单位;
- 数据包是 IP 和 UDP 等网络层以上的分层中包的单位;
- 段则表示 TCP 数据流中的信息;
- 消息是指应用协议中数据的单位。
TCP/IP传输数据是层层分包。经过一层加上一层数据。到达目的地以后层层解包。直至到达想要的目的地。
现在更多的是关于IP包以及TCP包的分析。以后应该会深入的分析这些。现在还是先学习基础吧。 传输层解析一个包的时候就是将传输层包首部拿出来解析,以判断是TCP包还是UDP包。数据流传输
* 传输层加上TCP的数据包,在这里指定端口。源端口以及目的端口
* 网络层加上IP包。在这里指定源IP地址以及目的IP地址。
* 链路层加上以太网包。在这里指定MAC地址(6字节 48位)
复制代码
传输层中的 TCP 和 UDP
TCP分析
Transmission Control Protocol传输可控制协议。可控、可靠。 是面向连接的、可靠的流协议。流就是指不间断的数据结构,
三次握手协议
TCP协议的特点主要有:
- 建立连接、形成传输数据的通道
- 数据大小不受限制
- 三次握手来实现连接、是一种可靠的、安全的协议
- TCP的握手环节、需要实现3次连接、4次断开
UCP分析
User Datagram Protocol用户数据报协议,不可靠 一种无连接的、提供面向事务的简单、不可靠信息传送服务的协议。 UDP协议的特点主要有:
- 只负责数据的发送
- 将数据信息封装在数据包中、不需要建立连接
- 每个数据包的大小限制在64K以内
- 传输速度快
端口号分析
前文已经提到过MAC地址在链路层加上的以太网首部中的。 IP地址由网络层加上的IP首部中的。 那么传输层中的地址就被称为端口。端口是用来识别同一台计算机进行通信的不同应用程序。因此被称为程序地址
根据端口号识别应用
传输协议利用端口识别本机中正在运行的程序。
利用IP地址确定主机后。将会端口号确定什么对应的程序。通过 IP 地址、端口号、协议号进行通信识别
①中的数据可以查看到客户端A源端口与以及目标端口。 通讯由IP地址指定目标主机,由端口指定目标程序。 至于MAC的地址,会在后面提到。暂时先跳过。端口号确定
未通讯之前怎么知道那个端口是哪个应用?
- 0~1023端口是固定的。知名端口列表。
- 1024~49151端口虽然已经注册。但是可以自用。问题不大。
- 49152~65535端口该段端口属于“动态端口”范围,没有端口可以被正式地注册占用。
端口号与协议
- 端口号由其使用的传输层协议决定。因此,不同的传输层协议可以使用相同的端口号
- 此外,那些知名端口号与传输层协议并无关系。只要端口一致都将分配同一种应用程序进行处理。
- 下一章TCP/IP协议 TCP浅析
参考资料
https://www.jianshu.com/p/9368c47bea22
https://juejin.im/post/5a069b6d51882509e5432656
https://blog.csdn.net/lg2lh/article/details/51257751
复制代码
转载于:https://juejin.im/post/5c8908ee6fb9a049b507acd8
最后
以上就是羞涩硬币为你收集整理的TCP/IP初学习(基础介绍)的全部内容,希望文章能够帮你解决TCP/IP初学习(基础介绍)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复