图解TCP/IP 第二章 TCP/IP基础知识

笔记在有道云文章末尾分享链接,有需要的自行保存谢谢🙏

目录

TCP/IP规范——RFC

TCP/IP与OSI参考模型

1.硬件(物理层)

2.网络接口层(数据链路层)

3.互联网层(网络层)

4.传输层

5.应用层(会话层以上的分层)

TCP/IP分层模型与通信示例

数据包首部

1.应用处理

2.TCP模块处理

3.IP模块处理

4.网络接口(以太网驱动)的处理

经过数据链路的包

5.网络接口(以太网驱动)的处理

6.IP模块的处理

7.TCP模块处理

8.应用程序的处理


TCP/IP:网际协议族(网际 协议族(Internet Protocol Suite):组成网际协议的一组协议。) 。

TCP/IP规范——RFC

RFC(Request For Comment):从字面意义上看就是指 征求意见表,属于一种征求协议相关意见的文档。

RFC不仅记录了协议规范内容,还包含了协议的实现和运用的 相关信息(协议实现或运用相关的信息叫做FYI(For Your Information)。) ,以及实验方面的信息(实验阶段的协议称作 Experimental。) 。

RFC文档通过编号组织每个协议的标准化请求。

STD(Standard):用来记载哪个编号制定哪个协议。因此,同一个协议的规范内容即便发生了变化也不会导致STD 编号发生变化。

TCP/IP与OSI参考模型

1.硬件(物理层)

TCP/IP的最底层是负责数据传输的硬件。这种硬件就相当于以太网 或电话线路等物理层的设备。

2.网络接口层(数据链路层)

网络接口层(有时人们也将网络接口层与硬件层合并起来称作网络 通信层。) 利用以太网中的数据链路层进行通信,因此属于接口层。

3.互联网层(网络层)

互联网层使用IP协议,它相当于OSI模型中的第3层网络层。IP协议基于IP地址转发分包数据。

TCP/IP分层中的互联网层与传输层的功能通常由操作系统提供。尤 其是路由器,它必须得实现通过互联网层转发分组数据包的功能。

IP:IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP 协议使数据能够发送到地球的另一端,这期间它使用IP地址作为主机的 标识(连接IP网络的所有设备必须有自己唯一的识别号以便识别具体的 设备。分组数据在IP地址的基础上被发送到对端。) 。

ICMP:IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时, 需要给发送端发送一个发生异常的通知。ICMP就是为这一功能而制定 的。它有时也被用来诊断网络的健康状况。

ARP:从分组数据包的IP地址中解析出物理地址(MAC地址)的一种协 议。

4.传输层

传输层最主要的功能就是能够让应用程序之间实现通信。计算机内部,通常同一时间运行着多个程序。为此,必须分清是哪些程序与哪些程序在进行通信。识别这些应用程序的是端口号。

TCP:TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之 间的通信可达。TCP能够正确处理在传输过程中丢包、传输顺序乱掉等 异常情况。此外,TCP还能够有效利用带宽,缓解网络拥堵。

然而,为了建立与断开连接,有时它需要至少7次的发包收包,导 致网络流量的浪费。此外,为了提高网络的利用率,TCP协议中定义了 各种各样复杂的规范,因此不利于视频会议(音频、视频的数据量既 定)等场合使用。

UDP:UDP有别于TCP,它是一种面向无连接的传输层协议。UDP不会关 注对端是否真的收到了传送过去的数据,如果需要检查对端是否收到分 组数据包,或者对端是否连接到网络,则需要在应用程序中实现。

UDP常用于分组数据较少或多播、广播通信以及视频通信等多媒体 领域。

5.应用层(会话层以上的分层)

TCP/IP应用的架构绝大多数属于客户端/服务端模型。提供服务的 程序叫服务端,接受服务的程序叫客户端。在这种通信模式中,提供服 务的程序会预先被部署到主机上,等待接收任何时刻客户可能发送的请 求。

客户端可以随时发送请求给服务端。有时服务端可能会有处理异常、超出负载等情况,这时客户端可以在等待片刻后重发一次请求。

浏览器与服务端之间通信所用的协议是HTTP(HyperText Transfer Protocol)。所传输数据的主要格式是HTML(HyperText Markup Language)。WWW中的HTTP属于OSI应用层的协议,而HTML属于表 示层的协议

电子邮件其实就是指在网络上发送信件。有了电子邮件,不管距离 多远的人,只要连着互联网就可以相互发送邮件。发送电子邮件时用到 的协议叫做SMTP(Simple Mail Tranfer Protocol)。

文件传输是指将保存在其他计算机硬盘上的文件转移到本地的硬盘上,或将本地硬盘的文件传送到其他机器硬盘上的意思。该过程使用的协议叫做FTP(File Transfer Prototol)。

