我是靠谱客的博主 羞涩硬币,最近开发中收集的这篇文章主要介绍TCP/IP初学习(基础介绍),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

协议分层

最开始学习的时候是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初学习(基础介绍)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部