TCP/IP协议

目录

引入

IP协议

TCP协议(传输控制协议)

一,计算机通信过程

二,什么是协议

三, 各层协议

1,应用层协议

2,传输层协议

3,网络层协议

4,数据链路协议

5,物理层协议

四,TCP/IP协议栈

1,概览

2,TCP UDP应用场景


引入

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。
常见的协议有:TCP/IP协议、IPX/SPX协议、NetBEUI协议 等。
TCP/IP协议 毫无疑问是这三大协议中最重要的一个,作为互联网的基础协议,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。

TCP/IP协议是一个协议集合。 互联网协议是一个网络通信模型,以及一整个网络传输协议家族,为互联网的基础通信架构。它常被通称为TCP/IP协议族,简称TCP/IP。因为该协议家族的两个核心协议:TCP(传输控制协议)和IP(网际协议),为该家族中最早通过的标准。

IP协议

规定网络地址的协议。它所定义的地址,就被称为IP地址。
IP实现两个基本功能:寻址和分段。IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

TCP协议(传输控制协议)

UDP协议的优点是比较简单,容易实现,但是缺点是可靠性较差,一旦数据包发出,无法知道对方是否收到。为了解决这个问题,提高网络可靠性,TCP协议就诞生了。

为了确保信息能够确保准确无误的到达,TCP采用了著名的三次握手策略,三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

IP协议是找到对方的详细地址,TCP协议是把安全的把数据传输给对方。

一,计算机通信过程

计算机通信就是计算机程序的通信

让文件实现可靠传输

e833b9d6648642f8bb2f4cae4c03eb7c.png

发送端:分段,编号,按序发送,自动重发(如果没有等到确认)

接收端:排序,确认

9236e57e81e24c4084ce49bc4f67577d.png

  • 应用层:原始数据单位为数据(data)
  • 传输层:经过传输层处理后单位变为段
  • 网络层:将分段添加地址后称为数据包
  • 数据链路层:数据包添加Mac地址后称为帧(不同链路有不同协议,因此有不同帧格式)
  • 物理层:转为比特流

Mac地址决定数据经链路发送后下一站的接收位置

IP地址决定数据最终到达的计算机

总结:TCP/IP协议把计算机通信分层

  1. 应用程序发送文件,接收文件
  2. 分段进行可靠传输
  3. 网络中的路由器为数据包选择转发路径
  4. 数据链路上的转发,不同链路有不同协议(不同帧格式)
  5. 要把传输的二进制数据根据介质转换成各种信号如:光,电(数字,模拟)无线电波

二,什么是协议

1,签协议的目的

避免纠纷,使双方或多方对协议中的条款达成一致

2,协议内容

协议对象,协议类型,协议条款,认可证明

3,计算机协议:定义了两个或多个通信实体之间交换报文的格式和次序,以及收发报文或者其他事件上所采取的行动。

对于计算机来说协议就是指在Internet中实现通信所需要的一些约定。简单来说就是控制收发消息的。常见的协议有TCP,HTTP等。信号的传输总要符合一定的协议,协议的层次即根据不同需要分层对某一过程进行规则限制。。

对于计算机网络而言,我们的重点就是在学习一些常用的协议。

协议有3个重要的要素

语法:报文格式

语义:各个字段的含义

同步:报文传输的先后顺序

一个协议必须具备这3个要素,否则将无法完成通信。

d2dfaef2fc1f49afb01fcf76cbb4a5a9.png

三, 各层协议

1,应用层协议

(双方协议,服务端程序-接收端程序)

计算机通信实际上就是计算机应用程序(服务端程序,客户端程序)之间的通信

分为私有的应用层协议,国际标准化组织定义的开放式应用层协议

开放式应用层协议的作用:

不同的厂家开发的服务端程序和客户端程序能够相互通信,相互兼容

应用:访问网站(HTTP),接发电子邮件(SMTP,POP3),域名解析(DNS),文件传输(FTP)..

982f3588490d48aead484baf4eea8c57.png

 e08f84a8fc194acaa95884ee3a9e486f.png

2,传输层协议

(双方协议,发送端-接收端)

c5c4787e342e4f3fbf22b1ecf821f445.png