在FTP中进行文件传输时会建立两个TCP连接,分别是发出传输请 求时所要用到的控制连接与实际传输数据时所要用到的数据连接(这两 种连接的控制管理属于会话层的功能。) 。

远程登录是指登录到远程的计算机上,使那台计算机上的程序得以 运行的一种功能。TCP/IP网络中远程登录常用 TELNET(TELetypewriter NETwork的缩写。有时也称作默认协议。) 和SSH(SSH是Secure SHell的缩写。) 两种协议。

在TCP/IP中进行网络管理时,采用SNMP(Simple Network Management Protocol)协议。使用SNMP管理的主机、网桥、路由器等 称作SNMP代理(Agent),而进行管理的那一段叫做管理器 (Manager)。SNMP正是这个Manager与Agent所要用到的协议。

TCP/IP分层模型与通信示例

数据包首部

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包 含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为 协议提供的信息为包首部,所要发送的内容为数据。

网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上层传过来的数据。首部的结构由协议的具体规范详细定义。

1.应用处理

启动应用程序新建邮件,将收件人邮箱填好,再由键盘输入邮件内容“早上好”,鼠标点击“发送”按钮就可以开始TCP/IP的通信了。 首先,应用程序中会进行编码处理。应用在发送邮件的那一刻建立TCP连接,从而利用这个TCP连接发 送数据。它的过程首先是将应用的数据发送给下一层的TCP,再做实际 的转发处理。

2.TCP模块处理

TCP根据应用的指示(这种关于连接的指示相当于OSI参考模型中 的会话层。) ,负责建立连接、发送数据以及断开连接。TCP提供将应 用层发来的数据顺利发送至对端的可靠传输。

为了实现TCP的这一功能,需要在应用层数据的前端附加一个TCP 首部。TCP首部中包括源端口号和目标端口号(用以识别发送主机跟接 收主机上的应用)、序号(用以发送的包中哪部分是数据)以及校验和 (Check Sum,用来检验数据的读取是否正常进行的方法。) (用以判 断数据是否被损坏)。随后将附加了TCP首部的包再发送给IP。

3.IP模块处理

IP将TCP传过来的TCP首部和TCP数据合起来当做自己的数据,并 在TCP首部的前端在加上自己的IP首部。

如果尚不知道接收端的MAC地址,可以利用ARP(Address Resolution Protocol)查找。只要知道了对端的MAC地址,就可以将 MAC地址和IP地址交给以太网的驱动程序,实现数据传输。

4.网络接口(以太网驱动)的处理

从IP传过来的IP包,对于以太网驱动来说不过就是数据。给这数据 附加上以太网首部并进行发送处理。以太网首部中包含接收端MAC地 址、发送端MAC地址以及标志以太网类型的以太网数据的协议。

经过数据链路的包

每个包首部中至少都会包含两个信息:一个是发送端和接收端地址,另一个是上一层的协议类型。

经过每个协议分层时,都必须有识别包发送端和接收端的信息。以 太网会用MAC地址,IP会用IP地址,而TCP/UDP则会用端口号作为识别 两端主机的地址。

此外,每个分层的包首部中还包含一个识别位,它是用来标识上一 层协议的种类信息。例如以太网的包首部中的以太网类型,IP中的协议类型以及TCP/UDP中两个端口的端口号等都起着识别协议类型的作用。 就是在应用的首部信息中,有时也会包含一个用来识别其数据类型的标 签。

5.网络接口(以太网驱动)的处理

主机收到以太网包以后,首先从以太网的包首部找到MAC地址判 断是否为发给自己的包。如果不是发给自己的包则丢弃数据(很多NIC 产品可以设置为即使不是发给自己的包也不丢弃数据。这可以用于监控 网络流量。) 。

而如果接收到了恰好是发给自己的包,就查找以太网包首部中的类 型域从而确定以太网协议所传送过来的数据类型。总之,如果以太网包 首部的类型域包含了一个无法识别的协议类型,则丢弃数据。

6.IP模块的处理

IP模块收到IP包首部及后面的数据部分以后,也做类似的处理。如 果判断得出包首部中的IP地址与自己的IP地址匹配,则可接收数据并从 中查找上一层的协议。

7.TCP模块处理

TCP模块中,首先会计算一下校验和,判断数据是否被破坏。然 后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程 序。

数据接收完毕后,接收端则发送一个“确认回执”给发送端。如果这 个回执信息未能达到发送端,那么发送端会认为接收端没有接收到数据 而一直反复发送。

数据被完整地接收以后,会传给由端口号识别的应用程序。

8.应用程序的处理

接收端应用程序会直接接收发送端发送的数据。通过解析数据可以 获知邮件的收件人地址是乙的地址。如果主机B上没有乙的邮件信箱, 那么主机B返回给发送端一个“无此收件地址”的报错信息。

链接:有道云笔记

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值