初探计算机网络之TCP/IP网络协议

网络协议

​ 在计算机诞生以来,从最原始的单机模式到现在多台计算机协同工作,形成计算机网络,从前很难想象的信息共享、多机合作、大规模计算在今天也早已成了现实。在早期,计算机网络需要解决的痛点,就是怎样才能无障碍地发送和接受数据。而发送和接受数据的过程中,需要相关的协议来支撑,下面介绍下平时接触最多的协议TCP/IP协议。

TCP和IP

TCP(Transmission Control Protocol)的中文名称为传输控制协议,IP(Internet Protocol)的中文名称为互联网互联协议,除此之外,大家常见的还有HTTPHTTPSFTPSMTPUDP等等。因为TCP/IP是当前最为流行的网络传输协议框架,所以我们也将TCP/IP称为协议族。

TCP

TCP的分层框架图如下图所示,为了表示网络拓补图在连接层面上的机器对等理念,采用了A机器和B机器的说法。
TCP分层框架图
下面对图中所涉及到层进行简单的说明

  • 链路层:单个0、1是没有意义的,链路层是以字节为单位把0与1进行分组,定义数据帧,写入源和目标机器的物理地址、数据、校验位来传输数据。链表层报文结构如下:
    链路层报文结构
    MAC地址长6个字节共48位,通常使用十六进制数表示,我们可以在命令行窗口中输入ifconfig -a指令即可看到MAC地址。

  • 网络层:根据IP定义网络地址,区分网段。子网内根据地址解析协议(ARP)进行MAC寻址,子网外进行路由转发数据包。这个数据包也就是IP数据包

  • 传输层:数据包通过网络层发送到目标计算机后,应用程序在传输层定义逻辑端口,确认身份后,将数据包交给应用程序,实现端口到端口间通信。最典型的传输层协议是UDPTCPUDP只是在IP数据包上增加端口等部分信息,是面向无连接的,是属于不可靠的传输协议,常用于视频通信电话会议等等,因为这些应用场景就算少/丢一两帧数据影响也不会很大。与之相反,TCP面向连接的,所谓的面向连接,就是一种端到端之间通过不断地失败重试机制建立的可靠数据传输方式,如同一条固定的信息通道承载着数据的可靠传输。

  • 应用层:传输层的数据到达应用程序时,以某种统一规定的协议格式解读数据。比如,E-mail在每个公司的程序界面、操作、管理方式都不一样,但是都能读取到邮件的信息,这是因为邮件遵守了SMTP协议,该协议如同传统的书信格式,按规定填写邮政编码以及收件人信息。

小结

​ 程序在发送消息时,应用层按既定的协议打包数据,随后由传输层加上双方的端口号,由网络层加上双方的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值