使得网络不同操作系统能够实现可靠传输,传输层的一个重要工作是差错校验和重传。包在网络传输中可能出现错误,也可能出现乱序、丢失等情况,传输层必须能检测并更正这些错误。一个数据流中的包在网络中传递时如果通过不同的路径到达目的,就可能造成到达顺序的改变。接收方的传输层应该可以识别出包的顺序,并且在将这些包的内容传递给会话层之前将它们恢复成发送时的顺序。接收方传输层不仅要对数据包重新排序,还需验证所有的包是否都已被收到。如果出现错误和丢失,接收方必,须请求对方重新传送丢失的包。 传输层协议就是传输层首部

传输层协议和应用层协议的关系

传输层协议添加端口就可以标识应用层协议。应用层协议代表着服务器上的服务,服务器上的服务如果对客户端提供服务,必须在TCP或UDP端口侦听客户端的请求。

3,网络层协议

多方协议,发送端-接收端-网络中的路由器)

abba0bae339e49cc87b544a61f840419.png

网络层协议的标准化使得数据包能够经过不同操作系统及不同厂家的路由器转发

4,数据链路协议

(同一链路中设备必须遵守的协议)

f22df3d89a354a33a55d8bfe9251dfe4.png

为网络层提供服务,使得同一链路中的设备能够相互通信,如以太网中的不同厂家的网卡都能识别以太网帧

5,物理层协议

包括物理设备接口标准,编码方式,带宽等

同一链路中设备必须遵守的协议使得不同厂家的设备接口能够连接且信号理解一致

四,TCP/IP协议栈

1,概览

58f0a5a930c94d03ada6ecb8be9e8fac.png

底层为高层提供服务

2,TCP UDP应用场景

tcp(传输控制协议,可靠传输)

  • 应用程序发送的文件大,需要分段传输
  • 丢包,乱序,网络不畅,接收端处理效率低
  • 通过确认,排序,拥塞控制,使用滑动窗口机制来进行流量控制,建立连接(接收缓存大小)实现可靠传输

udp(用户报文协议,不可靠传输)

  • 应用程序发送的文件小,一个数据包即可完成
  • 域名解析,网络聊天,实时通讯,广播通信

1) TCP提供面向连接的传输,通信前要先建立连接(三次握手机制); UDP提供无连接的传输,通信前不需要建立连接。
2) TCP提供可靠的传输(有序,无差错,不丢失,不重复); UDP提供不可靠的传输。
3) TCP面向字节流的传输,因此它能将信息分割成组,并在接收端将其重组; UDP是面向数据报的传输,没有分组开销。
4) TCP提供拥塞控制和流量控制机制; UDP不提供拥塞控制和流量控制机制。

SUM

TCP与UDP的优缺点无法简单地、绝对地去做比较。
TCP用于在传输层有必要实现可靠传输的情况。
UDP主要用于那些对高速传输和实时性有较高要求的通信或广播通信。
在多播与广播通信中也使用UDP而不是TCP。
TCP和UDP应该根据应用的目的按需使用 。

用浏览网页为例:
发送方:
1.输入网址:www.baidu.com,按了回车键,电脑使用应用层用IE浏览器将数据从80端口发出,给了下一层协议——传输层。
2.传输层将数据前面加上了TCP标记,标记这是80端口发出的,将这个数据段给了下一层——网络层。
3.网络层在使这个数据段前面加上了自己机器的IP和目的IP,这时这个段被称为IP数据包(也可以称为报文),然后将这个IP包给了下一层协议——网络接口层。
4.网络接口层网络接口层先将IP数据包前面加上自己机器的MAC地址,以及目的MAC地址,这时加上MAC地址的数据称为帧,网络接口层最后用对应的物理设备——网卡,将这个帧以比特流的方式发送到网络上。

互联网上有路由器,它会读取比特流中的IP地址进行选路,到达正确的网段,之后这个网段的交换机读取比特流中的MAC地址,找到对应要接收的机器。

接收方:
1.网络接口层用网卡接收到了比特流,读取比特流中的帧,将帧中的MAC地址去掉,就成了IP数据包,传递给了上一层网络层。
2.网络层接收了下层传上来的IP数据包,将IP从包的前面拿掉,取出带有TCP的数据(数据段)交给了传输层。
3.传输层拿到了这个数据段,看到TCP标记的是80端口发送的,那就是HTTP协议,之后将TCP头去掉并将数据交给应用层,告诉应用层对方要求的是HTTP的数据。
4.应用层知道了这个是发送方以端口80发送过来的数据,知道TCP端口80是HTTP协议,要用IE来回复,所以将www.baidu.com的网址按照发送方的方式发送回去。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vⅤ_Leon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值